NSLS-II / Bug-Reports

Unified issue-tracker for bugs in the data acquisition, management, and analysis software at NSLS-II
BSD 3-Clause "New" or "Revised" License
2 stars 5 forks source link

Issue with HKL scans after collection update not starting #140

Open ambarb opened 7 years ago

ambarb commented 7 years ago

bluesky 0.6.4 py35_0 ophyd 0.3.1 py35_1 hkl 5.0.0.2080 py35_0 hklpy 0.3.11 py35_0

spec-like scans work for actual motors and HKL is calculated correctly (dscan, d2scan, and d3scan). ascan and dscan on tardis.l will go to the first point and then abort. tried simliar scan by using RE(relative_scan([], tardis.l, -0.025, 0.025, 3), print) with similar error(ValueError: 0.156 not a valid type (int, float, ndarray, str), which is the first value of tardis.1 in the scan). Specifics are below (with and without msg_hook = print) . Found the case to be the same for dscan of tardis.k over a small range (theta scan).

However, what seems to work by eyeball in hkl scanning is RE(list_scan([], tardis, [(0.095, 0.018, 0.156),(0.095, 0.018, 0.18),(0.095, 0.018, 0.215)]), print). The data was not printed in the table The user friendliness of this method for large data sets and cutting through space in different ways is not as straight forward as the spec-like scans.

SCAN THAT SEEMED TO WORK:

Transient Scan ID: 68920
Persistent Unique Scan ID: 'aaf4a67f-17a7-4aa9-adbf-25955c2adf9d'

In [102]: tardis.calc.forward((0.095, 0.018, 0.156))
Out[102]: (PosCalcE6C(theta=50.4834403830552, omega=0.0, chi=0.0, phi=0.0, delta=8.841231728660974, gamma=19.810779529130414),)

In [103]: tardis.calc.forward((0.095, 0.018, 0.18))
Out[103]: (PosCalcE6C(theta=45.437201733096686, omega=0.0, chi=0.0, phi=0.0, delta=10.3146666820397, gamma=19.88259424183955),)

In [104]: tardis.calc.forward((0.095, 0.018, 0.215))
Out[104]: (PosCalcE6C(theta=40.31165957147311, omega=0.0, chi=0.0, phi=0.0, delta=12.476555524876009, gamma=19.987382454295872),)

Will take further action to restart session to see if error reproduces. Will report back again.

ascan followed by relative_scan examples

In [89]: RE(ascan(tardis.l,0.156,0.215,3))
Transient Scan ID: 68913
Persistent Unique Scan ID: 'f5388402-96e1-4363-83e2-5972b33acbbd'
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-89-897286f97673> in <module>()
----> 1 RE(ascan(tardis.l,0.156,0.215,3))

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    537                 exc = self._task.exception()
    538                 if exc is not None:
--> 539                     raise exc
    540             if raise_if_interrupted and self._interrupted:
    541                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _run(self)
    920             self.log.error("Run aborted")
    921             self.log.error("%r", err)
--> 922             raise err
    923         finally:
    924             # call stop() on every movable object we ever set()

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    818                         resp = self._response_stack.pop()
    819                         try:
--> 820                             msg = self._plan_stack[-1].send(resp)
    821                         # We have exhausted the top generator
    822                         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/spec_api.py in ascan(motor, start, finish, intervals, time, md)
    303 
    304     return (yield from inner(gs.DETS, motor, start, finish,
--> 305                              1 + intervals, md=md))
    306 gs.SUB_FACTORIES['ascan'] = [setup_livetable,
    307                              setup_plot,

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in subs_wrapper(plan, subs)
    854 
    855     return (yield from finalize_wrapper(pchain(_subscribe(), plan),
--> 856                                         _unsubscribe()))
    857 
    858 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan)
    949     cleanup = True
    950     try:
--> 951         ret = yield from plan
    952     except GeneratorExit:
    953         cleanup = False

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in configure_count_time_wrapper(plan, time)
   1589     if time is None:
   1590         # no-op
-> 1591         return (yield from plan)
   1592     else:
   1593         return (yield from finalize_wrapper(plan_mutator(plan, insert_set),

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in fly_during_wrapper(plan, flyers)
   1306     plan1 = plan_mutator(plan, insert_after_open)
   1307     plan2 = plan_mutator(plan1, insert_before_close)
-> 1308     return (yield from plan2)
   1309 
   1310 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in monitor_during_wrapper(plan, signals)
   1248     plan1 = plan_mutator(plan, insert_after_open)
   1249     plan2 = plan_mutator(plan1, insert_before_close)
-> 1250     return (yield from plan2)
   1251 
   1252 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in baseline_wrapper(plan, devices, name)
   1631         return (yield from plan)
   1632     else:
-> 1633         return (yield from plan_mutator(plan, insert_baseline))
   1634 
   1635 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/spec_api.py in inner_spec_plan(md, *args, **kwargs)
    246                                gs.MD_TIME_KEY: time})
    247 
--> 248             return (yield from func(*args, md=md, **kwargs))
    249         return inner_spec_plan
    250     return outer

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in scan(detectors, motor, start, stop, num, per_step, md)
   2073             yield from per_step(detectors, motor, step)
   2074 
-> 2075     return (yield from inner_scan())
   2076 
   2077 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in stage_wrapper(plan, devices)
   1433         return (yield from plan)
   1434 
-> 1435     return (yield from finalize_wrapper(inner(), unstage_devices()))
   1436 
   1437 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan)
    949     cleanup = True
    950     try:
--> 951         ret = yield from plan
    952     except GeneratorExit:
    953         cleanup = False

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in inner()
   1431     def inner():
   1432         yield from stage_devices()
