Skip to content

Server exceptions generate unicode error #354

@jeffdotthompson

Description

@jeffdotthompson

We recently set up labrad on a new computer (Win10, Anaconda python environment, py 2.7.15) and our servers are behaving strangely. In particular, whenever a server raises an exception, the client sees the following exception:

cam.acquireSingle(r'I:\thompsonlab\AMO\Daily\1808\180824\test\test.png')
Traceback (most recent call last):
File "", line 1, in
File "C:\ProgramData\Anaconda2\lib\site-packages\labrad\client.py", line 65, in call
return f.result() if wait else f
File "C:\ProgramData\Anaconda2\lib\site-packages\concurrent\futures_base.py", line 462, in result
return self.__get_result()
File "C:\ProgramData\Anaconda2\lib\site-packages\concurrent\futures_base.py", line 414, in __get_result
raise exception_type, self._exception, self._traceback
labrad.types.types.Error: (0) TypeError("'unicode' does not have the buffer interface",) [payload=None]

It is always a unicode error, regardless of the exception raised by the underlying server function.

A workaround that we discovered is to set sendTracebacks=False in the server. This works fine.

However, we have not figured out the origin of the issue, or why it does not occur on any of our other computers. Since it appears that twisted is heavily involved in this, we tried downgrading from 18.7.0 to 17.1.0 (which is in use elsewhere in our lab), but this did not change anything.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions