@borjasotomayor
Several students came to office hours with the error reported in https://piazza.com/class/im57kwtezvv35m
Since we haven't been able to reproduce, I'd like to offer them a new version to run which might help us track down the error.
I think that what's happening is that pyZMQ's zmq.eventloop.future.Socket.recv_multipart method is actually packing multiple messages together in its result, and handing that to the callback.
I think the fix might be to assert that len(msg_frames) % 3 == 0, and then unpack it 3 parts at a time.
My commit message has details on the change itself.
@borjasotomayor Several students came to office hours with the error reported in https://piazza.com/class/im57kwtezvv35m Since we haven't been able to reproduce, I'd like to offer them a new version to run which might help us track down the error.
I think that what's happening is that pyZMQ's
zmq.eventloop.future.Socket.recv_multipart
method is actually packing multiple messages together in its result, and handing that to the callback. I think the fix might be to assert thatlen(msg_frames) % 3 == 0
, and then unpack it 3 parts at a time.My commit message has details on the change itself.