-> 1433         return (yield from plan)
   1434 
   1435     return (yield from finalize_wrapper(inner(), unstage_devices()))

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in run_wrapper(plan, md)
    801     """
    802     yield from open_run(md)
--> 803     yield from plan
    804     rs_uid = yield from close_run()
    805     return rs_uid

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in inner_scan()
   2071     def inner_scan():
   2072         for step in steps:
-> 2073             yield from per_step(detectors, motor, step)
   2074 
   2075     return (yield from inner_scan())

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in one_1d_step(detectors, motor, step)
   1929 
   1930     yield from move()
-> 1931     return (yield from trigger_and_read(list(detectors) + [motor]))
   1932 
   1933 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in trigger_and_read(devices, name)
   1735             plan_stack.append(single_gen(Msg('read', obj)))
   1736 
-> 1737     return (yield from rewindable_wrapper(pchain(*plan_stack), rewindable))
   1738 
   1739 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in rewindable_wrapper(plan, rewindable)
   1145                                             restore_rewindable()))
   1146     else:
-> 1147         return (yield from plan)
   1148 
   1149 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/utils.py in single_gen(msg)
    119         the input message
    120     '''
--> 121     return (yield msg)
    122 
    123 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    869                         # exceptions (coming in via throw) can be
    870                         # raised
--> 871                         response = yield from coro(msg)
    872                     # special case `CancelledError` and let the outer
    873                     # exception block deal with it.

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _read(self, msg)
   1190             if obj not in self._describe_cache:
   1191                 # Validate that there is no data key name collision.
-> 1192                 data_keys = obj.describe()
   1193                 self._describe_cache[obj] = data_keys
   1194                 self._config_desc_cache[obj] = obj.describe_configuration()

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in describe(self)
    725         '''describe the read data keys' data types and other metadata'''
    726         res = super().describe()
--> 727         res.update(self._describe_attr_list(self.read_attrs))
    728         return res
    729 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in _describe_attr_list(self, attr_list, config)
    718                 desc.update(obj.describe_configuration())
    719 
--> 720             desc.update(obj.describe())
    721 
    722         return desc

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in describe(self)
    174 
    175     def describe(self):
--> 176         desc = super().describe()
    177         low_limit, high_limit = self.limits
    178 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in describe(self)
    725         '''describe the read data keys' data types and other metadata'''
    726         res = super().describe()
--> 727         res.update(self._describe_attr_list(self.read_attrs))
    728         return res
    729 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in _describe_attr_list(self, attr_list, config)
    718                 desc.update(obj.describe_configuration())
    719 
--> 720             desc.update(obj.describe())
    721 
    722         return desc

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/signal.py in describe(self)
    994         value = self.value
    995         desc = {'source': 'PY:{}.{}'.format(self.parent.name, self.full_attr),
--> 996                 'dtype': data_type(value),
    997                 'shape': data_shape(value),
    998                 }

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/utils/epics_pvs.py in data_type(val)
    462             return json_type
    463     # no legit type found...
--> 464     raise ValueError('{} not a valid type (int, float, ndarray, str)'.format(val))
    465 
    466 

ValueError: 0.156 not a valid type (int, float, ndarray, str)

In [90]: RE(relative_scan([], tardis.l, -0.025, 0.025, 3), print)
Transient Scan ID: 68914
Persistent Unique Scan ID: '0cbf3f57-6c9c-49a7-a68b-ad3edbd50fcd'
start {'lattice': LatticeTuple(a=3.82, b=3.82, c=12.7, alpha=90.0, beta=90.0, gamma=90.0), 'plan_args': {'detectors': [], 'per_step': 'None', 'motor': "PseudoSingle(prefix='', name='tardis_l', parent='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['setpoint', 'readback'], configuration_attrs=[], idx=2)", 'num': 3, 'stop': 0.025, 'start': -0.025}, 'config': {}, 'plan_pattern': 'linspace', 'scan_id': 68914, 'owner': 'xf23id1', 'num_steps': 3, 'plan_pattern_module': 'numpy', 'uid': '0cbf3f57-6c9c-49a7-a68b-ad3edbd50fcd', 'sample': {'lattice': {'gamma': 90.0, 'beta': 90.0, 'a': 3.78, 'alpha': 90.0, 'c': 13.23, 'b': 3.78}, 'composition': 'x = 0.11', 'type': 'LBCO slanted cleaved'}, 'beamline_id': 'CSX-1', 'plan_pattern_args': {'num': 3, 'stop': 0.025, 'start': -0.025}, 'motors': ['tardis_l'], 'project': 'Prop. 300125, SAF 300415', 'group': '', 'detectors': [], 'time': 1475095064.0539327, 'plan_type': 'generator', 'plan_name': 'relative_scan'}
stop {'reason': '0.13099911867316505 not a valid type (int, float, ndarray, str)', 'exit_status': 'fail', 'run_start': '0cbf3f57-6c9c-49a7-a68b-ad3edbd50fcd', 'uid': '1740bb6b-f4f7-4a60-82c5-45084c1cd709', 'time': 1475095091.7537203}
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-90-3d34f07ee664> in <module>()
----> 1 RE(relative_scan([], tardis.l, -0.025, 0.025, 3), print)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    537                 exc = self._task.exception()
    538                 if exc is not None:
--> 539                     raise exc
    540             if raise_if_interrupted and self._interrupted:
    541                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _run(self)
    920             self.log.error("Run aborted")
    921             self.log.error("%r", err)
--> 922             raise err
    923         finally:
    924             # call stop() on every movable object we ever set()

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    818                         resp = self._response_stack.pop()
    819                         try:
--> 820                             msg = self._plan_stack[-1].send(resp)
    821                         # We have exhausted the top generator
    822                         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in relative_scan(detectors, motor, start, stop, num, per_step, md)
   2114                                 num, per_step=per_step, md=md))
   2115 
-> 2116     return (yield from inner_relative_scan())
   2117 
   2118 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in reset_positions_wrapper(plan, devices)
   1541 
   1542     return (yield from finalize_wrapper(plan_mutator(plan, insert_reads),
-> 1543                                         reset()))
   1544 
   1545 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan)
    949     cleanup = True
    950     try:
--> 951         ret = yield from plan
    952     except GeneratorExit:
    953         cleanup = False

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    195             inner_ret = yield msg
    196         except Exception as ex:
--> 197             msg = plan.throw(ex)
    198             plan_stack.append(single_gen(msg))
    199             result_stack.append(None)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in relative_set_wrapper(plan, devices)
   1491     plan = plan_mutator(plan, insert_reads)
   1492     plan = msg_mutator(plan, rewrite_pos)
-> 1493     return (yield from plan)
   1494 
   1495 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in msg_mutator(plan, msg_proc)
    236                 ret = None
    237                 continue
--> 238             ret = yield msg
    239         except StopIteration:
    240             break

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    869                         # exceptions (coming in via throw) can be
    870                         # raised
--> 871                         response = yield from coro(msg)
    872                     # special case `CancelledError` and let the outer
    873                     # exception block deal with it.

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _read(self, msg)
   1190             if obj not in self._describe_cache:
   1191                 # Validate that there is no data key name collision.
-> 1192                 data_keys = obj.describe()
   1193                 self._describe_cache[obj] = data_keys
   1194                 self._config_desc_cache[obj] = obj.describe_configuration()

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in describe(self)
    174 
    175     def describe(self):
--> 176         desc = super().describe()
    177         low_limit, high_limit = self.limits
    178 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in describe(self)
    725         '''describe the read data keys' data types and other metadata'''
    726         res = super().describe()
--> 727         res.update(self._describe_attr_list(self.read_attrs))
    728         return res
    729 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in _describe_attr_list(self, attr_list, config)
    718                 desc.update(obj.describe_configuration())
    719 
--> 720             desc.update(obj.describe())
    721 
    722         return desc

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/signal.py in describe(self)
    994         value = self.value
    995         desc = {'source': 'PY:{}.{}'.format(self.parent.name, self.full_attr),
--> 996                 'dtype': data_type(value),
    997                 'shape': data_shape(value),
    998                 }

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/utils/epics_pvs.py in data_type(val)
    462             return json_type
    463     # no legit type found...
--> 464     raise ValueError('{} not a valid type (int, float, ndarray, str)'.format(val))
    465 
    466 

ValueError: 0.13099911867316505 not a valid type (int, float, ndarray, str)

With msg_hook = print for ascan and relative_scan

In [92]: RE(ascan(tardis.l,0.156,0.215,3))
subscribe: (None), ('all', <bluesky.callbacks.core.LiveTable object at 0x7f8102b224e0>), {}
subscribe: (None), ('all', <bluesky.callbacks.core.LivePlot object at 0x7f8102b22390>), {}
subscribe: (None), ('all', <bluesky.callbacks.scientific.PeakStats object at 0x7f8102b22048>), {}
stage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
stage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
stage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
stage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
stage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
stage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
stage: (Cryoangle(prefix='', name='cryoangle', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
stage: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
stage: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
stage: (Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[])), (), {}
stage: (EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=84.52101135253906, timestamp=1475095120.757936, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', limits=False, put_complete=False)), (), {}
stage: (PGM(prefix='XF:23ID1-OP{Mono', name='pgm', read_attrs=['energy', 'pit', 'x', 'grt_pit', 'grt_x'], configuration_attrs=[])), (), {}
stage: (EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {}
stage: (EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {}
stage: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {}
stage: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {}
stage: (SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[])), (), {}
stage: (Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[])), (), {}
stage: (MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[])), (), {}
stage: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=302.078, timestamp=1475095120.792373, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', limits=False, put_complete=False)), (), {}
stage: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', name='mono_tempb', value=302.048, timestamp=1475095120.852391, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', limits=False, put_complete=False)), (), {}
stage: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:1}T-I', name='grt1_temp', value=28.6, timestamp=1475095121.025394, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:1}T-I', limits=False, put_complete=False)), (), {}
stage: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:2}T-I', name='grt2_temp', value=28.3, timestamp=1475095121.025396, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:2}T-I', limits=False, put_complete=False)), (), {}
stage: (EpicsSignal(read_pv='XF:23ID-SR{}I-I', name='ring_curr', value=0.0, timestamp=1475095120.872247, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False)), (), {}
stage: (Nanopositioner(prefix='XF:23ID1-ES{Dif:Lens', name='nanop', read_attrs=['tx', 'ty', 'tz', 'bx', 'by', 'bz'], configuration_attrs=[])), (), {}
stage: (EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'])), (), {}
stage: (EpicsSignal(read_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', name='diag6_monitor', value=54489428.0, timestamp=1475095121.282715, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', limits=False, put_complete=False)), (), {}
stage: (Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)), (), {}
stage: (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=[])), (), {}
open_run: (None), (), {'num_steps': 4, 'plan_args': {'detectors': ["EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])", "EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])", "EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])", "EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])", "EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])", "EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])", "Cryoangle(prefix='', name='cryoangle', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')", "SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')", "SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')", "Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[])", "EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=84.52101135253906, timestamp=1475095120.757936, tolerance=0.01, 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, timeout=None, read_attrs=['readback', 'setpoint', 'stop_signal'], configuration_attrs=[], limits=None, egu='')", "EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[])", "EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[])", "SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])", "SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])", "SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[])", "Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[])", "MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[])", "EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=302.078, timestamp=1475095120.792373, tolerance=0.001, 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=302.048, timestamp=1475095120.852391, tolerance=0.001, 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-Grt:1}T-I', name='grt1_temp', value=28.6, timestamp=1475095121.025394, tolerance=0.1, 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=28.3, timestamp=1475095121.025396, tolerance=0.1, 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=0.0, timestamp=1475095120.872247, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False)", "Nanopositioner(prefix='XF:23ID1-ES{Dif:Lens', name='nanop', read_attrs=['tx', 'ty', 'tz', 'bx', 'by', 'bz'], configuration_attrs=[])", "EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'])", "EpicsSignal(read_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', name='diag6_monitor', value=54489428.0, timestamp=1475095121.282715, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', limits=False, put_complete=False)", "Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)", "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=[])"], 'per_step': 'None', 'motor': "PseudoSingle(prefix='', name='tardis_l', parent='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['setpoint', 'readback'], configuration_attrs=[], idx=2)", 'num': 4, 'stop': 0.215, 'start': 0.156}, 'detectors': ['theta', 'delta', 'gamma', 'sx', 'say', 'saz', 'cryoangle', 'sy', 'sz', 'temp', 'uw_temp', 'pgm_en', 'epu1', 'epu2', 'slt1', 'slt2', 'slt3', 'm1a', 'm3a', 'mono_tempa', 'mono_tempb', 'grt1_temp', 'grt2_temp', 'ring_curr', 'nanop', 'sclr', 'diag6_monitor', 'tardis', 'fccd'], 'plan_pattern_args': {'num': 4, 'stop': 0.215, 'start': 0.156}, 'count_time': None, 'motors': ['tardis_l'], 'plan_pattern_module': 'numpy', 'plan_pattern': 'linspace', 'plan_name': 'ascan'}
Transient Scan ID: 68915
Persistent Unique Scan ID: 'abe9823d-b4f2-436f-8b73-3c1fd87f9582'
trigger: (PseudoSingle(prefix='', name='tardis_l', parent='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['setpoint', 'readback'], configuration_attrs=[], idx=2)), (), {'group': 'trigger-66d677'}
wait: (None), (), {'group': 'trigger-66d677'}
create: (None), (), {'name': 'baseline'}
read: (PseudoSingle(prefix='', name='tardis_l', parent='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['setpoint', 'readback'], configuration_attrs=[], idx=2)), (), {}
save: (None), (), {}
checkpoint: (None), (), {}
set: (PseudoSingle(prefix='', name='tardis_l', parent='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['setpoint', 'readback'], configuration_attrs=[], idx=2)), (0.156,), {'group': 'set-3ac5f6'}
wait: (None), (), {'group': 'set-3ac5f6'}
trigger: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {'group': 'trigger-feed79'}
trigger: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {'group': 'trigger-feed79'}
trigger: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {'group': 'trigger-feed79'}
trigger: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {'group': 'trigger-feed79'}
trigger: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {'group': 'trigger-feed79'}
trigger: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {'group': 'trigger-feed79'}
trigger: (Cryoangle(prefix='', name='cryoangle', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {'group': 'trigger-feed79'}
trigger: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {'group': 'trigger-feed79'}
trigger: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {'group': 'trigger-feed79'}
trigger: (Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=84.52771759033203, timestamp=1475095124.760507, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', limits=False, put_complete=False)), (), {'group': 'trigger-feed79'}
trigger: (PGMEnergy(prefix='XF:23ID1-OP{Mono', name='pgm_en', parent='pgm', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint', 'stop_signal'], configuration_attrs=[], limits=None, egu='')), (), {'group': 'trigger-feed79'}
trigger: (EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=302.075, timestamp=1475095124.993101, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', limits=False, put_complete=False)), (), {'group': 'trigger-feed79'}
trigger: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', name='mono_tempb', value=302.046, timestamp=1475095125.053159, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', limits=False, put_complete=False)), (), {'group': 'trigger-feed79'}
trigger: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:1}T-I', name='grt1_temp', value=28.6, timestamp=1475095126.025835, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:1}T-I', limits=False, put_complete=False)), (), {'group': 'trigger-feed79'}
trigger: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:2}T-I', name='grt2_temp', value=28.3, timestamp=1475095126.025836, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:2}T-I', limits=False, put_complete=False)), (), {'group': 'trigger-feed79'}
trigger: (EpicsSignal(read_pv='XF:23ID-SR{}I-I', name='ring_curr', value=0.0, timestamp=1475095125.966684, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False)), (), {'group': 'trigger-feed79'}
trigger: (Nanopositioner(prefix='XF:23ID1-ES{Dif:Lens', name='nanop', read_attrs=['tx', 'ty', 'tz', 'bx', 'by', 'bz'], configuration_attrs=[])), (), {'group': 'trigger-feed79'}
trigger: (EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'])), (), {'group': 'trigger-feed79'}
trigger: (EpicsSignal(read_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', name='diag6_monitor', value=54576268.0, timestamp=1475095126.282723, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', limits=False, put_complete=False)), (), {'group': 'trigger-feed79'}
trigger: (Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)), (), {'group': 'trigger-feed79'}
trigger: (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=[])), (), {'group': 'trigger-feed79'}
wait: (None), (), {'group': 'trigger-feed79'}
create: (None), (), {'name': 'primary'}
read: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
read: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
read: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
read: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
read: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
read: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
read: (Cryoangle(prefix='', name='cryoangle', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
read: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
read: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
read: (Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[])), (), {}
read: (EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=84.53779602050781, timestamp=1475095126.769976, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', limits=False, put_complete=False)), (), {}
read: (PGMEnergy(prefix='XF:23ID1-OP{Mono', name='pgm_en', parent='pgm', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint', 'stop_signal'], configuration_attrs=[], limits=None, egu='')), (), {}
read: (EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {}
read: (EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {}
read: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {}
read: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {}
read: (SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[])), (), {}
read: (Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[])), (), {}
read: (MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[])), (), {}
read: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=302.073, timestamp=1475095126.793509, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', limits=False, put_complete=False)), (), {}
read: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', name='mono_tempb', value=302.043, timestamp=1475095126.853588, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', limits=False, put_complete=False)), (), {}
read: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:1}T-I', name='grt1_temp', value=28.700000000000003, timestamp=1475095128.026016, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:1}T-I', limits=False, put_complete=False)), (), {}
read: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:2}T-I', name='grt2_temp', value=28.400000000000002, timestamp=1475095128.026018, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:2}T-I', limits=False, put_complete=False)), (), {}
read: (EpicsSignal(read_pv='XF:23ID-SR{}I-I', name='ring_curr', value=0.0, timestamp=1475095128.011319, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False)), (), {}
read: (Nanopositioner(prefix='XF:23ID1-ES{Dif:Lens', name='nanop', read_attrs=['tx', 'ty', 'tz', 'bx', 'by', 'bz'], configuration_attrs=[])), (), {}
read: (EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'])), (), {}
read: (EpicsSignal(read_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', name='diag6_monitor', value=54411092.0, timestamp=1475095128.282753, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', limits=False, put_complete=False)), (), {}
read: (Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)), (), {}
unstage: (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=[])), (), {}
unstage: (Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)), (), {}
unstage: (EpicsSignal(read_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', name='diag6_monitor', value=54411092.0, timestamp=1475095128.282753, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-BI{Diag:6-Cam:1}Stats1:Total_RBV', limits=False, put_complete=False)), (), {}
unstage: (EpicsScaler(prefix='XF:23ID1-ES{Sclr:1}', name='sclr', read_attrs=['channels', 'time'], configuration_attrs=['preset_time', 'presets', 'gates'])), (), {}
unstage: (Nanopositioner(prefix='XF:23ID1-ES{Dif:Lens', name='nanop', read_attrs=['tx', 'ty', 'tz', 'bx', 'by', 'bz'], configuration_attrs=[])), (), {}
unstage: (EpicsSignal(read_pv='XF:23ID-SR{}I-I', name='ring_curr', value=0.0, timestamp=1475095128.011319, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID-SR{}I-I', limits=False, put_complete=False)), (), {}
unstage: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:2}T-I', name='grt2_temp', value=28.400000000000002, timestamp=1475095128.026018, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:2}T-I', limits=False, put_complete=False)), (), {}
unstage: (EpicsSignal(read_pv='XF:23ID1-OP{Mon-Grt:1}T-I', name='grt1_temp', value=28.700000000000003, timestamp=1475095128.026016, tolerance=0.1, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{Mon-Grt:1}T-I', limits=False, put_complete=False)), (), {}
unstage: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', name='mono_tempb', value=302.043, timestamp=1475095126.853588, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:B}T-I', limits=False, put_complete=False)), (), {}
unstage: (EpicsSignal(read_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', name='mono_tempa', value=302.073, timestamp=1475095126.793509, tolerance=0.001, pv_kw={}, auto_monitor=False, string=False, write_pv='XF:23ID1-OP{TCtrl:1-Chan:A}T-I', limits=False, put_complete=False)), (), {}
unstage: (MotorMirror(prefix='XF:23ID1-OP{Mir:3', name='m3a', read_attrs=['x', 'pit', 'bdr'], configuration_attrs=[])), (), {}
unstage: (Mirror(prefix='XF:23IDA-OP:1{Mir:1', name='m1a', read_attrs=['z', 'y', 'x', 'pit', 'yaw', 'rol'], configuration_attrs=[])), (), {}
unstage: (SlitsXY(prefix='XF:23ID1-OP{Slt:3', name='slt3', read_attrs=['x', 'y'], configuration_attrs=[])), (), {}
unstage: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:2', name='slt2', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {}
unstage: (SlitsGapCenter(prefix='XF:23ID1-OP{Slt:1', name='slt1', read_attrs=['xg', 'xc', 'yg', 'yc'], configuration_attrs=[])), (), {}
unstage: (EPU2(prefix='XF:23ID-ID{EPU:2', name='epu2', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {}
unstage: (EPU1(prefix='XF:23ID-ID{EPU:1', name='epu1', read_attrs=['gap', 'phase'], configuration_attrs=[])), (), {}
unstage: (PGM(prefix='XF:23ID1-OP{Mono', name='pgm', read_attrs=['energy', 'pit', 'x', 'grt_pit', 'grt_x'], configuration_attrs=[])), (), {}
unstage: (EpicsSignal(read_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', name='uw_temp', value=84.53779602050781, timestamp=1475095126.769976, tolerance=0.01, pv_kw={}, auto_monitor=False, string=False, write_pv='UT:SB1-Cu:1{}T:Spply_Ld-I', limits=False, put_complete=False)), (), {}
unstage: (Temperature(prefix='XF:23ID1-ES{TCtrl:1', name='temp', read_attrs=['a', 'b'], configuration_attrs=[])), (), {}
unstage: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SZ}', name='sz', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
unstage: (SamplePosVirtualMotor(prefix='XF:23ID1-ES{Dif-Ax:SY}', name='sy', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
unstage: (Cryoangle(prefix='', name='cryoangle', settle_time=0.0, timeout=None, read_attrs=['readback', 'setpoint'], configuration_attrs=[], limits=None, egu='')), (), {}
unstage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Z}Mtr', name='saz', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
unstage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Y}Mtr', name='say', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
unstage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:X}Mtr', name='sx', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
unstage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Gam}Mtr', name='gamma', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
unstage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Del}Mtr', name='delta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
unstage: (EpicsMotor(prefix='XF:23ID1-ES{Dif-Ax:Th}Mtr', name='theta', settle_time=0.0, timeout=None, read_attrs=['user_readback', 'user_setpoint'], configuration_attrs=['motor_egu'])), (), {}
unsubscribe: (None), (), {'token': 32}
unsubscribe: (None), (), {'token': 30}
unsubscribe: (None), (), {'token': 31}
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-92-897286f97673> in <module>()
----> 1 RE(ascan(tardis.l,0.156,0.215,3))

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    537                 exc = self._task.exception()
    538                 if exc is not None:
--> 539                     raise exc
    540             if raise_if_interrupted and self._interrupted:
    541                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _run(self)
    920             self.log.error("Run aborted")
    921             self.log.error("%r", err)
--> 922             raise err
    923         finally:
    924             # call stop() on every movable object we ever set()

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    818                         resp = self._response_stack.pop()
    819                         try:
--> 820                             msg = self._plan_stack[-1].send(resp)
    821                         # We have exhausted the top generator
    822                         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/spec_api.py in ascan(motor, start, finish, intervals, time, md)
    303 
    304     return (yield from inner(gs.DETS, motor, start, finish,
--> 305                              1 + intervals, md=md))
    306 gs.SUB_FACTORIES['ascan'] = [setup_livetable,
    307                              setup_plot,

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in subs_wrapper(plan, subs)
    854 
    855     return (yield from finalize_wrapper(pchain(_subscribe(), plan),
--> 856                                         _unsubscribe()))
    857 
    858 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan)
    949     cleanup = True
    950     try:
--> 951         ret = yield from plan
    952     except GeneratorExit:
    953         cleanup = False

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in configure_count_time_wrapper(plan, time)
   1589     if time is None:
   1590         # no-op
-> 1591         return (yield from plan)
   1592     else:
   1593         return (yield from finalize_wrapper(plan_mutator(plan, insert_set),

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in fly_during_wrapper(plan, flyers)
   1306     plan1 = plan_mutator(plan, insert_after_open)
   1307     plan2 = plan_mutator(plan1, insert_before_close)
-> 1308     return (yield from plan2)
   1309 
   1310 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in monitor_during_wrapper(plan, signals)
   1248     plan1 = plan_mutator(plan, insert_after_open)
   1249     plan2 = plan_mutator(plan1, insert_before_close)
-> 1250     return (yield from plan2)
   1251 
   1252 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in baseline_wrapper(plan, devices, name)
   1631         return (yield from plan)
   1632     else:
-> 1633         return (yield from plan_mutator(plan, insert_baseline))
   1634 
   1635 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    167                 continue
    168             else:
--> 169                 raise ex
    170 
    171         # if inserting / mutating, put new generator on the stack

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    123             # send last result to the top most generator in the
    124             # stack this may raise StopIteration
--> 125             msg = plan_stack[-1].send(ret)
    126 
    127         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/spec_api.py in inner_spec_plan(md, *args, **kwargs)
    246                                gs.MD_TIME_KEY: time})
    247 
--> 248             return (yield from func(*args, md=md, **kwargs))
    249         return inner_spec_plan
    250     return outer

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in scan(detectors, motor, start, stop, num, per_step, md)
   2073             yield from per_step(detectors, motor, step)
   2074 
-> 2075     return (yield from inner_scan())
   2076 
   2077 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in stage_wrapper(plan, devices)
   1433         return (yield from plan)
   1434 
-> 1435     return (yield from finalize_wrapper(inner(), unstage_devices()))
   1436 
   1437 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan)
    949     cleanup = True
    950     try:
--> 951         ret = yield from plan
    952     except GeneratorExit:
    953         cleanup = False

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in inner()
   1431     def inner():
   1432         yield from stage_devices()
-> 1433         return (yield from plan)
   1434 
   1435     return (yield from finalize_wrapper(inner(), unstage_devices()))

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in run_wrapper(plan, md)
    801     """
    802     yield from open_run(md)
