Skip to content

RuntimeError: Internal C++ object (QResizableScrollBar) already deleted when running enable/enable/examples/demo/enable/scrolled_canvas_demo with python3.11 #1031

@homosapien-lcy

Description

@homosapien-lcy

Problem Description
Some examples involving enable/enable/qt4/scrollbar.py can be run successfully, but after closing, an already deleted error will arise.

Reproduction Steps:

python enable/enable/examples/demo/enable/scrolled_canvas_demo.py

Then close the plot window

Expected behavior:
The window closed without error (the first part of the error message is related to issue #1030, not in the scope of the current issue)

(py311) (base) cyliu@aus552cyliu 3.11_test % python3.11 enable/enable/examples/demo/enable/scrolled_canvas_demo.py 
2023-04-17 12:58:47.542 Python[5395:129652] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/2z/kylzj9s92y71cxscmljmpqrh0000gt/T/org.python.python.savedState
Traceback (most recent call last):
  File "/Users/cyliu/Documents/3.11_test/enable/enable/examples/demo/enable/scrolled_canvas_demo.py", line 82, in <module>
    demo = demo_main(Demo, title="Canvas example")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/cyliu/Documents/3.11_test/enable/enable/examples/_example_support.py", line 40, in demo_main
    demo_class().configure_traits()
  File "/Users/cyliu/Documents/3.11_test/traits/traits/has_traits.py", line 2163, in configure_traits
    rc = toolkit().view_application(
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/toolkit.py", line 237, in view_application
    return view_application.view_application(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/view_application.py", line 92, in view_application
    return ViewApplication(
           ^^^^^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/view_application.py", line 138, in __init__
    start_event_loop_qt4()
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/pyface/util/guisupport.py", line 156, in start_event_loop_qt4
    app.exec()
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/toolkit.py", line 129, in eventFilter
    if event.type() == QtCore.QEvent.Type.KeyPress:
       ^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/toolkit.py", line 129, in eventFilter
    if event.type() == QtCore.QEvent.Type.KeyPress:
       ^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/toolkit.py", line 129, in eventFilter
    if event.type() == QtCore.QEvent.Type.KeyPress:
       ^^^^^^^^^^^^
  [Previous line repeated 6 more times]
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/ui_base.py", line 175, in closeEvent
    if self._ok_to_close():
       ^^^^^^^^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/ui_base.py", line 228, in _ok_to_close
    is_ok = not self.isModal()
                ^^^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/toolkit.py", line 129, in eventFilter
    if event.type() == QtCore.QEvent.Type.KeyPress:
       ^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/toolkit.py", line 129, in eventFilter
    if event.type() == QtCore.QEvent.Type.KeyPress:
       ^^^^^^^^^^^^
  File "/Users/cyliu/.venvs/py311/lib/python3.11/site-packages/traitsui/qt4/toolkit.py", line 129, in eventFilter
    if event.type() == QtCore.QEvent.Type.KeyPress:
       ^^^^^^^^^^^^
  [Previous line repeated 36 more times]
  File "/Users/cyliu/Documents/3.11_test/enable/enable/qt4/base_window.py", line 270, in leaveEvent
    self.handler.leaveEvent(event)
  File "/Users/cyliu/Documents/3.11_test/enable/enable/qt4/base_window.py", line 148, in leaveEvent
    self._enable_window._handle_mouse_event("mouse_leave", event)
  File "/Users/cyliu/Documents/3.11_test/enable/enable/abstract_window.py", line 349, in _handle_mouse_event
    mouse_event = self._create_mouse_event(event)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/cyliu/Documents/3.11_test/enable/enable/qt4/base_window.py", line 515, in _create_mouse_event
    alt_down=bool(modifiers & QtCore.Qt.AltModifier),
                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
TypeError: unsupported operand type(s) for &: 'int' and 'KeyboardModifier'
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
    Note: This exception was delayed.
Exception ignored in: <function NativeScrollBar.__del__ at 0x11a772ac0>
Traceback (most recent call last):
  File "/Users/cyliu/Documents/3.11_test/enable/enable/qt4/scrollbar.py", line 99, in __del__
  File "/Users/cyliu/Documents/3.11_test/enable/enable/qt4/scrollbar.py", line 93, in destroy
RuntimeError: Internal C++ object (QResizableScrollBar) already deleted.
Exception ignored in: <function NativeScrollBar.__del__ at 0x11a772ac0>
Traceback (most recent call last):
  File "/Users/cyliu/Documents/3.11_test/enable/enable/qt4/scrollbar.py", line 99, in __del__
  File "/Users/cyliu/Documents/3.11_test/enable/enable/qt4/scrollbar.py", line 93, in destroy
RuntimeError: Internal C++ object (QResizableScrollBar) already deleted.

OS, Python version:
[MacOS, python3.11]

package list:
Package Version Editable project location


attrdict 2.0.1
attrdict3 2.0.2
chaco 5.1.0 /Users/cyliu/Documents/3.11_test/chaco
configobj 5.0.8
enable 5.4.0.dev28 /Users/cyliu/Documents/3.11_test/enable
fonttools 4.39.2
joblib 1.2.0
numpy 1.24.2
pandas 1.5.3
Pillow 9.4.0
pip 22.3.1
PyAudio 0.2.13
pyface 8.0.0
pygarrayimage 1.0
pyglet 2.0.5 /Users/cyliu/Documents/3.11_test/pyglet
Pygments 2.14.0
pyparsing 3.0.9
PySide6 6.4.3
PySide6-Addons 6.4.3
PySide6-Essentials 6.4.3
python-dateutil 2.8.2
pytz 2023.2
reportlab 3.6.12
scikit-learn 1.2.2
scipy 1.10.1
setuptools 65.6.3
shiboken6 6.4.3
six 1.16.0
threadpoolctl 3.1.0
traits 7.0.0.dev1840 /Users/cyliu/Documents/3.11_test/traits
traitsui 7.4.3
wxPython 4.2.0

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions