pcdshub / Bug-Reports-and-Requests

Issue Tracking for PCDS Software
BSD 3-Clause "New" or "Revised" License
1 stars 1 forks source link

IMxLx Imager disconnection messages make session feel "spammy" #46

Open silkenelson opened 4 years ago

silkenelson commented 4 years ago

Bug Report In xpp3 and xcs3 (and reportedly also the laser-python), we see a set of messages duet to a disconnect of a monitored PV that we usually do not care about at that moment.

Expected Behavior We either want to ignore it or (likely better), have a 1-line messages and or a retry with a few minutes in between connection attempts?

Context Use a python session for anything, see messages pop up, making reading the history in the terminal hard. I would suspect that its will really mess with umvr .

Steps To Reproduce Open session. Wait and/or do something.

example prinout ERROR Subscription value callback exception (EpicsSignal(read_pv='IM4L0:XTES:CAM:IMAGE2:ArrayData', name='im4l0_detector_array_data', parent='im4l0_detector', value=array([ 93, 98, 93, ..., 92, 111, 108], dtype=int16), timestamp=1601915772.295727, auto_monitor=False, string=False, write_pv='IM4L0:XTES:CAM:IMAGE2:ArrayData', limits=False, put_complete=False)) Traceback (most recent call last): File "/reg/g/pcds/pyps/conda/py36/envs/pcds-3.3.3/lib/python3.6/site-packages/ophyd/ophydobj.py", line 462, in inner cb(*args, **kwargs) File "/reg/g/pcds/pyps/conda/py36/envs/pcds-3.3.3/lib/python3.6/site-packages/ophyd/signal.py", line 586, in _derived_value_callback value = self.inverse(value) File "/reg/g/pcds/pyps/conda/py36/envs/pcds-3.3.3/lib/python3.6/site-packages/ophyd/areadetector/base.py", line 105, in inverse array_shape = self.derived_shape[:self.derived_ndims] File "/reg/g/pcds/pyps/conda/py36/envs/pcds-3.3.3/lib/python3.6/site-packages/ophyd/areadetector/base.py", line 87, in derived_shape dim = dim.get() File "/reg/g/pcds/pyps/conda/py36/envs/pcds-3.3.3/lib/python3.6/site-packages/ophyd/signal.py", line 1096, in get self._read_pv, timeout, connection_timeout, as_string, form) File "/reg/g/pcds/pyps/conda/py36/envs/pcds-3.3.3/lib/python3.6/site-packages/ophyd/signal.py", line 1059, in _get_with_timeout f"Failed to read {pv.pvname} " ophyd.signal.ReadTimeoutError: Failed to read IM4L0:XTES:CAM:IMAGE2:ArraySize1_RBV within 2.0 sec

klauer commented 4 years ago

Agreed on the spammy/annoying nature of this.

Related: https://github.com/bluesky/ophyd/issues/910

Seems like most of the spam is coming from a DerivedSignal which has one connected PV and one or more other required PVs which are disconnected. Long-term ophyd needs a fix for this, but maybe short-term we can patch it on our end.