--> 803     yield from plan
    804     rs_uid = yield from close_run()
    805     return rs_uid

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in inner_scan()
   2071     def inner_scan():
   2072         for step in steps:
-> 2073             yield from per_step(detectors, motor, step)
   2074 
   2075     return (yield from inner_scan())

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in one_1d_step(detectors, motor, step)
   1929 
   1930     yield from move()
-> 1931     return (yield from trigger_and_read(list(detectors) + [motor]))
   1932 
   1933 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in trigger_and_read(devices, name)
   1735             plan_stack.append(single_gen(Msg('read', obj)))
   1736 
-> 1737     return (yield from rewindable_wrapper(pchain(*plan_stack), rewindable))
   1738 
   1739 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in rewindable_wrapper(plan, rewindable)
   1145                                             restore_rewindable()))
   1146     else:
-> 1147         return (yield from plan)
   1148 
   1149 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/utils.py in single_gen(msg)
    119         the input message
    120     '''
--> 121     return (yield msg)
    122 
    123 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    193         try:
    194             # yield out the 'current message' and collect the return
--> 195             inner_ret = yield msg
    196         except Exception as ex:
    197             msg = plan.throw(ex)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    869                         # exceptions (coming in via throw) can be
    870                         # raised
--> 871                         response = yield from coro(msg)
    872                     # special case `CancelledError` and let the outer
    873                     # exception block deal with it.

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _read(self, msg)
   1190             if obj not in self._describe_cache:
   1191                 # Validate that there is no data key name collision.
-> 1192                 data_keys = obj.describe()
   1193                 self._describe_cache[obj] = data_keys
   1194                 self._config_desc_cache[obj] = obj.describe_configuration()

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in describe(self)
    725         '''describe the read data keys' data types and other metadata'''
    726         res = super().describe()
