Closed philipstarkey closed 6 years ago
Original comment by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).
Looks like the exception string is the wrong datatype on Python 3. Could you try changing the offending line to:
zprocess.zmq_push_multipart(stream_port, data=['stderr', error.encode('utf8')])
with the error string getting encoded to bytes?
Original comment by Jan Werkmann (Bitbucket: PhyNerd, GitHub: PhyNerd).
Ok so I found the bug. zprocess.zmq_push_multipart calls _typecheck_or_convert_data. This function checks that all items in the list 'data' are of type bytes. However this will not be the case in python3 for all strings that don't have a bytes literal in front of them. So the fix would be:
#!python
zprocess.zmq_push_multipart(stream_port, data=[b'stderr', error.encode('utf8')])
Should I create a pull request over at runmanager or should we fix this in zprocess.?
Original comment by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).
Excellent!
I consider this a runmanager bug, zprocess is doing the intended error checking and I don't think I want it to auto encode, though its error could be made more useful by saying the type of the element in the list instead of just 'list'. But I'll deal with that separately.
Original report (archived issue) by Jan Werkmann (Bitbucket: PhyNerd, GitHub: PhyNerd).
There is a exception in BLACS when one of the globals files is missing during recompilation of the connection table. This exception does not make its cause obvious: