Pilatus300k crashes when we do loopscan with big sleep time
When we do normal scans everything is ok. When we do loopscan:
EH1_EXP [74]: loopscan(100,10,sleep_time=10)
!!! === RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state === !!! ( for more details type cmd 'last_error' ) ] 1/100 eta [31:47]
!!! === RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state === !!! ( for more details type cmd 'last_error' ) 52 37
ERROR 2021-05-08 09:41:44,055 bliss.scans: Exception caught in pilatus300k.wait_ready (Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state)
!!! === RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state === !!! ( for more details type cmd 'last_error' )
!!! === RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state === !!! ( for more details type cmd 'last_error' )
ERROR 2021-05-08 09:41:44,088 bliss.scans: Exception caught in pilatus300k.wait_reading (Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state)
!!! === RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state === !!! ( for more details type cmd 'last_error' )
!!! === RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state === !!! ( for more details type cmd 'last_error' )
!!! === RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state === !!! ( for more details type cmd 'last_error' )
EH1_EXP [75]: last_error
Out [75]: 08/05/2021 09:41:44 Traceback (most recent call last):
File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 885, in embed
cmd_line_i._execute(inp)
File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 481, in _execute
raise exception # .with_traceback(exception.__traceback__)
File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 472, in _execute_task
self._execute_line(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 411, in _execute_line
self._eval_line(line)
File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 421, in _eval_line
result = eval(code, self.get_globals(), self.get_locals())
File "<stdin>", line 1, in <module>
File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 940, in wrapped_function
)(function)(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 886, in wrapped_function
return function(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 851, in wrapped_function
return function(*args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/typeguard/__init__.py", line 784, in wrapper
retval = func(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/common/scans/step_by_step.py", line 1141, in loopscan
scan_info=scan_info,
File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 940, in wrapped_function
)(function)(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 886, in wrapped_function
return function(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 851, in wrapped_function
return function(*args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/typeguard/__init__.py", line 784, in wrapper
retval = func(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/common/scans/step_by_step.py", line 1077, in timescan
scan.run()
File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 1661, in run
self._disable_caching()
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/contextlib.py", line 119, in __exit__
next(self.gen)
File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 286, in capture_exceptions
raise value
File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 262, in capture
yield
File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 1551, in run
for i in scan_chain_iterators
File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 506, in send
return self.runner.send(arg)
File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 571, in _run
self._gwait(stop_tasks, masked_kill_nb=1)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/contextlib.py", line 119, in __exit__
next(self.gen)
File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 285, in capture_exceptions
raise value.with_traceback(tb)
File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 262, in capture
yield
File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 542, in _run
t.get() # get the task result ; this may raise an exception
File "/users/blissadm/local/bliss.git/bliss/common/greenlet_utils.py", line 102, in get
return super().get(*args, **keys)
File "src/gevent/greenlet.py", line 803, in gevent._gevent_cgreenlet.Greenlet.get
File "src/gevent/greenlet.py", line 371, in gevent._gevent_cgreenlet.Greenlet._raise_exception
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "src/gevent/greenlet.py", line 906, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 499, in _run_next
for i in next_iter:
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 985, in __next__
join_tasks(tasks)
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 70, in join_tasks
gevent.joinall(greenlets, raise_error=True, **kw)
File "src/gevent/greenlet.py", line 1057, in gevent._gevent_cgreenlet.joinall
File "src/gevent/greenlet.py", line 1073, in gevent._gevent_cgreenlet.joinall
File "src/gevent/greenlet.py", line 371, in gevent._gevent_cgreenlet.Greenlet._raise_exception
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "src/gevent/greenlet.py", line 906, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 459, in acq_wait_ready
join_tasks(tasks, count=1)
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 70, in join_tasks
gevent.joinall(greenlets, raise_error=True, **kw)
File "src/gevent/greenlet.py", line 1057, in gevent._gevent_cgreenlet.joinall
File "src/gevent/greenlet.py", line 1073, in gevent._gevent_cgreenlet.joinall
File "src/gevent/greenlet.py", line 371, in gevent._gevent_cgreenlet.Greenlet._raise_exception
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "src/gevent/greenlet.py", line 906, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/lima.py", line 465, in wait_reading
return self._reading_task.get()
File "/users/blissadm/local/bliss.git/bliss/common/greenlet_utils.py", line 102, in get
return super().get(*args, **keys)
File "src/gevent/greenlet.py", line 803, in gevent._gevent_cgreenlet.Greenlet.get
File "src/gevent/greenlet.py", line 371, in gevent._gevent_cgreenlet.Greenlet._raise_exception
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "src/gevent/greenlet.py", line 906, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/lima.py", line 453, in reading
% (self.device.proxy, self.device.proxy.user_detector_name)
RuntimeError: Device DeviceProxy(id10/limaccds/p300k_1) (pilatus300k) is in Fault state
Edited by Matias Guijarro