Open qku opened 3 days ago
I seems like the underlying issue is know for rpyc and is described here: https://github.com/tomerfiliba-org/rpyc/issues/355
Here you can clearly see the different behaviour from the IPython console:
with rpyc 5.3.1
dummy = instream_dummy
dummy.__class__
Out[2]: <class 'qudi.hardware.dummy.data_instream_dummy.InStreamDummy'>
type(dummy)
Out[3]: <netref class 'rpyc.core.netref.qudi.hardware.dummy.data_instream_dummy.InStreamDummy'>
dummy.__class__.mro()
Out[4]: [<class 'qudi.hardware.dummy.data_instream_dummy.InStreamDummy'>, <class 'qudi.interface.data_instream_interface.DataInStreamInterface'>, <class 'qudi.core.module.Base'>, <class 'PySide2.QtCore.QObject'>, <class 'Shiboken.Object'>, <class 'object'>]
with rpyc 6.0.1
dummy = instream_dummy
dummy.__class__
Out[2]: <class 'module'>
type(dummy)
Out[3]: <netref class 'rpyc.core.netref.qudi.hardware.dummy.data_instream_dummy.InStreamDummy'>
dummy.__class__.mro()
Out[4]: [<class 'module'>, <class 'object'>]
Interestingly, the type method seems to yield a usable result to check for connector compatibility!
Version
Development
What is affected by the bug?
Local modules cannot connect to remote modules (e.g. local logic module to remote hardware module).
When does the bug occur?
Upon loading a module which connect to a remote module.
For me, this bug only occurs with rpyc version 6. It does not occur for rpyc 5.3.1
How do we replicate the issue?
Expected behavior
Load the logic module without errors
Relevant log output
Additional Comments
No response