Provide a brief description of the bug.
Several issues appeared during attempted implementation of a ComputedSignal combining some BPMs
- Function parsing is extremely fragile. e.g., including more than one space between
def and the function name will break it with an extremely difficult to interpret error
Device bcu_xasym failed to update:
Traceback (most recent call last):
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 152, in _load_session
self.initialize_delayed_devices(dev, config, obj)
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 175, in initialize_delayed_devices
obj = self.initialize_device(dev, config, obj)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 355, in initialize_device
self.update_config(obj, config)
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 264, in update_config
setattr(obj, config_key, config_value)
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/ophyd_devices/ophyd_devices/utils/dynamic_pseudo.py", line 106, in compute_method
exec(method, out)
File "<string>", line 1
user_compute_methodduser_compute_methodeuser_compute_methodfuser_compute_method user_compute_method user_compute_methodcuser_compute_methodouser_compute_methodmuser_compute_methodpuser_compute_methoduuser_compute_methodtuser_compute_methodeuser_compute_method_user_compute_methodxuser_compute_methodauser_compute_methodsuser_compute_methodyuser_compute_methodmuser_compute_method(user_compute_method)user_compute_method:user_compute_method
A recovery config was written to /home/gac-x10sa/data/raw/logs/device_configs/recovery_configs/recovery_config_2025-10-22_10-17-31.yaml.
Failed to update the config for some devices.
Device bcu_xasym failed to update:
Traceback (most recent call last):
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 152, in _load_session
self.initialize_delayed_devices(dev, config, obj)
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 175, in initialize_delayed_devices
obj = self.initialize_device(dev, config, obj)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 355, in initialize_device
self.update_config(obj, config)
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/devices/devicemanager.py", line 264, in update_config
setattr(obj, config_key, config_value)
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/ophyd_devices/ophyd_devices/utils/dynamic_pseudo.py", line 134, in input_signals
obj = rgetattr(self._device_manager.devices, target)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/ophyd_devices/ophyd_devices/utils/dynamic_pseudo.py", line 21, in rgetattr
return reduce(_getattr, [obj] + attr.split("."))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/ophyd_devices/ophyd_devices/utils/dynamic_pseudo.py", line 19, in _getattr
return getattr(obj, attr, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_lib/bec_lib/devicemanager.py", line 88, in __getattr__
raise DeviceConfigError(f"Device {attr} does not exist.")
bec_lib.bec_errors.DeviceConfigError: Device bcu does not exist.
.
- Docstring claims numpy is imported as np but it was not available to the function
RPCError: During an RPC, the following error occured:
NameError: ["name 'np' is not defined"].
Traceback: Traceback (most recent call last):
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/rpc_mixin.py", line 37, in run_rpc
res = self.process_rpc_instruction(instr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/rpc_mixin.py", line 216, in process_rpc_instruction
return self._handle_misc_rpc(instr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/rpc_mixin.py", line 147, in _handle_misc_rpc
res = self._get_result_from_rpc(rpc_var, instr_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/bec/bec_server/bec_server/device_server/rpc_mixin.py", line 56, in _get_result_from_rpc
res = rpc_var()
^^^^^^^^^
File "/data/test/x10sa-test-bec/production_deployments/20250828T103127/ophyd_devices/ophyd_devices/utils/dynamic_pseudo.py", line 146, in get
return self._compute_method(*self.input_signals)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 2, in user_compute_method
NameError: name 'np' is not defined
The request will be aborted.
Describe what you expected to happen and what actually happened.
No response
Outline the steps that lead to the bug's occurrence. Be specific and provide a clear sequence of actions.
No response
bec_widgets version
No response
bec core version
No response
Any extra info / data? e.g. log output...
No response
Related issues
No response
Provide a brief description of the bug.
Several issues appeared during attempted implementation of a
ComputedSignalcombining some BPMsdefand the function name will break it with an extremely difficult to interpret errorDescribe what you expected to happen and what actually happened.
No response
Outline the steps that lead to the bug's occurrence. Be specific and provide a clear sequence of actions.
No response
bec_widgets version
No response
bec core version
No response
Any extra info / data? e.g. log output...
No response
Related issues
No response