NSLS-II / wishlist

an issue tracker for the big picture
1 stars 0 forks source link

CSX flyers problem? #110

Open cmazzoli opened 8 years ago

cmazzoli commented 8 years ago

It has work previously, now it doesn't seem to. We tried with topoff_inj, diag6_flyer1, diag6_flyer5; we always get this out..

In [35]: ct.flyers = [diag6_flyer5]

In [36]: ct()
Transient Scan ID: 59325
Persistent Unique Scan ID: '995071b7-8064-4673-ad3d-5c547750ee96'
Run aborted
'AreaDetectorTimeseriesCollector' object has no attribute 'success'
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A KeyError('sclr_ch2',) was raised during the processing of a descriptor Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A AttributeError("'LiveTable' object has no attribute '_sep_format'",) was raised during the processing of a stop Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-36-7fe0a0539e68> in <module>()
----> 1 ct()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, time, subs, **kwargs)
    315     def __call__(self, time=None, subs=None, **kwargs):
    316         original_times = _set_acquire_time(time)
--> 317         result = super().__call__(subs=subs, **kwargs)
    318         _unset_acquire_time(original_times)
    319         return result

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, subs, sub_factories, *args, **kwargs)
    182         # Any remainging kwargs go the RE. To be safe, no args are passed
    183         # to RE; RE args effectively become keyword-only arguments.
--> 184         return gs.RE(self.scan, _subs, **kwargs)
    185 
    186 

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    568                 exc = self._task.exception()
    569                 if exc is not None:
--> 570                     raise exc
    571             if raise_if_interrupted and self._interrupted:
    572                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/tasks.py in _step(***failed resolving arguments***)
    237                 # We use the `send` method directly, because coroutines
    238                 # don't have `__iter__` and `__next__` methods.
--> 239                 result = coro.send(None)
    240             else:
    241                 result = coro.throw(exc)

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    740             logger.error("Run aborted")
    741             logger.error("%s", err)
--> 742             raise err
    743         finally:
    744             self.state = 'idle'

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    714                         raise
    715                     except Exception as e:
--> 716                         self._genstack[-1].throw(e)
    717                     self.log.debug("Response: %r", response)
    718                 except KeyboardInterrupt:

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/plans.py in __iter__(self)
     71         yield Msg('open_run', **self.md)
     72         for flyer in self.flyers:
---> 73             yield Msg('kickoff', flyer, block_group='_flyers')
     74         yield Msg('wait', None, '_flyers')
     75         yield from self._gen()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    710                         coro = self._command_registry[msg.command]
    711                         self.log.debug("Processing %r", msg)
--> 712                         response = yield from coro(msg)
    713                     except KeyboardInterrupt:
    714                         raise

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/coroutines.py in coro(*args, **kw)
    204         @functools.wraps(func)
    205         def coro(*args, **kw):
--> 206             res = func(*args, **kw)
    207             if isinstance(res, futures.Future) or inspect.isgenerator(res):
    208                 res = yield from res

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _kickoff(self, msg)
   1015                 loop.call_soon_threadsafe(p_event.set)
   1016 
-> 1017             ret.finished_cb = done_callback
   1018             self._block_groups[block_group].add(p_event.wait())
   1019 

/epics/xf/23id/ipython/profile_collection/startup/20-detectors.py in finished_cb(self, cb)
    301             raise RuntimeError("Cannot change the callback")
    302         if self.done:
--> 303             cb()
    304         else:
    305             self._cb = cb

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in done_callback()
   1011 
   1012             def done_callback():
-> 1013                 if not ret.success:
   1014                     loop.call_soon_threadsafe(self._failed_status, ret)
   1015                 loop.call_soon_threadsafe(p_event.set)

AttributeError: 'AreaDetectorTimeseriesCollector' object has no attribute 'success'

In [37]: 
tacaswell commented 8 years ago

Can you make sure an up-to-date version of your start up files are pushed to gh? I know what the problem is and I need to fix it in some custom code that lives in your configuration files.

cmazzoli commented 8 years ago

If you tell me how to do it, I will try..

cmazzoli commented 8 years ago

I don't know if you did something about this, but currently I experience the same problem... Unfortunately it would be very important to have the information in the datafile, otherwise we risk not to be able to use your analysis nb..

In [21]: gs.DETS
Out[21]: 
[EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 Cryoangle(prefix='', name='cryoangle', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[], monitor_attrs=[]),
 EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=85.15919494628906, timestamp=1457286097.414291, pv_kw={}, auto_monitor=False, string=False, write_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', limits=False, put_complete=False),
 PGMEnergy(prefix='XF:23ID1-OP{Mono', name='pgm_en', parent='pgm', settle_time=0.0, read_attrs=['readback', 'setpoint', 'stop_signal'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[], monitor_attrs=[]),
 EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[], monitor_attrs=[]),
 SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[], monitor_attrs=[]),
 SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[], monitor_attrs=[]),
 SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[], monitor_attrs=[]),
 Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[], monitor_attrs=[]),
 MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[], monitor_attrs=[]),
 EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=301.72, timestamp=1457286095.631913, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', name='mono_tempb', value=301.63, timestamp=1457286095.794335, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Water}P-I', name='mono_pres', value=8.844258617643513, timestamp=1457286097.146013, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Water}P-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:1}T-I', name='grt1_temp', value=31.1, timestamp=1457286097.097394, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:1}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:2}T-I', name='grt2_temp', value=27.700000000000003, timestamp=1457286097.097395, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:2}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID-SR{}I-I', name='ring_curr', value=159.7108781980192, timestamp=1457286097.27759, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False),
 EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'], monitor_attrs=[]),
 EpicsSignal(read_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', name='diag6_monitor', value=388803893.0, timestamp=1457286097.597974, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', limits=False, put_complete=False),
 ProductionCam(prefix='XF:23ID1-ES{FCCD}', name='fccd', read_attrs=['hdf5', 'acquire_time', 'num_images_captured', 'plugin_num_images', 'stats1', 'stats2', 'stats3', 'stats4', 'stats5'], configuration_attrs=[], monitor_attrs=[])]

In [22]: 

In [22]: ct.flyers = [diag6_flyer5, diag6_flyer1, fccd_flyer5, topoff_inj]

In [23]: ...

In [24]: ...

In [25]: ...

In [26]: ct()
Transient Scan ID: 59418
Persistent Unique Scan ID: '96a6aa43-ea1f-4a21-95f7-a52c78fb58cb'
Run aborted
'AreaDetectorTimeseriesCollector' object has no attribute 'success'
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A KeyError('sclr_ch2',) was raised during the processing of a descriptor Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A AttributeError("'LiveTable' object has no attribute '_sep_format'",) was raised during the processing of a stop Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in <module>()
----> 1 ct()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, time, subs, **kwargs)
    315     def __call__(self, time=None, subs=None, **kwargs):
    316         original_times = _set_acquire_time(time)
--> 317         result = super().__call__(subs=subs, **kwargs)
    318         _unset_acquire_time(original_times)
    319         return result

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, subs, sub_factories, *args, **kwargs)
    182         # Any remainging kwargs go the RE. To be safe, no args are passed
    183         # to RE; RE args effectively become keyword-only arguments.
--> 184         return gs.RE(self.scan, _subs, **kwargs)
    185 
    186 

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    568                 exc = self._task.exception()
    569                 if exc is not None:
--> 570                     raise exc
    571             if raise_if_interrupted and self._interrupted:
    572                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/tasks.py in _step(***failed resolving arguments***)
    237                 # We use the `send` method directly, because coroutines
    238                 # don't have `__iter__` and `__next__` methods.
--> 239                 result = coro.send(None)
    240             else:
    241                 result = coro.throw(exc)

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    740             logger.error("Run aborted")
    741             logger.error("%s", err)
--> 742             raise err
    743         finally:
    744             self.state = 'idle'

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    714                         raise
    715                     except Exception as e:
