Skip to content

BUG: PySide6 6.9+ "Signal source has been deleted" #24825

@larsoner

Description

@larsoner

Using the latest 6.1.0alpha4 on conda-forge with PySide6 6.9.0 and trying to add it to an installer and test it I see:

    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/plugins/application/container.py", line 194, in setup
      self.inapp_appeal_status = InAppAppealStatus(self)
                                 ~~~~~~~~~~~~~~~~~^^^^^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/plugins/application/widgets/status.py", line 104, in __init__
      self.sig_clicked.connect(self._on_click)
      ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  RuntimeError: Signal source has been deleted
  timeout: the monitored command dumped core
  tests/test_spyder.sh: line 17:  5119 Segmentation fault      timeout $TO spyder
Full traceback
  Running Spyder with a timeout of 20s:
  which spyder: /home/runner/mne-python/1.10.0_0/bin/spyder
  Traceback (most recent call last):
    File "/home/runner/mne-python/1.10.0_0/bin/spyder", line 10, in <module>
      sys.exit(main())
               ~~~~^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/app/start.py", line 279, in main
      mainwindow.main(options, args)
      ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/app/mainwindow.py", line 1443, in main
      mainwindow = create_window(MainWindow, app, splash, options, args)
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/app/utils.py", line 360, in create_window
      main.setup()
      ~~~~~~~~~~^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/app/mainwindow.py", line 757, in setup
      PLUGIN_REGISTRY.register_plugin(self, PluginClass,
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
                                      external=False)
                                      ^^^^^^^^^^^^^^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/api/plugin_registration/registry.py", line 344, in register_plugin
      instance = self._instantiate_spyder5_plugin(
          main_window, PluginClass, external)
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/api/plugin_registration/registry.py", line 186, in _instantiate_spyder5_plugin
      plugin_instance = PluginClass(main_window, configuration=CONF)
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/plugins/application/plugin.py", line 62, in __init__
      super().__init__(parent, configuration)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/api/plugins/new_api.py", line 353, in __init__
      container.setup()
      ~~~~~~~~~~~~~~~^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/plugins/application/container.py", line 194, in setup
      self.inapp_appeal_status = InAppAppealStatus(self)
                                 ~~~~~~~~~~~~~~~~~^^^^^^
    File "/home/runner/mne-python/1.10.0_0/lib/python3.13/site-packages/spyder/plugins/application/widgets/status.py", line 104, in __init__
      self.sig_clicked.connect(self._on_click)
      ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  RuntimeError: Signal source has been deleted
  timeout: the monitored command dumped core
  tests/test_spyder.sh: line 17:  5119 Segmentation fault      timeout $TO spyder
  Spyder failed with error code 139 (should be 124 for timeout)

It's a bit of a mystery to me how this can happen. But locally I can replicate the issue on Ubuntu 25.10, PySide 6.9.0, and spyder 6.1.0a4 (and also I just checked latest master as well, same problem).

If I take the naive step of just putting the above problematic line in a try/except I get:

  File "/home/larsoner/python/spyder/spyder/utils/qthelpers.py", line 376, in create_action
    action.triggered.connect(triggered)
RuntimeError: Signal source has been deleted

and if I nest that one I just hit a different one, etc. So it seems like this is a widespread problem, and the status widget just happens to be the first widget to hit it.

I also checked #24752 and the issue remains there as well.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions