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 Attributes window
  • Wait some time (usually less than 4 minutes)
  • The Tango Attributes windows closes (not the taurus form). Some RuntimeError about a C/C++ object that has been deleted (I have seen DefaultUnitsWidget, DefaultReadWidgetLabel or DefaultLabelWidget):

taurus-tango-attributes

(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