Unhandled exception in event loop when axis are disabled
Got that today at BM05
sz
and yrot
are disabled.
HRTOMO [2]: wa()
Current Positions: user
dial
srot[deg] sz[mm] yrot[mm] sx[mm] sy[mm] beny benz twfocus[mm] twbjsel[mm]
----------- -------- ---------- -------- -------- -------- ------- ------------- -------------
-731.4494 *DIS* *DIS* -6.6480 -6.7090 149.4100 23.9951 0.0024 1.9682
731.4494 *DIS* *DIS* 6.6480 6.7090 150.0012 3.2999 -34.1728 -1511.6412
In this case there is no way to reach anything from the axis, including it's state
or it's info
.
And this fail with an unhandled exception, which is even wrong.
HRTOMO [8]: sz.state
Unhandled exception in event loop:
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/input/vt100.py", line 162, in callback_wrapper
callback()
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/application/application.py", line 714, in read_from_input_in_context
context.copy().run(read_from_input)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/application/application.py", line 694, in read_from_input
self.key_processor.process_keys()
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_processor.py", line 272, in process_keys
self._process_coroutine.send(key_press)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_processor.py", line 187, in _process
self._call_handler(matches[-1], key_sequence=buffer[:])
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_processor.py", line 322, in _call_handler
handler.call(event)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_bindings.py", line 126, in call
result = self.handler(event)
File "/home/blissadm/local/bliss.git/bliss/shell/cli/typing_helper.py", line 160, in _
and not self._check_callable(repl, event)
File "/home/blissadm/local/bliss.git/bliss/shell/cli/typing_helper.py", line 263, in _check_callable
return callable(get_obj_from_text(text, ns))
File "/home/blissadm/local/bliss.git/bliss/shell/cli/typing_helper.py", line 37, in get_obj_from_text
if hasattr(obj, subtext):
File "/home/blissadm/local/bliss.git/bliss/common/proxy.py", line 201, in __getattr__
return getattr(self.__wrapped__, name)
File "/home/blissadm/local/bliss.git/bliss/common/axis.py", line 652, in func_wrapper
raise RuntimeError(f"Axis {self.name} is disabled")
Exception Axis hrsz is disabled
HRTOMO [8]: sz.position
Unhandled exception in event loop:
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/application/application.py", line 714, in read_from_input_in_context
context.copy().run(read_from_input)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/application/application.py", line 694, in read_from_input
self.key_processor.process_keys()
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_processor.py", line 272, in process_keys
self._process_coroutine.send(key_press)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_processor.py", line 187, in _process
self._call_handler(matches[-1], key_sequence=buffer[:])
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_processor.py", line 322, in _call_handler
handler.call(event)
File "/opt/bliss/conda/miniconda/envs/bliss_dev/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_bindings.py", line 126, in call
result = self.handler(event)
File "/home/blissadm/local/bliss.git/bliss/shell/cli/typing_helper.py", line 160, in _
and not self._check_callable(repl, event)
File "/home/blissadm/local/bliss.git/bliss/shell/cli/typing_helper.py", line 263, in _check_callable
return callable(get_obj_from_text(text, ns))
File "/home/blissadm/local/bliss.git/bliss/shell/cli/typing_helper.py", line 37, in get_obj_from_text
if hasattr(obj, subtext):
File "/home/blissadm/local/bliss.git/bliss/common/proxy.py", line 201, in __getattr__
return getattr(self.__wrapped__, name)
File "/home/blissadm/local/bliss.git/bliss/common/axis.py", line 652, in func_wrapper
raise RuntimeError(f"Axis {self.name} is disabled")
Exception Axis hrsz is disabled
Sounds like it's because of an exception occurred during the initialize_hardware_axis
of a controller.
It could be nice to see why such exception are not properly handled by the shell.
Edited by Valentin Valls