Tango Attributes window crashing
At MAX IV, we noticed an issue with the Tango Attributes window.
To reproduce:
- open a form with an icepap motor:
taurus form mono_m2pit - Right click on the label and open the
Tango Attributeswindow - Wait some time (usually less than 4 minutes)
- The
Tango Attributeswindows closes (not the taurus form). SomeRuntimeErrorabout a C/C++ object that has been deleted (I have seenDefaultUnitsWidget,DefaultReadWidgetLabelorDefaultLabelWidget):
(taurustest) [benber@b-v-finest-cc-0]~% taurus form mono_m2pit
/mxn/home/benber/Dev/taurus/lib/taurus/cli/cli.py:24: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
import pkg_resources
MainThread WARNING 2025-07-30 15:49:25,382 TaurusRootLogger: Qtdefault None.None[0]: QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
MainThread WARNING 2025-07-30 15:49:25,447 TaurusRootLogger: epics scheme not available: ModuleNotFoundError("No module named 'epics'")
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'TaurusValue' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DefaultLabelWidget' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DefaultReadWidgetLabel' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DefaultUnitsWidget' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'TaurusValue' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DefaultLabelWidget' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DefaultReadWidgetLabel' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 2160, in hideEvent
if self._disconnect_on_hide:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DefaultUnitsWidget' object has no attribute '_disconnect_on_hide'
Traceback (most recent call last):
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/taurusbase.py", line 573, in filterEvent
self.handleEvent(*evt)
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/panel/taurusvalue.py", line 1437, in handleEvent
self.updateUnitsWidget()
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/panel/taurusvalue.py", line 1076, in updateUnitsWidget
self._unitsWidget.setModel(self.getFullModelName())
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/panel/taurusvalue.py", line 260, in setModel
TaurusLabel.setModel(self, model + "#rvalue.units")
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/display/tauruslabel.py", line 368, in setModel
self.setFgRole(self.modelFragmentName)
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/display/tauruslabel.py", line 466, in setFgRole
self.controllerUpdate()
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/display/tauruslabel.py", line 323, in controllerUpdate
ctrl.update()
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/base/tauruscontroller.py", line 133, in update
self._updateForeground(widget)
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/display/tauruslabel.py", line 125, in _updateForeground
label.setText_(text)
File "/mxn/home/benber/Dev/taurus/lib/taurus/qt/qtgui/display/tauruslabel.py", line 502, in setText_
Qt.QLabel.setText(self, text)
RuntimeError: wrapped C/C++ object of type DefaultUnitsWidget has been deleted
We saw that in different env with taurus 5.1.8, 5.2.4 and I reproduced with develop.
conda env used
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
alsa-lib 1.2.14 hb9d3cd8_0 conda-forge
asttokens 3.0.0 pyhd8ed1ab_1 conda-forge
attr 2.5.1 h166bdaf_1 conda-forge
backoff 2.2.1 pyhd8ed1ab_1 conda-forge
brotli-python 1.1.0 py311hfdbb021_3 conda-forge
bzip2 1.0.8 h4bc722e_7 conda-forge
c-ares 1.34.5 hb9d3cd8_0 conda-forge
ca-certificates 2025.7.14 hbd8a1cb_0 conda-forge
cached-property 1.5.2 hd8ed1ab_1 conda-forge
cached_property 1.5.2 pyha770c72_1 conda-forge
cairo 1.18.4 h3394656_0 conda-forge
certifi 2025.7.14 pyhd8ed1ab_0 conda-forge
cffi 1.17.1 py311hf29c0ef_0 conda-forge
charset-normalizer 3.4.2 pyhd8ed1ab_0 conda-forge
click 8.2.1 pyh707e725_0 conda-forge
cpptango 10.0.2 h096aebb_3 conda-forge
cyrus-sasl 2.1.28 hd9c7081_0 conda-forge
dbus 1.16.2 h3c4dab8_0 conda-forge
decorator 5.2.1 pyhd8ed1ab_0 conda-forge
deprecated 1.2.18 pyhd8ed1ab_0 conda-forge
exceptiongroup 1.3.0 pyhd8ed1ab_0 conda-forge
executing 2.2.0 pyhd8ed1ab_0 conda-forge
flexcache 0.3 pyhd8ed1ab_1 conda-forge
flexparser 0.4 pyhd8ed1ab_1 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 h77eed37_3 conda-forge
fontconfig 2.15.0 h7e30c49_1 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
freetype 2.13.3 ha770c72_1 conda-forge
gettext 0.25.1 h3f43e3d_1 conda-forge
gettext-tools 0.25.1 h3f43e3d_1 conda-forge
giflib 5.2.2 hd590300_0 conda-forge
glib 2.84.2 h6287aef_0 conda-forge
glib-tools 2.84.2 h4833e2c_0 conda-forge
googleapis-common-protos 1.70.0 pyhd8ed1ab_0 conda-forge
graphite2 1.3.14 h5888daf_0 conda-forge
grpcio 1.73.1 py311h7df2aa2_0 conda-forge
gst-plugins-base 1.24.11 h651a532_0 conda-forge
gstreamer 1.24.11 hc37bda9_0 conda-forge
guidata 3.9.0 pyhd8ed1ab_0 conda-forge
guiqwt 4.4.5 py311h1e32ba8_4 conda-forge
h2 4.2.0 pyhd8ed1ab_0 conda-forge
h5py 3.14.0 nompi_py311h7f87ba5_100 conda-forge
harfbuzz 11.3.3 hbb57e21_0 conda-forge
hdf5 1.14.6 nompi_h6e4c0c1_103 conda-forge
hpack 4.1.0 pyhd8ed1ab_0 conda-forge
hyperframe 6.1.0 pyhd8ed1ab_0 conda-forge
icu 75.1 he02047a_0 conda-forge
idna 3.10 pyhd8ed1ab_1 conda-forge
importlib-metadata 8.7.0 pyhe01879c_1 conda-forge
ipython 8.37.0 pyh8f84b5b_0 conda-forge
itango 0.3.0 pyhe01879c_1 conda-forge
jedi 0.19.2 pyhd8ed1ab_1 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
krb5 1.21.3 h659f571_0 conda-forge
lame 3.100 h166bdaf_1003 conda-forge
lcms2 2.17 h717163a_0 conda-forge
ld_impl_linux-64 2.44 h1423503_1 conda-forge
lerc 4.0.0 h0aef613_1 conda-forge
libabseil 20250512.1 cxx17_hba17884_0 conda-forge
libaec 1.1.4 h3f801dc_0 conda-forge
libasprintf 0.25.1 h3f43e3d_1 conda-forge
libasprintf-devel 0.25.1 h3f43e3d_1 conda-forge
libblas 3.9.0 32_h59b9bed_openblas conda-forge
libboost-python 1.86.0 py311h5b7b71f_3 conda-forge
libcap 2.75 h39aace5_0 conda-forge
libcblas 3.9.0 32_he106b2a_openblas conda-forge
libclang-cpp20.1 20.1.8 default_hddf928d_0 conda-forge
libclang13 20.1.8 default_ha444ac7_0 conda-forge
libcups 2.3.3 hb8b1518_5 conda-forge
libcurl 8.14.1 h332b0f4_0 conda-forge
libdeflate 1.24 h86f0d12_0 conda-forge
libdrm 2.4.125 hb9d3cd8_0 conda-forge
libedit 3.1.20250104 pl5321h7949ede_0 conda-forge
libegl 1.7.0 ha4b6fd6_2 conda-forge
libev 4.33 hd590300_2 conda-forge
libevent 2.1.12 hf998b51_1 conda-forge
libexpat 2.7.1 hecca717_0 conda-forge
libffi 3.4.6 h2dba641_1 conda-forge
libflac 1.4.3 h59595ed_0 conda-forge
libfreetype 2.13.3 ha770c72_1 conda-forge
libfreetype6 2.13.3 h48d6fc4_1 conda-forge
libgcc 15.1.0 h767d61c_3 conda-forge
libgcc-ng 15.1.0 h69a702a_3 conda-forge
libgcrypt-lib 1.11.1 hb9d3cd8_0 conda-forge
libgettextpo 0.25.1 h3f43e3d_1 conda-forge
libgettextpo-devel 0.25.1 h3f43e3d_1 conda-forge
libgfortran 15.1.0 h69a702a_3 conda-forge
libgfortran5 15.1.0 hcea5267_3 conda-forge
libgl 1.7.0 ha4b6fd6_2 conda-forge
libglib 2.84.2 h3618099_0 conda-forge
libglvnd 1.7.0 ha4b6fd6_2 conda-forge
libglx 1.7.0 ha4b6fd6_2 conda-forge
libgomp 15.1.0 h767d61c_3 conda-forge
libgpg-error 1.55 h3f2d84a_0 conda-forge
libgrpc 1.73.1 h1e535eb_0 conda-forge
libiconv 1.18 h4ce23a2_1 conda-forge
libjpeg-turbo 3.1.0 hb9d3cd8_0 conda-forge
liblapack 3.9.0 32_h7ac8fdf_openblas conda-forge
libllvm20 20.1.8 hecd9e04_0 conda-forge
liblzma 5.8.1 hb9d3cd8_2 conda-forge
libnghttp2 1.64.0 h161d5f1_0 conda-forge
libnsl 2.0.1 hb9d3cd8_1 conda-forge
libntlm 1.8 hb9d3cd8_0 conda-forge
libogg 1.3.5 hd0c01bc_1 conda-forge
libopenblas 0.3.30 pthreads_h94d23a6_1 conda-forge
libopengl 1.7.0 ha4b6fd6_2 conda-forge
libopentelemetry-cpp 1.21.0 hb9b0907_1 conda-forge
libopentelemetry-cpp-headers 1.21.0 ha770c72_1 conda-forge
libopus 1.5.2 hd0c01bc_0 conda-forge
libpciaccess 0.18 hb9d3cd8_0 conda-forge
libpng 1.6.50 h943b412_0 conda-forge
libpq 17.5 h27ae623_0 conda-forge
libprotobuf 6.31.1 h9ef548d_1 conda-forge
libre2-11 2025.07.22 h7b12aa8_0 conda-forge
libsndfile 1.2.2 hc60ed4a_1 conda-forge
libsodium 1.0.20 h4ab18f5_0 conda-forge
libsqlite 3.50.3 hee844dc_1 conda-forge
libssh2 1.11.1 hcf80075_0 conda-forge
libstdcxx 15.1.0 h8f9b012_3 conda-forge
libstdcxx-ng 15.1.0 h4852527_3 conda-forge
libsystemd0 257.7 h4e0b6ca_0 conda-forge
libtiff 4.7.0 hf01ce69_5 conda-forge
libuuid 2.38.1 h0b41bf4_0 conda-forge
libvorbis 1.3.7 h9c3ff4c_0 conda-forge
libwebp 1.6.0 h9635ea4_0 conda-forge
libwebp-base 1.6.0 hd42ef1d_0 conda-forge
libxcb 1.17.0 h8a09558_0 conda-forge
libxcrypt 4.4.36 hd590300_1 conda-forge
libxkbcommon 1.10.0 h65c71a3_0 conda-forge
libxml2 2.13.8 h4bc477f_0 conda-forge
libxslt 1.1.43 h7a3aeb2_0 conda-forge
libzlib 1.3.1 hb9d3cd8_2 conda-forge
lxml 6.0.0 py311hbd2c71b_0 conda-forge
lz4-c 1.10.0 h5888daf_1 conda-forge
matplotlib-inline 0.1.7 pyhd8ed1ab_1 conda-forge
mpg123 1.32.9 hc50e24c_0 conda-forge
ncurses 6.5 h2d0b736_3 conda-forge
nlohmann_json 3.12.0 h3f2d84a_0 conda-forge
nspr 4.37 h29cc59b_0 conda-forge
nss 3.114 hc3c8bcf_0 conda-forge
numpy 2.3.2 py311h2e04523_0 conda-forge
omniorb-libs 4.3.3 hbde3e15_1 conda-forge
openjpeg 2.5.3 h5fbd93e_0 conda-forge
openldap 2.6.10 he970967_0 conda-forge
openssl 3.5.1 h7b32b05_0 conda-forge
opentelemetry-api 1.35.0 pyhd8ed1ab_0 conda-forge
opentelemetry-exporter-otlp-proto-common 1.35.0 pyhd8ed1ab_0 conda-forge
opentelemetry-exporter-otlp-proto-grpc 1.35.0 pyhd8ed1ab_0 conda-forge
opentelemetry-exporter-otlp-proto-http 1.35.0 pyhd8ed1ab_0 conda-forge
opentelemetry-proto 1.35.0 pyhd8ed1ab_0 conda-forge
opentelemetry-sdk 1.35.0 pyhd8ed1ab_0 conda-forge
opentelemetry-semantic-conventions 0.56b0 pyh3cfb1c2_0 conda-forge
packaging 25.0 pyh29332c3_1 conda-forge
parso 0.8.4 pyhd8ed1ab_1 conda-forge
pcre2 10.45 hc749103_0 conda-forge
pexpect 4.9.0 pyhd8ed1ab_1 conda-forge
pickleshare 0.7.5 pyhd8ed1ab_1004 conda-forge
pillow 11.3.0 py311h1322bbf_0 conda-forge
pint 0.24.4 pyhe01879c_2 conda-forge
pip 25.1.1 pyh8b19718_0 conda-forge
pixman 0.46.4 h537e5f6_0 conda-forge
platformdirs 4.3.8 pyhe01879c_0 conda-forge
ply 3.11 pyhd8ed1ab_3 conda-forge
prometheus-cpp 1.3.0 ha5d0236_0 conda-forge
prompt-toolkit 3.0.51 pyha770c72_0 conda-forge
protobuf 6.31.1 py311hf8041f0_0 conda-forge
psutil 7.0.0 py311h9ecbd09_0 conda-forge
pthread-stubs 0.4 hb9d3cd8_1002 conda-forge
ptyprocess 0.7.0 pyhd8ed1ab_1 conda-forge
pulseaudio-client 17.0 hac146a9_1 conda-forge
pure_eval 0.2.3 pyhd8ed1ab_1 conda-forge
pycparser 2.22 pyh29332c3_1 conda-forge
pygments 2.19.2 pyhd8ed1ab_0 conda-forge
pyqt 5.15.11 py311he22028a_1 conda-forge
pyqt5-sip 12.17.0 py311hfdbb021_1 conda-forge
pyqtwebengine 5.15.11 py311h5dacb8b_1 conda-forge
pyqtwebkit 5.15.11 py311he22028a_0 conda-forge
pysocks 1.7.1 pyha55dd90_7 conda-forge
pytango 10.0.3 np22py311ha2dccd5_0 conda-forge
python 3.11.13 h9e4cc4f_0_cpython conda-forge
python_abi 3.11 8_cp311 conda-forge
pythonqwt 0.14.3 pyh9208f05_0 conda-forge
qt-main 5.15.15 hea1682b_4 conda-forge
qt-webengine 5.15.15 h2da670d_3 conda-forge
qtpy 2.4.3 pyhd8ed1ab_1 conda-forge
qtwebkit 5.212 h0fbc989_18 conda-forge
re2 2025.07.22 h5a314c3_0 conda-forge
readline 8.2 h8c095d6_2 conda-forge
requests 2.32.4 pyhd8ed1ab_0 conda-forge
sardana-core 3.5.2 pyhd8ed1ab_1 conda-forge
scipy 1.16.0 py311h2d3ef60_0 conda-forge
setuptools 80.9.0 pyhff2d567_0 conda-forge
sip 6.10.0 py311hfdbb021_0 conda-forge
stack_data 0.6.3 pyhd8ed1ab_1 conda-forge
taurus 5.2.5.dev0 pypi_0 pypi
tk 8.6.13 noxft_hd72426e_102 conda-forge
toml 0.10.2 pyhd8ed1ab_1 conda-forge
tomli 2.2.1 pyhe01879c_2 conda-forge
traitlets 5.14.3 pyhd8ed1ab_1 conda-forge
typing-extensions 4.14.1 h4440ef1_0 conda-forge
typing_extensions 4.14.1 pyhe01879c_0 conda-forge
tzdata 2025b h78e105d_0 conda-forge
urllib3 2.5.0 pyhd8ed1ab_0 conda-forge
wcwidth 0.2.13 pyhd8ed1ab_1 conda-forge
wheel 0.45.1 pyhd8ed1ab_1 conda-forge
wrapt 1.17.2 py311h9ecbd09_0 conda-forge
xcb-util 0.4.1 h4f16b4b_2 conda-forge
xcb-util-image 0.4.0 hb711507_2 conda-forge
xcb-util-keysyms 0.4.1 hb711507_0 conda-forge
xcb-util-renderutil 0.3.10 hb711507_0 conda-forge
xcb-util-wm 0.4.2 hb711507_0 conda-forge
xkeyboard-config 2.45 hb9d3cd8_0 conda-forge
xorg-libice 1.1.2 hb9d3cd8_0 conda-forge
xorg-libsm 1.2.6 he73a12e_0 conda-forge
xorg-libx11 1.8.12 h4f16b4b_0 conda-forge
xorg-libxau 1.0.12 hb9d3cd8_0 conda-forge
xorg-libxcomposite 0.4.6 hb9d3cd8_2 conda-forge
xorg-libxcursor 1.2.3 hb9d3cd8_0 conda-forge
xorg-libxdamage 1.1.6 hb9d3cd8_0 conda-forge
xorg-libxdmcp 1.1.5 hb9d3cd8_0 conda-forge
xorg-libxext 1.3.6 hb9d3cd8_0 conda-forge
xorg-libxfixes 6.0.1 hb9d3cd8_0 conda-forge
xorg-libxi 1.8.2 hb9d3cd8_0 conda-forge
xorg-libxrandr 1.5.4 hb9d3cd8_0 conda-forge
xorg-libxrender 0.9.12 hb9d3cd8_0 conda-forge
xorg-libxshmfence 1.3.3 hb9d3cd8_0 conda-forge
xorg-libxtst 1.2.5 hb9d3cd8_3 conda-forge
xorg-libxxf86vm 1.1.6 hb9d3cd8_0 conda-forge
zeromq 4.3.5 h3b0a872_7 conda-forge
zipp 3.23.0 pyhd8ed1ab_0 conda-forge
zlib 1.3.1 hb9d3cd8_2 conda-forge
zstandard 0.23.0 py311h9ecbd09_2 conda-forge
zstd 1.5.7 hb8e6e7a_2 conda-forge
Edited by Benjamin Bertrand
