You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Methods of remote qudi modules that take any kind of arguments cannot be called if the flag force_remote_calls_by_value: True is set in the client's config file. See below for the error message.
When does the bug occur?
Every time a method of a remote qudi is called which takes an argument.
How do we replicate the issue?
Configure a qudi instance to act as a server and expose e.g. a data instream dummy. Then configure a client and try calling methods of the data instream dummy. Methods that don't take arguments like start_stream() should work, while read_data() does not.
I also added a very simple test method which takes an argument and then returns it. This also doesn't work, from which I conclude that this is a qudi-core issue and not specific to the instreamer.
Expected behavior
The method of the remote module should work as if it was a local module.
Relevant log output
Traceback (most recent call last):
File "C:\Software\qudi\qudi-env\lib\site-packages\rpyc\core\protocol.py", line 359, in _dispatch_request
res = self._HANDLERS[handler](self, *args)
File "C:\Software\qudi\qudi-env\lib\site-packages\rpyc\core\protocol.py", line 853, in _handle_getattr
return self._access_attr(obj, name, (), "_rpyc_getattr", "allow_getattr", getattr)
File "C:\Software\qudi\qudi-env\lib\site-packages\rpyc\core\protocol.py", line 781, in _access_attr
return accessor(obj, name, *args)
File "C:\Software\qudi\qudi-env\lib\site-packages\qudi\core\services.py", line 245, in __getattribute__
def wrapped(*args, **kwargs):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\functools.py", line 56, in update_wrapper
setattr(wrapper, attr, value)
TypeError: __annotations__ must be set to a dict object
Version
Release v1.4.1
What is affected by the bug?
Methods of remote qudi modules that take any kind of arguments cannot be called if the flag
force_remote_calls_by_value: True
is set in the client's config file. See below for the error message.When does the bug occur?
Every time a method of a remote qudi is called which takes an argument.
How do we replicate the issue?
Configure a qudi instance to act as a server and expose e.g. a data instream dummy. Then configure a client and try calling methods of the data instream dummy. Methods that don't take arguments like
start_stream()
should work, whileread_data()
does not.I also added a very simple test method which takes an argument and then returns it. This also doesn't work, from which I conclude that this is a qudi-core issue and not specific to the instreamer.
Expected behavior
The method of the remote module should work as if it was a local module.
Relevant log output
Additional Comments
I first believed this to be specific to the instreamer and therefore raised this issue in qudi-iqo-modules.
Contact Details
No response
The text was updated successfully, but these errors were encountered: