enthought / enthought/pyface

Segmentation fault when running pyface tests

Open
#463 2 comments 0 reactions 0 assignees View on GitHub
component: test suite
Dominant language
Python
Stars
115
Forks
54
PR merge metrics
No merged PRs in 30d

Description

I originally reported this at the traits issue tracker (https://github.com/enthought/traits/issues/635), since it's technically the traits C code that is crashing, but they redirected me here.

```
#0 0x00000000005a37d0 in PyDict_GetItem (op=0x0, key=key@entry='control') at ../Objects/dictobject.c:1298
#1 0x00007f7e42b0b69c in dict_getitem (key='control', dict=) at traits/ctraits.c:717
#2 0x00007f7e42b0b69c in has_traits_getattro (obj=0x7f7e18eeea10, name='control') at traits/ctraits.c:1058
#3 0x0000000000597dc2 in PyObject_GetAttr (v=, name='control') at ../Objects/dictobject.c:1333
#4 0x0000000000539349 in _PyEval_EvalFrameDefault (f=, throwflag=) at ../Python/ceval.c:2573
#5 0x00000000005c9aeb in PyEval_EvalFrameEx
(throwflag=0, f=Frame 0x7f7e18ec8050, for file /home/talbert/debian-packaging/python-pyface/python-pyface/pyface/ui/qt4/tasks/split_editor_area_pane.py, line 249, in _get_editor (self=, name='_update_label', owner=, notify_listener=, argument_transform=, type=1, id='editors:[dirty, name]', listener=, minlen=0, maxlen=9223372036854775807, has_items=True, default_value=[], _metadata={'copy': 'deep', 'instance_handler': '_list_changed_handler', 'type': 'trait'}) at remote 0x7f7e41cf2490>, object=, name='items', name_items='items_items') at remote 0x7f7e18edec50>, ...(truncated)) at ../Python/ceval.c:547
#6 0x00000000005c9aeb in function_code_fastcall
(globals={'__name__': 'pyface.ui.qt4.tasks.split_editor_area_pane', '__doc__': None, '__package__': 'pyface.ui.qt4.tasks', '__loader__': , '__spec__': , origin='/home/talbert/debian-packaging/python-pyface/python-pyface/pyface/ui/qt4/tasks/split_editor_area_pane.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/home/talbert/debian-packaging/python-pyface/python-pyface/pyface/ui/qt4/tasks/__pycache__/split_editor_area_pane.cpython-37.pyc', _initializing=False) at remote 0x7f7e293a2d50>, '__file__': '/home/talbert/debian-packaging/python-pyface/python-pyface/pyface/ui/qt4/tasks/split_editor_area_pane.py', '__cached__': '/home/talbert/debian-packaging/python-pyface/python-pyface/pyface/ui/qt4/tasks/__pycache...(truncated), nargs=, args=, co=) at ../Objects/call.c:283
#7 0x00000000005c9aeb in _PyFunction_FastCallKeywords (func=, stack=, nargs=, kwnames=) at ../Objects/call.c:408
#8 0x0000000000536640 in call_function (pp_stack=0x7ffc49579608, oparg=, kwnames=) at ../Python/ceval.c:4616
#9 0x000000000053d381 in _PyEval_EvalFrameDefault (f=, throwflag=) at ../Python/ceval.c:3093
#10 0x00000000005cadfa in PyEval_EvalFrameEx
(throwflag=0, f=Frame 0x7f7e18ec83d0, for file /home/talbert/debian-packaging/python-pyface/python-pyface/pyface/ui/qt4/tasks/split_editor_area_pane.py, line 793, in _current_changed (self=, name='_update_label', owner=, notify_listener=, argument_transform=, type=1, id='editors:[dirty, name]', listener=, minlen=0, maxlen=9223372036854775807, has_items=True, default_value=[], _metadata={'copy': 'deep', 'instance_handler': '_list_changed_handler', 'type': 'trait'}) at remote 0x7f7e41cf2490>, object=, name='items', name_items='item...(truncated)) at ../Python/ceval.c:547
#11 0x00000000005cadfa in function_code_fastcall (globals=, nargs=2, args=, co=) at ../Objects/call.c:283
#12 0x00000000005cadfa in _PyFunction_FastCallDict (func=, args=, nargs=2, kwargs=) at ../Objects/call.c:322
#13 0x00000000004e066e in _PyObject_FastCallDict (kwargs=0x0, nargs=2, args=0x7ffc49579760, callable=) at ../Objects/call.c:98
#14 0x00000000004e066e in _PyObject_Call_Prepend
(kwargs=0x0, args=, obj=, name='_update_label', owner=, notify_listener=, argument_transform=, type=1, id='editors:[dirty, name]', listener=, minlen=0, maxlen=9223372036854775807, has_items=True, default_value=[], _metadata={'copy': 'deep', 'instance_handler': '_list_changed_handler', 'type': 'trait'}) at remote 0x7f7e41cf2490>, object=, name='items', name_items='items_items') at remote 0x7f7e18edec50>, _handler=, name='_update_label') at remote 0x7f7e18ec91d0>, _wrapped_handler_r...(truncated), callable=) at ../Objects/call.c:908
#15 0x00000000004e066e in method_call (method=method@entry=, args=, kwargs=kwargs@entry=0x0) at ../Objects/classobject.c:309
#16 0x00000000005cd0b4 in PyObject_Call (kwargs=0x0, args=, callable=) at ../Objects/call.c:213
#17 0x00000000005cd0b4 in PyEval_CallObjectWithKeywords (kwargs=0x0, args=, callable=) at ../Objects/call.c:830
#18 0x00000000005cd0b4 in PyObject_CallObject (callable=, args=) at ../Objects/call.c:838
#19 0x00007f7e3f60a218 in PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool) () at /usr/lib/x86_64-linux-gnu/libpyside2.cpython-37m-x86_64-linux-gnu.so.5.13
#20 0x00007f7e3f60a54c in PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib/x86_64-linux-gnu/libpyside2.cpython-37m-x86_64-linux-gnu.so.5.13
#21 0x00007f7e3f36748c in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f7e3a31ecbe in QTabWidget::currentChanged(int) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f7e3a321091 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007f7e3f3673c8 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
```

The failure occurs when running the pyface.ui.qt4.util.tests.test_gui_test_assistant.TestGuiTestAssistant test. Interestingly, though, it doesn't segfault if I run only that test. I have to be running all the tests.

```
test_basic (pyface.timer.tests.test_timer.TestTimer) ... ok
test_repeat (pyface.timer.tests.test_timer.TestTimer) ... ok
test_restart (pyface.timer.tests.test_timer.TestTimer) ... ok
test_readonly_editor (pyface.ui.qt4.code_editor.tests.test_code_widget.TestCodeWidget) ... ok
test_readonly_replace_widget (pyface.ui.qt4.code_editor.tests.test_code_widget.TestCodeWidget) ... ok
test_active_editor_after_focus_change (pyface.ui.qt4.tasks.tests.test_split_editor_area_pane.TestEditorAreaWidget) ... ok
test_active_tabwidget_after_editor_containing_tabs_gets_focus (pyface.ui.qt4.tasks.tests.test_split_editor_area_pane.TestEditorAreaWidget) ... ok
Test for collapse function when the collapse origin is an empty ... ok
Test for collapse function when the source of collapse is not an ... ok
test_context_menu_merge_text_left_right_split (pyface.ui.qt4.tasks.tests.test_split_editor_area_pane.TestEditorAreaWidget) ... ok
test_context_menu_merge_text_top_bottom_split (pyface.ui.qt4.tasks.tests.test_split_editor_area_pane.TestEditorAreaWidget) ... ok
Tests whether get_layout/set_layout work correctly by setting a ... ok
Does split function work correct? ... ok
test_event_loop_until_traits_change_with_multiple_traits_failure (pyface.ui.qt4.util.tests.test_gui_test_assistant.TestGuiTestAssistant) ... Segmentation fault (core dumped)
```

System: Debian Sid
Python: 3.7.5
Qt: 5.12.5
PyQt: 5.12.3
PySide: 5.13.2
PyFace: 6.12.1

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.