--> 727         res.update(self._describe_attr_list(self.read_attrs))
    728         return res
    729 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in _describe_attr_list(self, attr_list, config)
    718                 desc.update(obj.describe_configuration())
    719 
--> 720             desc.update(obj.describe())
    721 
    722         return desc

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in describe(self)
    174 
    175     def describe(self):
--> 176         desc = super().describe()
    177         low_limit, high_limit = self.limits
    178 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in describe(self)
    725         '''describe the read data keys' data types and other metadata'''
    726         res = super().describe()
--> 727         res.update(self._describe_attr_list(self.read_attrs))
    728         return res
    729 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/device.py in _describe_attr_list(self, attr_list, config)
    718                 desc.update(obj.describe_configuration())
    719 
--> 720             desc.update(obj.describe())
    721 
    722         return desc

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/signal.py in describe(self)
    994         value = self.value
    995         desc = {'source': 'PY:{}.{}'.format(self.parent.name, self.full_attr),
--> 996                 'dtype': data_type(value),
    997                 'shape': data_shape(value),
    998                 }

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/utils/epics_pvs.py in data_type(val)
    462             return json_type
    463     # no legit type found...
--> 464     raise ValueError('{} not a valid type (int, float, ndarray, str)'.format(val))
    465 
    466 

ValueError: 0.156 not a valid type (int, float, ndarray, str)

