limatake fails in default bliss session if lima_base.camera property is not initialized
reported by @claustre on id22 (id22_17x branch)
BLISS [4]: limatake(.01,1,eiger)
Scan 10 Fri Apr 16 11:26:17 2021 __DEFAULT__ user = blissadm
limatake 0.0100 1
Preparing eiger ...
!!! === AttributeError: module 'bliss.controllers.lima.eiger' has no attribute 'Camera' === !!! ( for more details type cmd 'last_error' )
!!! === AttributeError: module 'bliss.controllers.lima.eiger' has no attribute 'Camera' === !!! ( for more details type cmd 'last_error' )
ERROR 2021-04-16 11:26:19,115 bliss.scans: Exception caught in eiger.wait_ready (module 'bliss.controllers.lima.eiger' has no attribute 'Camera')
!!! === AttributeError: module 'bliss.controllers.lima.eiger' has no attribute 'Camera' === !!! ( for more details type cmd 'last_error' )
!!! === AttributeError: module 'bliss.controllers.lima.eiger' has no attribute 'Camera' === !!! ( for more details type cmd 'last_error' )
ERROR 2021-04-16 11:26:19,606 bliss.scans: Exception caught in eiger.wait_reading (module 'bliss.controllers.lima.eiger' has no attribute 'Camera')
!!! === AttributeError: module 'bliss.controllers.lima.eiger' has no attribute 'Camera' === !!! ( for more details type cmd 'last_error' )
!!! === AttributeError: module 'bliss.controllers.lima.eiger' has no attribute 'Camera' === !!! ( for more details type cmd 'last_error' )
eiger acq #0
Finished (took 0:00:01.916762)
BLISS [5]: last_error
Out [5]: 16/04/2021 11:26:19 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/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/utils.py", line 851, in wrapped_function
return function(*args, **kwargs)
File "/users/blissadm/local/bliss.git/bliss/controllers/lima/limatools.py", line 194, in limatake
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 829, 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 428, in reading
if self.fast_synchro:
File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/lima.py", line 162, in fast_synchro
return self._lima_controller.camera.synchro_mode == "TRIGGER"
File "/users/blissadm/local/bliss.git/bliss/controllers/lima/lima_base.py", line 687, in camera
camera_class = camera_module.Camera
AttributeError: module 'bliss.controllers.lima.eiger' has no attribute 'Camera'