Fail to sync axis during expcetion capture of a scan prepare
Here is a trace during a tiling acquisition from BLISS 1.10 at ID19.
Sounds like during expcetion clean up sync_hard
is called but the axis was about to be moving.
This creates an extra exception which is maybe not needed.
Traceback (most recent call last):
File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 549, in acq_prepare
return self.prepare()
File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/motor.py", line 612, in prepare
self.device.move(*self.next_mv_cmd_arg)
File "/users/blissadm/local/bliss.git/bliss/common/motor_group.py", line 230, in move
polling_time=polling_time,
File "/users/blissadm/local/bliss.git/bliss/common/axis.py", line 182, in move
self.wait()
File "/users/blissadm/local/bliss.git/bliss/common/axis.py", line 189, in wait
self.stop()
File "/users/blissadm/local/bliss.git/bliss/common/axis.py", line 198, in stop
self._move_task.get()
File "/users/blissadm/local/bliss.git/bliss/common/greenlet_utils/killmask.py", line 197, in get
return super().get(*args, **keys)
File "src/gevent/greenlet.py", line 831, in gevent._gevent_cgreenlet.Greenlet.get
File "src/gevent/greenlet.py", line 373, in gevent._gevent_cgreenlet.Greenlet._raise_exception
File "/users/blissadm/conda/miniconda/envs/daiquiri/lib/python3.7/site-packages/gevent/_compat.py", line 66, in reraise
raise value.with_traceback(tb)
File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/common/axis.py", line 420, in _move
hook.post_move(motions)
File "/users/blissadm/conda/miniconda/envs/daiquiri/lib/python3.7/contextlib.py", line 119, in __exit__
next(self.gen)
File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 290, in capture_exceptions
raise value
File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 266, in capture
yield
File "/users/blissadm/local/bliss.git/bliss/common/axis.py", line 393, in _move
event.send(motion.axis, "sync_hard")
File "/users/blissadm/local/bliss.git/bliss/common/event.py", line 25, in send
dispatcher.send(signal, sender, *args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/daiquiri/lib/python3.7/site-packages/louie/dispatcher.py", line 344, in send
receiver, original, signal=signal, sender=sender, *arguments, **named
File "/users/blissadm/conda/miniconda/envs/daiquiri/lib/python3.7/site-packages/louie/robustapply.py", line 57, in robust_apply
return receiver(*arguments, **named)
File "/users/blissadm/local/bliss.git/bliss/controllers/motor.py", line 645, in sync_hard
raise RuntimeError(f"cannot sync {pseudo.name} while moving")
RuntimeError: cannot sync hrpsy while moving
This problem is maybe still part of BLISS 1.11/1.12