In [93]: RE(list_scan([], tardis, [(0.95, 0.035, 0.18)]), print)
stage: (Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)), (), {}
open_run: (None), (), {'plan_args': {'motor': "Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)", 'detectors': [], 'per_step': 'None', 'steps': [(0.95, 0.035, 0.18)]}, 'detectors': [], 'plan_pattern_args': {'object': [(0.95, 0.035, 0.18)]}, 'num_steps': 1, 'motors': ['tardis'], 'plan_pattern_module': 'numpy', 'plan_pattern': 'array', 'plan_name': 'list_scan'}
Transient Scan ID: 68916
Persistent Unique Scan ID: 'd0024ee9-b820-4cdc-ba17-55ab5dc489cd'
start {'lattice': LatticeTuple(a=3.82, b=3.82, c=12.7, alpha=90.0, beta=90.0, gamma=90.0), 'plan_args': {'motor': "Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)", 'detectors': [], 'per_step': 'None', 'steps': [(0.95, 0.035, 0.18)]}, 'config': {}, 'plan_pattern': 'array', 'scan_id': 68916, 'owner': 'xf23id1', 'num_steps': 1, 'plan_pattern_module': 'numpy', 'uid': 'd0024ee9-b820-4cdc-ba17-55ab5dc489cd', 'sample': {'lattice': {'gamma': 90.0, 'beta': 90.0, 'a': 3.78, 'alpha': 90.0, 'c': 13.23, 'b': 3.78}, 'composition': 'x = 0.11', 'type': 'LBCO slanted cleaved'}, 'beamline_id': 'CSX-1', 'plan_pattern_args': {'object': [(0.95, 0.035, 0.18)]}, 'motors': ['tardis'], 'project': 'Prop. 300125, SAF 300415', 'group': '', 'detectors': [], 'time': 1475096500.588611, 'plan_type': 'generator', 'plan_name': 'list_scan'}
checkpoint: (None), (), {}
set: (Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)), ((0.95, 0.035, 0.18),), {'group': 'set-cd4bd3'}
unstage: (Tardis(prefix='', name='tardis', settle_time=0.0, timeout=None, egu='', limits=(0, 0), source='computed', read_attrs=['h', 'k', 'l', 'theta', 'omega', 'chi', 'phi', 'delta', 'gamma'], configuration_attrs=['UB', 'energy'], concurrent=True)), (), {}
stop {'reason': 'Unable to solve. iterations=100/100\nLast valid position: [0.14534675544803788, 0.0053261752919622415, 0.1573982108838757]\nPosCalcE6C(theta=98.41783508833072, omega=0.0, chi=0.0, phi=0.0, delta=0.0972989242320158, gamma=30.96439194048716) ', 'exit_status': 'fail', 'run_start': 'd0024ee9-b820-4cdc-ba17-55ab5dc489cd', 'uid': '417cd539-3ca5-4ae8-82a6-6973c94a0c76', 'time': 1475096501.3630521}
---------------------------------------------------------------------------
GError                                    Traceback (most recent call last)
/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/hkl/engine.py in pseudo_positions(self, values)
    213             geometry_list = self._engine.pseudo_axis_values_set(values,
--> 214                                                                 self._units)
    215         except GLib.GError as ex:

GError: none of the functions were solved !!!

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/hkl/calc.py in forward_iter(self, start, end, max_iters, threshold, decision_fcn)
    490         try:
--> 491             self.engine.pseudo_positions = end
    492             return self.engine.solutions

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/hkl/engine.py in pseudo_positions(self, values)
    215         except GLib.GError as ex:
--> 216             raise ValueError('Calculation failed (%s)' % ex)
    217 

ValueError: Calculation failed (none of the functions were solved !!!)

During handling of the above exception, another exception occurred:

UnreachableError                          Traceback (most recent call last)
<ipython-input-93-e54fb8bddc9f> in <module>()
----> 1 RE(list_scan([], tardis, [(0.95, 0.035, 0.18)]), print)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    537                 exc = self._task.exception()
    538                 if exc is not None:
--> 539                     raise exc
    540             if raise_if_interrupted and self._interrupted:
    541                 raise RunEngineInterrupted("RunEngine was interrupted.")

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _run(self)
    920             self.log.error("Run aborted")
    921             self.log.error("%r", err)
--> 922             raise err
    923         finally:
    924             # call stop() on every movable object we ever set()

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    818                         resp = self._response_stack.pop()
    819                         try:
--> 820                             msg = self._plan_stack[-1].send(resp)
    821                         # We have exhausted the top generator
    822                         except StopIteration:

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in list_scan(detectors, motor, steps, per_step, md)
   1981             yield from per_step(detectors, motor, step)
   1982 