--> 716                         self._genstack[-1].throw(e)
    717                     self.log.debug("Response: %r", response)
    718                 except KeyboardInterrupt:

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/plans.py in __iter__(self)
     71         yield Msg('open_run', **self.md)
     72         for flyer in self.flyers:
---> 73             yield Msg('kickoff', flyer, block_group='_flyers')
     74         yield Msg('wait', None, '_flyers')
     75         yield from self._gen()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    710                         coro = self._command_registry[msg.command]
    711                         self.log.debug("Processing %r", msg)
--> 712                         response = yield from coro(msg)
    713                     except KeyboardInterrupt:
    714                         raise

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/coroutines.py in coro(*args, **kw)
    204         @functools.wraps(func)
    205         def coro(*args, **kw):
--> 206             res = func(*args, **kw)
    207             if isinstance(res, futures.Future) or inspect.isgenerator(res):
    208                 res = yield from res

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _kickoff(self, msg)
   1015                 loop.call_soon_threadsafe(p_event.set)
   1016 
-> 1017             ret.finished_cb = done_callback
   1018             self._block_groups[block_group].add(p_event.wait())
   1019 

/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in finished_cb(self, cb)
    301             raise RuntimeError("Cannot change the callback")
    302         if self.done:
--> 303             cb()
    304         else:
    305             self._cb = cb

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in done_callback()
   1011 
   1012             def done_callback():
-> 1013                 if not ret.success:
   1014                     loop.call_soon_threadsafe(self._failed_status, ret)
   1015                 loop.call_soon_threadsafe(p_event.set)

AttributeError: 'AreaDetectorTimeseriesCollector' object has no attribute 'success'

In [27]: ct.flyers = [fccd_flyer5]

In [28]: ct()
Transient Scan ID: 59419
Persistent Unique Scan ID: '947c3327-5112-4e6a-93fc-4600dc3dba30'
Run aborted
'AreaDetectorTimeseriesCollector' object has no attribute 'success'
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A KeyError('sclr_ch2',) was raised during the processing of a descriptor Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A AttributeError("'LiveTable' object has no attribute '_sep_format'",) was raised during the processing of a stop Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in <module>()
----> 1 ct()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, time, subs, **kwargs)
    315     def __call__(self, time=None, subs=None, **kwargs):
    316         original_times = _set_acquire_time(time)
--> 317         result = super().__call__(subs=subs, **kwargs)
    318         _unset_acquire_time(original_times)
    319         return result

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, subs, sub_factories, *args, **kwargs)
    182         # Any remainging kwargs go the RE. To be safe, no args are passed
    183         # to RE; RE args effectively become keyword-only arguments.
--> 184         return gs.RE(self.scan, _subs, **kwargs)
    185 
    186 

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    568                 exc = self._task.exception()
    569                 if exc is not None:
--> 570                     raise exc
    571             if raise_if_interrupted and self._interrupted:
    572                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/tasks.py in _step(***failed resolving arguments***)
    237                 # We use the `send` method directly, because coroutines
    238                 # don't have `__iter__` and `__next__` methods.
--> 239                 result = coro.send(None)
    240             else:
    241                 result = coro.throw(exc)

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    740             logger.error("Run aborted")
    741             logger.error("%s", err)
--> 742             raise err
    743         finally:
    744             self.state = 'idle'

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    714                         raise
    715                     except Exception as e:
--> 716                         self._genstack[-1].throw(e)
    717                     self.log.debug("Response: %r", response)
    718                 except KeyboardInterrupt:

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/plans.py in __iter__(self)
     71         yield Msg('open_run', **self.md)
     72         for flyer in self.flyers:
---> 73             yield Msg('kickoff', flyer, block_group='_flyers')
     74         yield Msg('wait', None, '_flyers')
     75         yield from self._gen()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    710                         coro = self._command_registry[msg.command]
    711                         self.log.debug("Processing %r", msg)
--> 712                         response = yield from coro(msg)
    713                     except KeyboardInterrupt:
    714                         raise

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/coroutines.py in coro(*args, **kw)
    204         @functools.wraps(func)
    205         def coro(*args, **kw):
--> 206             res = func(*args, **kw)
    207             if isinstance(res, futures.Future) or inspect.isgenerator(res):
    208                 res = yield from res

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _kickoff(self, msg)
   1015                 loop.call_soon_threadsafe(p_event.set)
   1016 
-> 1017             ret.finished_cb = done_callback
   1018             self._block_groups[block_group].add(p_event.wait())
   1019 

/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in finished_cb(self, cb)
    301             raise RuntimeError("Cannot change the callback")
    302         if self.done:
--> 303             cb()
    304         else:
    305             self._cb = cb

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in done_callback()
   1011 
   1012             def done_callback():
-> 1013                 if not ret.success:
   1014                     loop.call_soon_threadsafe(self._failed_status, ret)
   1015                 loop.call_soon_threadsafe(p_event.set)

AttributeError: 'AreaDetectorTimeseriesCollector' object has no attribute 'success'

In [29]: ct.flyers = [diag6_flyer5, diag6_flyer1, topoff_inj]

In [30]: ct()
Transient Scan ID: 59420
Persistent Unique Scan ID: '3bdeaf5e-12e0-4339-8038-67027e1df431'
Run aborted
'AreaDetectorTimeseriesCollector' object has no attribute 'success'
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A KeyError('sclr_ch2',) was raised during the processing of a descriptor Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A AttributeError("'LiveTable' object has no attribute '_sep_format'",) was raised during the processing of a stop Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in <module>()
----> 1 ct()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, time, subs, **kwargs)
    315     def __call__(self, time=None, subs=None, **kwargs):
    316         original_times = _set_acquire_time(time)
--> 317         result = super().__call__(subs=subs, **kwargs)
    318         _unset_acquire_time(original_times)
    319         return result

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, subs, sub_factories, *args, **kwargs)
    182         # Any remainging kwargs go the RE. To be safe, no args are passed
    183         # to RE; RE args effectively become keyword-only arguments.
--> 184         return gs.RE(self.scan, _subs, **kwargs)
    185 
    186 

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    568                 exc = self._task.exception()
    569                 if exc is not None:
--> 570                     raise exc
    571             if raise_if_interrupted and self._interrupted:
    572                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/tasks.py in _step(***failed resolving arguments***)
    237                 # We use the `send` method directly, because coroutines
    238                 # don't have `__iter__` and `__next__` methods.
--> 239                 result = coro.send(None)
    240             else:
    241                 result = coro.throw(exc)

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    740             logger.error("Run aborted")
    741             logger.error("%s", err)
--> 742             raise err
    743         finally:
    744             self.state = 'idle'

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    714                         raise
    715                     except Exception as e:
--> 716                         self._genstack[-1].throw(e)
    717                     self.log.debug("Response: %r", response)
    718                 except KeyboardInterrupt:

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/plans.py in __iter__(self)
     71         yield Msg('open_run', **self.md)
     72         for flyer in self.flyers:
---> 73             yield Msg('kickoff', flyer, block_group='_flyers')
     74         yield Msg('wait', None, '_flyers')
     75         yield from self._gen()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    710                         coro = self._command_registry[msg.command]
    711                         self.log.debug("Processing %r", msg)
--> 712                         response = yield from coro(msg)
    713                     except KeyboardInterrupt:
    714                         raise

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/coroutines.py in coro(*args, **kw)
    204         @functools.wraps(func)
    205         def coro(*args, **kw):
--> 206             res = func(*args, **kw)
    207             if isinstance(res, futures.Future) or inspect.isgenerator(res):
    208                 res = yield from res

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _kickoff(self, msg)
   1015                 loop.call_soon_threadsafe(p_event.set)
   1016 
-> 1017             ret.finished_cb = done_callback
   1018             self._block_groups[block_group].add(p_event.wait())
   1019 

/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in finished_cb(self, cb)
    301             raise RuntimeError("Cannot change the callback")
    302         if self.done:
--> 303             cb()
    304         else:
    305             self._cb = cb

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in done_callback()
   1011 
   1012             def done_callback():
-> 1013                 if not ret.success:
   1014                     loop.call_soon_threadsafe(self._failed_status, ret)
   1015                 loop.call_soon_threadsafe(p_event.set)

AttributeError: 'AreaDetectorTimeseriesCollector' object has no attribute 'success'

In [31]: ct.flyers = [topoff_inj]

In [32]: ct()
Transient Scan ID: 59421
Persistent Unique Scan ID: '08d3448d-7a56-4e53-8090-dcd8acd0c2bf'
Run aborted
'WaveformCollector' object has no attribute 'success'
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A KeyError('sclr_ch2',) was raised during the processing of a descriptor Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A AttributeError("'LiveTable' object has no attribute '_sep_format'",) was raised during the processing of a stop Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in <module>()
----> 1 ct()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, time, subs, **kwargs)
    315     def __call__(self, time=None, subs=None, **kwargs):
    316         original_times = _set_acquire_time(time)
--> 317         result = super().__call__(subs=subs, **kwargs)
    318         _unset_acquire_time(original_times)
    319         return result

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, subs, sub_factories, *args, **kwargs)
    182         # Any remainging kwargs go the RE. To be safe, no args are passed
    183         # to RE; RE args effectively become keyword-only arguments.
--> 184         return gs.RE(self.scan, _subs, **kwargs)
    185 
    186 

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    568                 exc = self._task.exception()
    569                 if exc is not None:
--> 570                     raise exc
    571             if raise_if_interrupted and self._interrupted:
    572                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/tasks.py in _step(***failed resolving arguments***)
    237                 # We use the `send` method directly, because coroutines
    238                 # don't have `__iter__` and `__next__` methods.
--> 239                 result = coro.send(None)
    240             else:
    241                 result = coro.throw(exc)

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    740             logger.error("Run aborted")
    741             logger.error("%s", err)
--> 742             raise err
    743         finally:
    744             self.state = 'idle'

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    714                         raise
    715                     except Exception as e:
--> 716                         self._genstack[-1].throw(e)
    717                     self.log.debug("Response: %r", response)
    718                 except KeyboardInterrupt:

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/plans.py in __iter__(self)
     71         yield Msg('open_run', **self.md)
     72         for flyer in self.flyers:
---> 73             yield Msg('kickoff', flyer, block_group='_flyers')
     74         yield Msg('wait', None, '_flyers')
     75         yield from self._gen()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    710                         coro = self._command_registry[msg.command]
    711                         self.log.debug("Processing %r", msg)
--> 712                         response = yield from coro(msg)
    713                     except KeyboardInterrupt:
    714                         raise

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/coroutines.py in coro(*args, **kw)
    204         @functools.wraps(func)
    205         def coro(*args, **kw):
--> 206             res = func(*args, **kw)
    207             if isinstance(res, futures.Future) or inspect.isgenerator(res):
    208                 res = yield from res

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _kickoff(self, msg)
   1015                 loop.call_soon_threadsafe(p_event.set)
   1016 
-> 1017             ret.finished_cb = done_callback
   1018             self._block_groups[block_group].add(p_event.wait())
   1019 

/home/xf23id1/Beamline/Macros/2016_03_06_stability_lunch.py in finished_cb(self, cb)
    222             raise RuntimeError("Cannot change the callback")
    223         if self.done:
--> 224             cb()
    225         else:
    226             self._cb = cb

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in done_callback()
   1011 
   1012             def done_callback():
-> 1013                 if not ret.success:
   1014                     loop.call_soon_threadsafe(self._failed_status, ret)
   1015                 loop.call_soon_threadsafe(p_event.set)

AttributeError: 'WaveformCollector' object has no attribute 'success'

In [33]: ct.flyers = []

