Version
Development
What is affected by the bug?
Reloading or deactivating of a remote (hardware) module on the client side results in errors.
This means remote (hardware) modules cannot be reloaded or deactivated on the client side which translates to also "reload configuration" not working on the client when remote modules are configured.
When does the bug occur?
Reloading of a remote (hardware) module on the client side causes an AttributeError while trying to stop the poll timer (see Error trace below) of the manager which in turn means also "reload current configuration" is not working.
After pressing reload, the remote module is still listed as "idle", hence active in the manager GUI of the client side. Also the remote module seems to be still accessible afterwards.
How do we replicate the issue?
- Set up a remote module i.e. a simple switch_dummy with which I tested it (did only use the
SwitchDummy, not the SwitchInterfuse) on one machine (Win10)
- Connecting to the remote module from another machine (Win10)
- Pressing "Reload" or "Deactivate" on the client machine
Expected behavior
Module reloads or deactivates without causing the error and breaking functionality, such as reloading qudi.
Relevant log output
_get_exception_class.<locals>.Derived: Failed to disconnect signal sigStateChanged(PyObject).
========= Remote Traceback (1) =========
Traceback (most recent call last):
File "C:\Anaconda3\envs\qudi-env\lib\site-packages\rpyc\core\protocol.py", line 324, in _dispatch_request
res = self._HANDLERS[handler](self, *args)
File "C:\Anaconda3\envs\qudi-env\lib\site-packages\rpyc\core\protocol.py", line 609, in _handle_call
return obj(*args, **dict(kwargs))
RuntimeError: Failed to disconnect signal sigStateChanged(PyObject).
Traceback (most recent call last):
File "C:\Users\LukasAntoniuk\PycharmProjects\qudi-core\src\qudi\core\modulemanager.py", line 601, in deactivate
self.__poll_timer.stop()
AttributeError: 'NoneType' object has no attribute 'stop'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\LukasAntoniuk\PycharmProjects\qudi-core\src\qudi\core\modulemanager.py", line 208, in deactivate_module
self._modules[module_name].deactivate()
File "C:\Users\LukasAntoniuk\PycharmProjects\qudi-core\src\qudi\core\modulemanager.py", line 604, in deactivate
self._instance.module_state.sigStateChanged.disconnect(self._state_change_callback)
File "C:\ProgramData\Anaconda3\envs\qudi-env\lib\site-packages\rpyc\core\netref.py", line 240, in __call__
return syncreq(_self, consts.HANDLE_CALL, args, kwargs)
File "C:\ProgramData\Anaconda3\envs\qudi-env\lib\site-packages\rpyc\core\netref.py", line 63, in syncreq
return conn.sync_request(handler, proxy, *args)
File "C:\ProgramData\Anaconda3\envs\qudi-env\lib\site-packages\rpyc\core\protocol.py", line 490, in sync_request
return _async_res.value
File "C:\ProgramData\Anaconda3\envs\qudi-env\lib\site-packages\rpyc\core\async_.py", line 108, in value
raise self._obj
Additional Comments
Did test with up do date development version of qudi-core and qudi-iqo-modules, as well as freshly updated packages on host and client. Can provide package versions if required.
Contact Details
lukas.antoniuk@uni-ulm.de
Version
Development
What is affected by the bug?
Reloading or deactivating of a remote (hardware) module on the client side results in errors.
This means remote (hardware) modules cannot be reloaded or deactivated on the client side which translates to also "reload configuration" not working on the client when remote modules are configured.
When does the bug occur?
Reloading of a remote (hardware) module on the client side causes an
AttributeErrorwhile trying to stop the poll timer (see Error trace below) of the manager which in turn means also "reload current configuration" is not working.After pressing reload, the remote module is still listed as "idle", hence active in the manager GUI of the client side. Also the remote module seems to be still accessible afterwards.
How do we replicate the issue?
SwitchDummy, not theSwitchInterfuse) on one machine (Win10)Expected behavior
Module reloads or deactivates without causing the error and breaking functionality, such as reloading qudi.
Relevant log output
Additional Comments
Did test with up do date development version of qudi-core and qudi-iqo-modules, as well as freshly updated packages on host and client. Can provide package versions if required.
Contact Details
lukas.antoniuk@uni-ulm.de