-> 1983     return (yield from inner_list_scan())
   1984 
   1985 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in stage_wrapper(plan, devices)
   1433         return (yield from plan)
   1434 
-> 1435     return (yield from finalize_wrapper(inner(), unstage_devices()))
   1436 
   1437 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in finalize_wrapper(plan, final_plan)
    949     cleanup = True
    950     try:
--> 951         ret = yield from plan
    952     except GeneratorExit:
    953         cleanup = False

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in inner()
   1431     def inner():
   1432         yield from stage_devices()
-> 1433         return (yield from plan)
   1434 
   1435     return (yield from finalize_wrapper(inner(), unstage_devices()))

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in dec_inner(*inner_args, **inner_kwargs)
     45                 plan = gen_func(*inner_args, **inner_kwargs)
     46                 plan = wrapper(plan, *args, **kwargs)
---> 47                 return (yield from plan)
     48             return dec_inner
     49         return dec

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in run_wrapper(plan, md)
    801     """
    802     yield from open_run(md)
--> 803     yield from plan
    804     rs_uid = yield from close_run()
    805     return rs_uid

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in inner_list_scan()
   1979     def inner_list_scan():
   1980         for step in steps:
-> 1981             yield from per_step(detectors, motor, step)
   1982 
   1983     return (yield from inner_list_scan())

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in one_1d_step(detectors, motor, step)
   1928         yield Msg('wait', None, group=grp)
   1929 
-> 1930     yield from move()
   1931     return (yield from trigger_and_read(list(detectors) + [motor]))
   1932 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/plans.py in move()
   1925         grp = _short_uid('set')
   1926         yield Msg('checkpoint')
-> 1927         yield Msg('set', motor, step, group=grp)
   1928         yield Msg('wait', None, group=grp)
   1929 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/bluesky/run_engine.py in _run(self)
    869                         # exceptions (coming in via throw) can be
    870                         # raised
--> 871                         response = yield from coro(msg)
    872                     # special case `CancelledError` and let the outer
    873                     # exception block deal with it.

/home/xf23id1/conda_envs/collection/lib/python3.5/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.5/site-packages/bluesky/run_engine.py in _set(self, msg)
   1564         group = msg.kwargs.pop('group', None)
   1565         self._movable_objs_touched.add(msg.obj)
-> 1566         ret = msg.obj.set(*msg.args, **msg.kwargs)
   1567         p_event = asyncio.Event(loop=self.loop)
   1568 

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in wrapped(self, *args, **kwargs)
    198                 pos, new_kwargs = self.to_real_tuple(*args, **kwargs)
    199 
--> 200             return method(self, pos, **new_kwargs)
    201 
    202         return wrapped

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in set(self, position, **kwargs)
    875         status : MoveStatus
    876         '''
--> 877         return super().set(position, **kwargs)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/positioner.py in set(self, new_position, wait, moved_cb, timeout)
    184         """
    185         return self.move(new_position, wait=wait, moved_cb=moved_cb,
--> 186                          timeout=timeout)
    187 
    188     def _repr_info(self):

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in wrapped(self, *args, **kwargs)
    198                 pos, new_kwargs = self.to_real_tuple(*args, **kwargs)
    199 
