Python 3.5 is pickier about the distinction between chars and bytes (and strings and bytearrays) than Python 2.7.
The call to ack_bytes.append(chr(42)) was causing a type error to be thrown (during init, so we didn't see a proper stack trace).
I've used the b'*' syntax which creates a bytearray in Python 3 and a plain string in Python 2. I believe this should work in Python 2, but I'm not in a position to test that. If you want to try patching this in to your build to be sure, it would be appreciated.