In [34]: gs.DETS
Out[34]: 
[EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 Cryoangle(prefix='', name='cryoangle', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[], monitor_attrs=[]),
 EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=84.95429992675781, timestamp=1457286821.451436, pv_kw={}, auto_monitor=False, string=False, write_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', limits=False, put_complete=False),
 PGMEnergy(prefix='XF:23ID1-OP{Mono', name='pgm_en', parent='pgm', settle_time=0.0, read_attrs=['readback', 'setpoint', 'stop_signal'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[], monitor_attrs=[]),
 EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[], monitor_attrs=[]),
 SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[], monitor_attrs=[]),
 SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[], monitor_attrs=[]),
 SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[], monitor_attrs=[]),
 Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[], monitor_attrs=[]),
 MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[], monitor_attrs=[]),
 EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=301.73, timestamp=1457286817.658699, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', name='mono_tempb', value=301.64, timestamp=1457286817.821021, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Water}P-I', name='mono_pres', value=8.8477854248544, timestamp=1457286822.198795, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Water}P-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:1}T-I', name='grt1_temp', value=31.3, timestamp=1457286822.156843, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:1}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:2}T-I', name='grt2_temp', value=27.700000000000003, timestamp=1457286822.156859, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:2}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID-SR{}I-I', name='ring_curr', value=160.24979010849432, timestamp=1457286822.72822, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False),
 EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'], monitor_attrs=[]),
 EpicsSignal(read_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', name='diag6_monitor', value=355426250.0, timestamp=1457286822.904328, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', limits=False, put_complete=False),
 ProductionCam(prefix='XF:23ID1-ES{FCCD}', name='fccd', read_attrs=['hdf5', 'acquire_time', 'num_images_captured', 'plugin_num_images', 'stats1', 'stats2', 'stats3', 'stats4', 'stats5'], configuration_attrs=[], monitor_attrs=[])]

In [35]: ct()
Transient Scan ID: 59422
Persistent Unique Scan ID: 'aa38c68a-e23f-465b-b90d-b2e45e4087a5'
+-----------+------------+------------+------------+------------+------------+------------+------------+------------+---------------+
|   seq_num |       time |   sclr_ch2 |  mono_pres | mono_tempa | mono_tempb |  grt1_temp |  grt2_temp |    uw_temp | diag6_monitor |
+-----------+------------+------------+------------+------------+------------+------------+------------+------------+---------------+
|         1 | 12:53:47.5 |         37 |          9 |    301.730 |    301.640 |       31.4 |       27.7 |      84.93 |     354009647 |
+-----------+------------+------------+------------+------------+------------+------------+------------+------------+---------------+
Count ['aa38c6'] (scan num: 59422)
Out[35]: ['aa38c68a-e23f-465b-b90d-b2e45e4087a5']

In [36]: 
tacaswell commented 8 years ago

Did not do anything about this yesterday, look at it now

cmazzoli commented 8 years ago

Thanks! On Mar 6, 2016 1:56 PM, "Thomas A Caswell" notifications@github.com wrote:

Did not do anything about this yesterday, look at it now

— Reply to this email directly or view it on GitHub https://github.com/NSLS-II/wishlist/issues/110#issuecomment-192962770.

cmazzoli commented 8 years ago

Hi Tom, any progress with this? I implemented your profile update but I get the same error from the flyers

In [14]: exit
FATAL: exception not rethrown
CA client library tcp receive thread terminating due to a non-standard C++ exception
Aborted
(collection)[xf23id1@xf23id-ws3 ~]$ ipython --profile=collection
Activating auto-logging. Current session state plus future input saved.
Filename       : /epics/xf/23id/ophyd/logs/xf23id1_log.py
Mode           : append
Output logging : False
Raw input log  : False
Timestamping   : False
State          : active
Python 3.4.4 |Continuum Analytics, Inc.| (default, Jan 11 2016, 13:54:01) 
Type "copyright", "credits" or "license" for more information.

IPython 4.0.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

IPython profile: collection
Using matplotlib backend: Qt4Agg
Found metadata history in existing file.

In [1]: gs.DETS
Out[1]: 
[EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'], monitor_attrs=[]),
 Cryoangle(prefix='', name='cryoangle', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, read_attrs=['readback', 'setpoint'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[], monitor_attrs=[]),
 EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=84.88693237304688, timestamp=1457455936.837663, pv_kw={}, auto_monitor=False, string=False, write_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', limits=False, put_complete=False),
 PGMEnergy(prefix='XF:23ID1-OP{Mono', name='pgm_en', parent='pgm', settle_time=0.0, read_attrs=['readback', 'setpoint', 'stop_signal'], configuration_attrs=[], monitor_attrs=[], limits=None, egu=''),
 EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[], monitor_attrs=[]),
 EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[], monitor_attrs=[]),
 SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[], monitor_attrs=[]),
 SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[], monitor_attrs=[]),
 SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[], monitor_attrs=[]),
 Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[], monitor_attrs=[]),
 MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[], monitor_attrs=[]),
 EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=302.24, timestamp=1457455936.008647, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', name='mono_tempb', value=300.79, timestamp=1457455936.171143, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Water}P-I', name='mono_pres', value=8.78406627990739, timestamp=1457455937.600543, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Water}P-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:1}T-I', name='grt1_temp', value=27.1, timestamp=1457455937.180249, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:1}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:2}T-I', name='grt2_temp', value=27.200000000000003, timestamp=1457455937.18025, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:2}T-I', limits=False, put_complete=False),
 EpicsSignal(read_pv='XF:23ID-SR{}I-I', name='ring_curr', value=23.73416699327712, timestamp=1457455937.176501, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False),
 EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'], monitor_attrs=[])]

In [2]: ct()
Transient Scan ID: 59567
Persistent Unique Scan ID: '75dbd2da-b42f-41d9-a2ca-9ce550d4d7eb'
+-----------+------------+
|   seq_num |       time |
+-----------+------------+
|         1 | 11:53:00.3 |
+-----------+------------+
Count ['75dbd2'] (scan num: 59567)
Out[2]: ['75dbd2da-b42f-41d9-a2ca-9ce550d4d7eb']

In [3]: gs.TABLE_COLS = ['sclr_ch2','mono_pres','mono_tempa','mono_tempb','grt1_temp','grt2_temp','uw_temp']; gs.PLOT_Y = 'sclr_ch2'

In [4]: ct()
Transient Scan ID: 59568
Persistent Unique Scan ID: '84f076da-f32f-408c-9cd3-815b1d95ae0f'
+-----------+------------+------------+------------+------------+------------+------------+------------+------------+
|   seq_num |       time |   sclr_ch2 |  mono_pres | mono_tempa | mono_tempb |  grt1_temp |  grt2_temp |    uw_temp |
+-----------+------------+------------+------------+------------+------------+------------+------------+------------+
|         1 | 11:55:25.1 |         29 |          9 |    302.240 |    301.040 |       27.3 |       27.0 |      84.89 |
+-----------+------------+------------+------------+------------+------------+------------+------------+------------+
Count ['84f076'] (scan num: 59568)
Out[4]: ['84f076da-f32f-408c-9cd3-815b1d95ae0f']

In [5]: ct.flyers = [diag6_flyer5, diag6_flyer1, topoff_inj]

In [6]: ct()
Transient Scan ID: 59569
Persistent Unique Scan ID: '6f64679e-5713-4845-9df9-97dc36342ea4'
Run aborted
'WaveformCollector' object has no attribute 'success'
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A KeyError('sclr_ch2',) was raised during the processing of a descriptor Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py:1279: UserWarning: A AttributeError("'LiveTable' object has no attribute '_sep_format'",) was raised during the processing of a stop Document. The error will be ignored to avoid interrupting data collection. To investigate, set RunEngine.ignore_callback_exceptions = False and run again.
  "and run again." % (exc, name.name))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-6-7fe0a0539e68> in <module>()
----> 1 ct()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, time, subs, **kwargs)
    315     def __call__(self, time=None, subs=None, **kwargs):
    316         original_times = _set_acquire_time(time)
--> 317         result = super().__call__(subs=subs, **kwargs)
    318         _unset_acquire_time(original_times)
    319         return result

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/simple_scans.py in __call__(self, subs, sub_factories, *args, **kwargs)
    182         # Any remainging kwargs go the RE. To be safe, no args are passed
    183         # to RE; RE args effectively become keyword-only arguments.
--> 184         return gs.RE(self.scan, _subs, **kwargs)
    185 
    186 

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    568                 exc = self._task.exception()
    569                 if exc is not None:
--> 570                     raise exc
    571             if raise_if_interrupted and self._interrupted:
    572                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/tasks.py in _step(***failed resolving arguments***)
    237                 # We use the `send` method directly, because coroutines
    238                 # don't have `__iter__` and `__next__` methods.
--> 239                 result = coro.send(None)
    240             else:
    241                 result = coro.throw(exc)

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    740             logger.error("Run aborted")
    741             logger.error("%s", err)
--> 742             raise err
    743         finally:
    744             self.state = 'idle'

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    714                         raise
    715                     except Exception as e:
--> 716                         self._genstack[-1].throw(e)
    717                     self.log.debug("Response: %r", response)
    718                 except KeyboardInterrupt:

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/plans.py in __iter__(self)
     71         yield Msg('open_run', **self.md)
     72         for flyer in self.flyers:
---> 73             yield Msg('kickoff', flyer, block_group='_flyers')
     74         yield Msg('wait', None, '_flyers')
     75         yield from self._gen()

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _run(self)
    710                         coro = self._command_registry[msg.command]
    711                         self.log.debug("Processing %r", msg)
--> 712                         response = yield from coro(msg)
    713                     except KeyboardInterrupt:
    714                         raise

/home/xf23id1/conda_envs/collection/lib/python3.4/asyncio/coroutines.py in coro(*args, **kw)
    204         @functools.wraps(func)
    205         def coro(*args, **kw):
--> 206             res = func(*args, **kw)
    207             if isinstance(res, futures.Future) or inspect.isgenerator(res):
    208                 res = yield from res

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in _kickoff(self, msg)
   1015                 loop.call_soon_threadsafe(p_event.set)
   1016 
-> 1017             ret.finished_cb = done_callback
   1018             self._block_groups[block_group].add(p_event.wait())
   1019 

/epics/xf/23id/ipython/profile_collection/startup/20-detectors.py in finished_cb(self, cb)
    222             raise RuntimeError("Cannot change the callback")
    223         if self.done:
--> 224             cb()
    225         else:
    226             self._cb = cb

/home/xf23id1/conda_envs/collection/lib/python3.4/site-packages/bluesky/run_engine.py in done_callback()
   1011 
   1012             def done_callback():
-> 1013                 if not ret.success:
   1014                     loop.call_soon_threadsafe(self._failed_status, ret)
   1015                 loop.call_soon_threadsafe(p_event.set)

AttributeError: 'WaveformCollector' object has no attribute 'success'

In [7]: 
cmazzoli commented 8 years ago

@tacaswell Would it be possible to insert a date when a ct command is called? Maybe something like:

In [2]: ct()
Transient Scan ID: 59567  **Today (date - time)...**
Persistent Unique Scan ID: '75dbd2da-b42f-41d9-a2ca-9ce550d4d7eb'
+-----------+------------+
|   seq_num |       time |
+-----------+------------+
|         1 | 11:53:00.3 |
+-----------+------------+
Count ['75dbd2'] (scan num: 59567 ** ... or here!**)
Out[2]: ['75dbd2da-b42f-41d9-a2ca-9ce550d4d7eb']

I believe that it would be helpful for both bug reporting and back scrolling on a collection window in order to correlate/check what happened. Please let me know what you think about.

tacaswell commented 8 years ago

https://github.com/NSLS-II-CSX/xf23id1_profiles/blob/master/profile_collection/startup/00-startup.py#L35 is the function that prints out that header. You can modify it to print what ever you want (that is in the Start document).