--> 200             return method(self, pos, **new_kwargs)
    201 
    202         return wrapped

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in move(self, position, wait, timeout, moved_cb)
    793                 positioner._target = single_pos
    794         return super().move(position, wait=wait, timeout=timeout,
--> 795                             moved_cb=moved_cb)
    796 
    797     move.__doc__ = SoftPositioner.move.__doc__

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/positioner.py in move(self, position, wait, timeout, moved_cb)
    282             If motion fails other than timing out
    283         '''
--> 284         status = super().move(position, moved_cb=moved_cb, timeout=timeout)
    285 
    286         self._setup_move(position, status)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/positioner.py in move(self, position, moved_cb, timeout)
    113             timeout = self._timeout
    114 
--> 115         self.check_value(position)
    116 
    117         self._run_subs(sub_type=self._SUB_REQ_DONE, success=False)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in check_value(self, pseudo_pos)
    565                                                             pos, high))
    566 
--> 567         real_pos = self.forward(pseudo_pos)
    568         for real, pos in zip(self._real, real_pos):
    569             real.check_value(pos)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/ophyd/pseudopos.py in wrapped(self, *args, **kwargs)
    198                 pos, new_kwargs = self.to_real_tuple(*args, **kwargs)
    199 
--> 200             return method(self, pos, **new_kwargs)
    201 
    202         return wrapped

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/hkl/diffract.py in forward(self, pseudo)
    231     def forward(self, pseudo):
    232         solutions = self._calc.forward_iter(start=self.position, end=pseudo,
--> 233                                             max_iters=100)
    234         logger.debug('pseudo to real: {}'.format(solutions))
    235         return self._decision_fcn(pseudo, solutions)

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/hkl/calc.py in wrapped(self, *args, **kwargs)
     42             initial_pos = self.physical_positions
     43             try:
---> 44                 return func(self, *args, **kwargs)
     45             finally:
     46                 self.physical_positions = initial_pos

/home/xf23id1/conda_envs/collection/lib/python3.5/site-packages/hkl/calc.py in forward_iter(self, start, end, max_iters, threshold, decision_fcn)
    496                                    ''.format(iters, max_iters, valid_pseudo,
    497                                              valid_real),
--> 498                                    pseudo=valid_pseudo, physical=valid_real)
    499 
    500     @_keep_physical_position

UnreachableError: Unable to solve. iterations=100/100
Last valid position: [0.14534675544803788, 0.0053261752919622415, 0.1573982108838757]
PosCalcE6C(theta=98.41783508833072, omega=0.0, chi=0.0, phi=0.0, delta=0.0972989242320158, gamma=30.96439194048716) 
ambarb commented 7 years ago

reproduced the above after restarting session. utilized the same orientation matrix from testing done during shutdown, which belonged to previous user.

tacaswell commented 7 years ago

You should be able to reproduce this with

tardis.describe()

The bug is someplace in the code that sorts out what type the value is, but I can not think of anything we changed between last cycle and now that would have caused this. Do you have un-commited changes to hklpy on the BL computer?

tacaswell commented 7 years ago

At least the first problem.

ambarb commented 7 years ago

The output from tardis.describe() indicates that the upper and lower limits for h,k, and l and their septoints are all 0. This must be why it fails, correct? I will try that tomorrow am. @cmazzoli do you know if there are any other little things like this?

If some change was made locally, then I would say it was ages ago. Is it possible to investigate this?

tacaswell commented 7 years ago

Try tardis.l.describe() ?

tacaswell commented 7 years ago

And I poked around a bit and could only find one checkout of hlkpy and it is a previous version. I have a guess at what the problem is, but need to poke at the live objects to be sure.

ambarb commented 4 years ago

should we move this to Bluesky hklpy issues or did we address

mrakitin commented 4 years ago

+1 for moving it to the proposed location, and then close after testing.

cmazzoli commented 4 years ago

Hi guys, for what I remember there was a long discussion on this issue, started with the first implementation of HKL. Long story short, people did not realize that moving 1 (or 2) of the {H, K, L} variables in the Miller's indexes triplet [H, K ,L] MUST CORRESPOND to the other 2 (or 1, respectively) keeping their current value(s). Probably it was not evident the role of {H, K, L} as pseudo motors for diffraction, essentially. Anyway, this ended up being a major problem and pain, especially for basic trajectories in reciprocal lattice (RL), as they had to be defined as completely general.. (full triplet declared per RL position, instead of only the specific subset of indexes). We even risked collisions, as Andi pointed out..

So, we complained and you guys come up with a solution. I seem to remember that this was working ok, starting when the correct implementation of RL positions was taken into account, together with a new definition of our diffractometer (tardis) object (containing {H, K, L} as part of it).

Now, I must confess that I am a little surprised of this issue, but it might be simply wrong in my recollection as a side effect of min-safe. Apologies if this is the case.

Best regards, Claudio

On Jul 1, 2020, at 4:18 PM, Maksim Rakitin notifications@github.com wrote:

+1 for moving it to the proposed location, and then close after testing.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NSLS-II/Bug-Reports/issues/140#issuecomment-652625939, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUOKFTJWJE3PONZTWY6NFLRZOK2LANCNFSM4CRFLNZQ.

mrakitin commented 4 years ago

Thank you for the background, Claudio!