Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ErrorReporting.handle_exception: causes segfault #252

Open
woutdenolf opened this issue Aug 3, 2023 · 2 comments
Open

ErrorReporting.handle_exception: causes segfault #252

woutdenolf opened this issue Aug 3, 2023 · 2 comments
Assignees

Comments

@woutdenolf
Copy link
Contributor

woutdenolf commented Aug 3, 2023

Orange version
orange-canvas-core                0.1.32.dev0 
orange-widget-base                4.22.0.dev0+ebc5230
Orange3                           3.36.0.dev0+92d84ee

Qt related packages

AnyQt                             0.2.0
PyQt5                             5.15.9
PyQt5-Qt5                         5.15.2
PyQt5-sip                         12.11.0
pyqtgraph                         0.13.1
PyQtWebEngine                     5.15.6
PyQtWebEngine-Qt5                 5.15.2
qtconsole                         5.3.2
QtPy                              2.2.1
sphinxcontrib-qthelp              1.0.3

It also happens in our production environment which has

orange-canvas-core  0.1.31   
orange-widget-base  4.21.0   
Orange3             3.35.0

AnyQt               0.2.0    
PyQt5               5.14.1   
pyqtgraph           0.13.3   
qtconsole           5.4.3    
QtPy                2.3.1

OS: Ubuntu 20.04

Issue description

I have a particular case where an error in qt.Thread causes ErrorReporting.handle_exception to segfault.

If I replace this

def handle_exception(exc):
    return ErrorReporting.handle_exception(exc)

with this I don't get the segfault (i.e. the exception gets printed and the app keeps running)

def handle_exception(exc):
    traceback.print_exception(*exc)

This is the traceback I got from the core dump:

(gdb) py-bt-full
#20 <built-in method exec of ErrorReporting object at remote 0x7f65e4c4a280>
#25 Frame 0x5635469acc10, for file /home/denolf/dev/orange-widget-base/orangewidget/workflow/errorreporting.py, line 1555, in handle_exception (cls=<sip.wrappertype at remote 0x56353e1d5c30>, exc=(<type at remote 0x7f668e761bc0>, ValueError('Array passed to NMF (input W) is full of zeros.',), <traceback at remote 0x7f65e4570c00>), etype=<type at remote 0x7f668e761bc0>, evalue=(...), tb=<traceback at remote 0x7f65e4570c00>, exception='ValueError: Array passed to NMF (input W) is full of zeros.', stacktrace='Traceback (most recent call last):\n  File "/home/denolf/dev/darfix/src/darfix/gui/operationThread.py", line 32, in run\n    self.data = self.func(*self.args, **self.kwargs)\n  File "/home/denolf/dev/darfix/src/darfix/core/dataset.py", line 1632, in nica_nmf\n    return self.nmf(\n  File "/home/denolf/dev/darfix/src/darfix/core/dataset.py", line 1591, in nmf\n    W = model.fit_transform(X, W=W, H=H)\n  File "/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/sklearn/decomposition/_nmf...(truncated)
#30 Frame 0x5635461db010, for file /users/denolf/.pyenv/ubuntu_20_04/versions/3.8.5/lib/python3.8/unittest/mock.py, line 1581, in patched (args=(<sip.wrappertype at remote 0x56353e1d5c30>, (<type at remote 0x7f668e761bc0>, ValueError('Array passed to NMF (input W) is full of zeros.',), <traceback at remote 0x7f65e4570c00>)), keywargs={}, newargs=(...), newkeywargs={...})
    spec_set, autospec, new_callable, kwargs
#37 Frame 0x7f65e3e5a520, for file /home/denolf/dev/orange-widget-base/orangewidget/workflow/errorreporting.py, line 279, in handle_exception (exc=(<type at remote 0x7f668e761bc0>, ValueError('Array passed to NMF (input W) is full of zeros.',), <traceback at remote 0x7f65e4570c00>))
    traceback.print_exception(*exc)
#58 <built-in method exec of CanvasApplication object at remote 0x7f6658162670>
#63 Frame 0x7f65e365eb20, for file /home/denolf/dev/orange-canvas-core/orangecanvas/application/application.py, line 170, in exec (self=<CanvasApplication(_CanvasApplication__fileOpenUrls=[], _CanvasApplication__in_exec=True) at remote 0x7f6658162670>)
    return super().exec()
#70 Frame 0x56353e1bb710, for file /home/denolf/dev/orange-canvas-core/orangecanvas/main.py, line 233, in run (self=<OMain(options=<Namespace(no_discovery=False, force_discovery=True, no_welcome=False, no_splash=False, log_level=40, stylesheet=None, config=None, qt=None, style=None, clear_widget_settings=False, clear_all=False) at remote 0x7f6656740be0>, arguments=['/users/denolf/projects/workflows/darfix/Augusts2023_BlindSourceIssue_Wzeroes_LIGHT.ows'], config=<Config at remote 0x7f66574a9d00>, stack=<ExitStack(_exit_callbacks=<collections.deque at remote 0x7f66567881c0>) at remote 0x7f6658161df0>, application=<CanvasApplication(_CanvasApplication__fileOpenUrls=[], _CanvasApplication__in_exec=True) at remote 0x7f6658162670>, _update_check=None, _send_stat=<SendUsageStatistics at remote 0x7f664d26cdc0>, _pull_notifs=<GetNotifFeed at remote 0x7f664d271790>, output=<TerminalTextDocument(_TerminalTextDocument__currentCharFormat=<QTextCharFormat at remote 0x7f6656784200>, _TerminalTextDocument__streams=[(<TextStream ...(truncated)
    rv = self.application.exec()
#77 Frame 0x7f66569e3740, for file /home/denolf/dev/orange3/Orange/canvas/__main__.py, line 356, in run (self=<OMain(options=<Namespace(no_discovery=False, force_discovery=True, no_welcome=False, no_splash=False, log_level=40, stylesheet=None, config=None, qt=None, style=None, clear_widget_settings=False, clear_all=False) at remote 0x7f6656740be0>, arguments=['/users/denolf/projects/workflows/darfix/Augusts2023_BlindSourceIssue_Wzeroes_LIGHT.ows'], config=<Config at remote 0x7f66574a9d00>, stack=<ExitStack(_exit_callbacks=<collections.deque at remote 0x7f66567881c0>) at remote 0x7f6658161df0>, application=<CanvasApplication(_CanvasApplication__fileOpenUrls=[], _CanvasApplication__in_exec=True) at remote 0x7f6658162670>, _update_check=None, _send_stat=<SendUsageStatistics at remote 0x7f664d26cdc0>, _pull_notifs=<GetNotifFeed at remote 0x7f664d271790>, output=<TerminalTextDocument(_TerminalTextDocument__currentCharFormat=<QTextCharFormat at remote 0x7f6656784200>, _TerminalTextDocument__streams=[(<TextStream at rem...(truncated)
    super().run(argv)
#82 Frame 0x7f665673c6c0, for file /home/denolf/dev/orange3/Orange/canvas/__main__.py, line 466, in main (argv=['/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '/users/denolf/projects/workflows/darfix/Augusts2023_BlindSourceIssue_Wzeroes_LIGHT.ows', '--force-discovery'])
    return OMain().run(argv)
#87 Frame 0x56353e18c8d0, for file /home/denolf/dev/ewoksorange/src/ewoksorange/canvas/main.py, line 366, in main (argv=['/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '/users/denolf/projects/workflows/darfix/Augusts2023_BlindSourceIssue_Wzeroes_LIGHT.ows', '--force-discovery'], parser=<ArgumentParser(description=None, argument_default=None, prefix_chars='-', conflict_handler='error', _registries={'action': {None: <type at remote 0x56353c918910>, 'store': <type at remote 0x56353c918910>, 'store_const': <type at remote 0x56353c918cc0>, 'store_true': <type at remote 0x56353c919070>, 'store_false': <type at remote 0x56353c919420>, 'append': <type at remote 0x56353c9197d0>, 'append_const': <type at remote 0x56353c919b80>, 'count': <type at remote 0x56353c919f30>, 'help': <type at remote 0x56353c91a2e0>, 'version': <type at remote 0x56353c91a690>, 'parsers': <type at remote 0x56353c91b2f0>, 'extend': <type at remote 0x56353c91b6a0>}, 'type': {None: <function at remote 0x7f668d863550>}}, _actions...(truncated)
#91 Frame 0x7f668d9d6440, for file /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas, line 8, in <module> ()
    sys.exit(main())

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f668e232859 in __GI_abort () at abort.c:79
#2  0x00007f668ccc59bc in qErrnoWarning(char const*, ...) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#3  0x00007f668d4eb437 in  () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so
#4  0x00007f668d66088d in PyQtSlotProxy::unislot(void**) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so
#5  0x00007f668d661317 in PyQtSlotProxy::qt_metacall(QMetaObject::Call, int, void**) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so
#6  0x00007f668ceffda3 in QObject::event(QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#7  0x00007f668989c43c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#8  0x00007f66898a2f20 in QApplication::notify(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#9  0x00007f668a3920d6 in sipQApplication::notify(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtWidgets.abi3.so
#10 0x00007f668ced0808 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#11 0x00007f668ced3882 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#12 0x00007f668cf2cb33 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#13 0x00007f668a70717d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007f668a707400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f668a7074a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f668cf2c1cc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#17 0x00007f668cecf21a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#18 0x00007f6689a84ff7 in QDialog::exec() () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#19 0x00007f668a2b56b8 in meth_QDialog_exec () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtWidgets.abi3.so
#20 0x00007f668e4c2d97 in cfunction_call_varargs (func=<built-in method exec of ErrorReporting object at remote 0x7f65e4c4a280>, args=<optimized out>, kwargs=<optimized out>) at Objects/call.c:757
#21 0x00007f668e4c349b in _PyObject_MakeTpCall (callable=<built-in method exec of ErrorReporting object at remote 0x7f65e4c4a280>, args=<optimized out>, nargs=<optimized out>, keywords=0x0) at Objects/call.c:159
#22 0x00007f668e496533 in _PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=<optimized out>, callable=<built-in method exec of ErrorReporting object at remote 0x7f65e4c4a280>) at ./Include/cpython/abstract.h:125
#23 _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:115
#24 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff90730d90, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#25 0x00007f668e49deca in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3469
#26 0x00007f668e5a97bb in _PyEval_EvalCodeWithName
    (_co=_co@entry=<code at remote 0x7f665672abe0>, globals=globals@entry={'__name__': 'orangewidget.workflow.errorreporting', '__doc__': None, '__package__': 'orangewidget.workflow', '__loader__': <SourceFileLoader(name='orangewidget.workflow.errorreporting', path='/home/denolf/dev/orange-widget-base/orangewidget/workflow/errorreporting.py') at remote 0x7f6656722f70>, '__spec__': <ModuleSpec(name='orangewidget.workflow.errorreporting', loader=<...>, origin='/home/denolf/dev/orange-widget-base/orangewidget/workflow/errorreporting.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/home/denolf/dev/orange-widget-base/orangewidget/workflow/__pycache__/errorreporting.cpython-38.pyc', _initializing=False) at remote 0x7f665672b070>, '__file__': '/home/denolf/dev/orange-widget-base/orangewidget/workflow/errorreporting.py', '__cached__': '/home/denolf/dev/orange-widget-base/orangewidget/workflow/__pycache__/errorreporting.cpython-38.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy:...(truncated), locals=locals@entry=0x0, args=<optimized out>, argcount=2, kwnames=0x0, kwargs=0x7f65e4506ca8, kwcount=0, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name='handle_exception', qualname='ErrorReporting.handle_exception')
    at Python/ceval.c:4298
#27 0x00007f668e4c3234 in _PyFunction_Vectorcall (func=func@entry=<function at remote 0x7f665672f3a0>, stack=<optimized out>, nargsf=nargsf@entry=2, kwnames=<optimized out>) at Objects/call.c:435
#28 0x00007f668e4c52d3 in PyVectorcall_Call (callable=<function at remote 0x7f665672f3a0>, tuple=<optimized out>, kwargs=<optimized out>) at Objects/call.c:199
#29 0x00007f668e4976bf in do_call_core
    (kwdict={}, callargs=(<sip.wrappertype at remote 0x56353e1d5c30>, (<type at remote 0x7f668e761bc0>, ValueError('Array passed to NMF (input W) is full of zeros.',), <traceback at remote 0x7f65e4570c00>)), func=<function at remote 0x7f665672f3a0>, tstate=0x56353b103bb0) at Python/ceval.c:5010
#30 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3559
#31 0x00007f668e5a97bb in _PyEval_EvalCodeWithName
    (_co=_co@entry=<code at remote 0x7f6668441450>, globals=globals@entry={'__name__': 'unittest.mock', '__doc__': None, '__package__': 'unittest', '__loader__': <SourceFileLoader(name='unittest.mock', path='/users/denolf/.pyenv/ubuntu_20_04/versions/3.8.5/lib/python3.8/unittest/mock.py') at remote 0x7f66686886d0>, '__spec__': <ModuleSpec(name='unittest.mock', loader=<...>, origin='/users/denolf/.pyenv/ubuntu_20_04/versions/3.8.5/lib/python3.8/unittest/mock.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/users/denolf/.pyenv/ubuntu_20_04/versions/3.8.5/lib/python3.8/unittest/__pycache__/mock.cpython-38.pyc', _initializing=False) at remote 0x7f6668688100>, '__file__': '/users/denolf/.pyenv/ubuntu_20_04/versions/3.8.5/lib/python3.8/unittest/mock.py', '__cached__': '/users/denolf/.pyenv/ubuntu_20_04/versions/3.8.5/lib/python3.8/unittest/__pycache__/mock.cpython-38.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices...(truncated), locals=locals@entry=0x0, args=<optimized out>, argcount=2, kwnames=0x0, kwargs=0x7f65e3e5a6a8, kwcount=0, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=(<cell at remote 0x7f665672b6a0>, <cell at remote 0x7f665672b6d0>, <cell at remote 0x7f665672b700>), name='handle_exception', qualname='ErrorReporting.handle_exception') at Python/ceval.c:4298
#32 0x00007f668e4c3234 in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:435
#33 0x00007f668e4c6c0a in _PyObject_Vectorcall (kwnames=0x0, nargsf=2, args=0x7f65e3e5a698, callable=<function at remote 0x7f665672f430>) at ./Include/cpython/abstract.h:127
#34 method_vectorcall (method=<optimized out>, args=0x7f65e3e5a6a0, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:60
#35 0x00007f668e4964ad in _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:123
#36 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff907313a0, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#37 0x00007f668e49deca in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3469
#38 0x00007f668e49517b in function_code_fastcall (co=<optimized out>, args=<optimized out>, nargs=1, globals=<optimized out>) at Objects/call.c:283
#39 0x00007f668e4c52d3 in PyVectorcall_Call (callable=<function at remote 0x7f665672f160>, tuple=<optimized out>, kwargs=<optimized out>) at Objects/call.c:199
#40 0x00007f668d6600b0 in PyQtSlot::call(_object*, _object*) const () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so
#41 0x00007f668d660558 in PyQtSlot::invoke(void**, _object*, void*, bool) const () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so
#42 0x00007f668d66084e in PyQtSlotProxy::unislot(void**) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so
#43 0x00007f668d661317 in PyQtSlotProxy::qt_metacall(QMetaObject::Call, int, void**) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so
#44 0x00007f668ceffda3 in QObject::event(QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#45 0x00007f668989c43c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#46 0x00007f66898a2f20 in QApplication::notify(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Widgets.so.5
#47 0x00007f668a3920d6 in sipQApplication::notify(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtWidgets.abi3.so
#48 0x00007f668ced0808 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#49 0x00007f668ced3882 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#50 0x00007f668cf2cb33 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#51 0x00007f668a70717d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007f668a707400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007f668a7074a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007f668cf2c1cc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#55 0x00007f668cecf21a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#56 0x00007f668ced81d3 in QCoreApplication::exec() () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/Qt5/lib/libQt5Core.so.5
#57 0x00007f668a1ddcc1 in meth_QApplication_exec () at /users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/PyQt5/QtWidgets.abi3.so
#58 0x00007f668e4c2d97 in cfunction_call_varargs (func=<built-in method exec of CanvasApplication object at remote 0x7f6658162670>, args=<optimized out>, kwargs=<optimized out>) at Objects/call.c:757
#59 0x00007f668e4c349b in _PyObject_MakeTpCall (callable=<built-in method exec of CanvasApplication object at remote 0x7f6658162670>, args=<optimized out>, nargs=<optimized out>, keywords=0x0) at Objects/call.c:159
#60 0x00007f668e496533 in _PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=<optimized out>, callable=<built-in method exec of CanvasApplication object at remote 0x7f6658162670>)
    at ./Include/cpython/abstract.h:125
#61 _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:115
#62 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff90731d40, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#63 0x00007f668e49deca in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3469
#64 0x00007f668e5a97bb in _PyEval_EvalCodeWithName
    (_co=_co@entry=<code at remote 0x7f6656721920>, globals=globals@entry={'__name__': 'orangecanvas.application.application', '__doc__': '\n', '__package__': 'orangecanvas.application', '__loader__': <SourceFileLoader(name='orangecanvas.application.application', path='/home/denolf/dev/orange-canvas-core/orangecanvas/application/application.py') at remote 0x7f6656722190>, '__spec__': <ModuleSpec(name='orangecanvas.application.application', loader=<...>, origin='/home/denolf/dev/orange-canvas-core/orangecanvas/application/application.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/home/denolf/dev/orange-canvas-core/orangecanvas/application/__pycache__/application.cpython-38.pyc', _initializing=False) at remote 0x7f6656722100>, '__file__': '/home/denolf/dev/orange-canvas-core/orangecanvas/application/application.py', '__cached__': '/home/denolf/dev/orange-canvas-core/orangecanvas/application/__pycache__/application.cpython-38.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNotewort...(truncated), locals=locals@entry=0x0, args=<optimized out>, argcount=1, kwnames=0x0, kwargs=0x56353e1bb8d8, kwcount=0, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=(<cell at remote 0x7f66567225e0>,), name='exec', qualname='CanvasApplication.exec')
    at Python/ceval.c:4298
#65 0x00007f668e4c3234 in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:435
#66 0x00007f668e4c6c0a in _PyObject_Vectorcall (kwnames=0x0, nargsf=1, args=0x56353e1bb8d0, callable=<function at remote 0x7f6656726280>) at ./Include/cpython/abstract.h:127
#67 method_vectorcall (method=<optimized out>, args=0x56353e1bb8d8, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:60
#68 0x00007f668e4964ad in _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:123
#69 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff90732090, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#70 0x00007f668e49deca in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3469
#71 0x00007f668e5a97bb in _PyEval_EvalCodeWithName
    (_co=_co@entry=<code at remote 0x7f6656793f50>, globals=globals@entry={'__name__': 'orangecanvas.main', '__doc__': '\n', '__package__': 'orangecanvas', '__loader__': <SourceFileLoader(name='orangecanvas.main', path='/home/denolf/dev/orange-canvas-core/orangecanvas/main.py') at remote 0x7f6656794190>, '__spec__': <ModuleSpec(name='orangecanvas.main', loader=<...>, origin='/home/denolf/dev/orange-canvas-core/orangecanvas/main.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/home/denolf/dev/orange-canvas-core/orangecanvas/__pycache__/main.cpython-38.pyc', _initializing=False) at remote 0x7f6656794100>, '__file__': '/home/denolf/dev/orange-canvas-core/orangecanvas/main.py', '__cached__': '/home/denolf/dev/orange-canvas-core/orangecanvas/__pycache__/main.cpython-38.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <type at remote 0x56353b114ba0>, '__spec__': <ModuleSpec(name=...(truncated), locals=locals@entry=0x0, args=<optimized out>, argcount=2, kwnames=0x0, kwargs=0x7f66569e38d8, kwcount=0, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name='run', qualname='Main.run') at Python/ceval.c:4298
#72 0x00007f668e4c3234 in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:435
#73 0x00007f668e4c6c0a in _PyObject_Vectorcall (kwnames=0x0, nargsf=2, args=0x7f66569e38c8, callable=<function at remote 0x7f6656729430>) at ./Include/cpython/abstract.h:127
#74 method_vectorcall (method=<optimized out>, args=0x7f66569e38d0, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:60
#75 0x00007f668e4964ad in _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:123
#76 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff907323e0, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#77 0x00007f668e49deca in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3469
#78 0x00007f668e5a97bb in _PyEval_EvalCodeWithName
    (_co=_co@entry=<code at remote 0x7f665678fa80>, globals=globals@entry={'__name__': 'Orange.canvas.__main__', '__doc__': '\nOrange Canvas main entry point\n\n', '__package__': 'Orange.canvas', '__loader__': <SourceFileLoader(name='Orange.canvas.__main__', path='/home/denolf/dev/orange3/Orange/canvas/__main__.py') at remote 0x7f665678c280>, '__spec__': <ModuleSpec(name='Orange.canvas.__main__', loader=<...>, origin='/home/denolf/dev/orange3/Orange/canvas/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/home/denolf/dev/orange3/Orange/canvas/__pycache__/__main__.cpython-38.pyc', _initializing=False) at remote 0x7f665678c1f0>, '__file__': '/home/denolf/dev/orange3/Orange/canvas/__main__.py', '__cached__': '/home/denolf/dev/orange3/Orange/canvas/__pycache__/__main__.cpython-38.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <type at remote 0x56353b114ba0>, '__spec__...(truncated), locals=locals@entry=0x0, args=<optimized out>, argcount=2, kwnames=0x0, kwargs=0x7f665673c848, kwcount=0, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=(<cell at remote 0x7f665678cf70>,), name='run', qualname='OMain.run')
    at Python/ceval.c:4298
#79 0x00007f668e4c3234 in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:435
#80 0x00007f668e4964ad in _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:123
#81 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff907326a0, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#82 0x00007f668e49a4d4 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3486
#83 0x00007f668e5a97bb in _PyEval_EvalCodeWithName
    (_co=_co@entry=<code at remote 0x7f6656793450>, globals=globals@entry={'__name__': 'Orange.canvas.__main__', '__doc__': '\nOrange Canvas main entry point\n\n', '__package__': 'Orange.canvas', '__loader__': <SourceFileLoader(name='Orange.canvas.__main__', path='/home/denolf/dev/orange3/Orange/canvas/__main__.py') at remote 0x7f665678c280>, '__spec__': <ModuleSpec(name='Orange.canvas.__main__', loader=<...>, origin='/home/denolf/dev/orange3/Orange/canvas/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/home/denolf/dev/orange3/Orange/canvas/__pycache__/__main__.cpython-38.pyc', _initializing=False) at remote 0x7f665678c1f0>, '__file__': '/home/denolf/dev/orange3/Orange/canvas/__main__.py', '__cached__': '/home/denolf/dev/orange3/Orange/canvas/__pycache__/__main__.cpython-38.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <type at remote 0x56353b114ba0>, '__spec__...(truncated), locals=locals@entry=0x0, args=<optimized out>, argcount=1, kwnames=0x0, kwargs=0x56353e18ca78, kwcount=0, kwstep=1, defs=0x7f665678ce98, defcount=1, kwdefs=0x0, closure=0x0, name='main', qualname='main') at Python/ceval.c:4298
#84 0x00007f668e4c3234 in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:435
#85 0x00007f668e4964ad in _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:123
#86 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff90732968, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#87 0x00007f668e499a75 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3500
#88 0x00007f668e49517b in function_code_fastcall (co=<optimized out>, args=<optimized out>, nargs=1, globals=<optimized out>) at Objects/call.c:283
#89 0x00007f668e4964ad in _PyObject_Vectorcall (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<optimized out>) at ./Include/cpython/abstract.h:123
#90 call_function (tstate=tstate@entry=0x56353b103bb0, pp_stack=pp_stack@entry=0x7fff90732b48, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4963
#91 0x00007f668e499a75 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3500
#92 0x00007f668e5a97bb in _PyEval_EvalCodeWithName
    (_co=_co@entry=<code at remote 0x7f668da03660>, globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0, kwargs=0x0, kwcount=0, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0)
    at Python/ceval.c:4298
#93 0x00007f668e5a9b42 in PyEval_EvalCodeEx
    (_co=_co@entry=<code at remote 0x7f668da03660>, globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:4327
#94 0x00007f668e5a9b6f in PyEval_EvalCode
    (co=co@entry=<code at remote 0x7f668da03660>, globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <f--Type <RET> for more, q to quit, c to continue without paging--
unction at remote 0x7f6656741280>}) at Python/ceval.c:718
#95 0x00007f668e5e99fc in run_eval_code_obj
    (locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, co=0x7f668da03660)
    at Python/pythonrun.c:1125
#96 run_mod
    (mod=mod@entry=0x56353b1d53d0, filename=filename@entry='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, flags=flags@entry=0x7fff90732e48, arena=arena@entry=0x7f668dac8550) at Python/pythonrun.c:1147
#97 0x00007f668e5eb376 in PyRun_FileExFlags
    (fp=fp@entry=0x56353b102220, filename_str=filename_str@entry=0x7f668d9ac9f0 "/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas", start=start@entry=257, globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas') at remote 0x7f668da2c6d0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f668da57090>, '__file__': '/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/bin/ewoks-canvas', '__cached__': None, 're': <module at remote 0x7f668d869590>, 'sys': <module at remote 0x7f668da4ce00>, 'main': <function at remote 0x7f6656741280>}, closeit=closeit@entry=1, flags=0x7fff90732e48)
    at Python/pythonrun.c:1063
#98 0x00007f668e5eb4df in PyRun_SimpleFileExFlags (fp=fp@entry=0x56353b102220, filename=<optimized out>, closeit=closeit@entry=1, flags=flags@entry=0x7fff90732e48) at Python/pythonrun.c:428
#99 0x00007f668e5eba3c in PyRun_AnyFileExFlags (fp=fp@entry=0x56353b102220, filename=<optimized out>, closeit=closeit@entry=1, flags=flags@entry=0x7fff90732e48) at Python/pythonrun.c:86
#100 0x00007f668e609ad8 in pymain_run_file (cf=0x7fff90732e48, config=0x56353b102b80) at Modules/main.c:381
#101 pymain_run_python (exitcode=0x7fff90732e3c) at Modules/main.c:606
#102 Py_RunMain () at Modules/main.c:685
#103 0x00007f668e609f7a in pymain_main (args=0x7fff90732f40) at Modules/main.c:715
#104 Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:739
#105 0x00007f668e234083 in __libc_start_main (main=0x56353a1d1060 <main>, argc=3, argv=0x7fff907330a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff90733098)
    at ../csu/libc-start.c:308
#106 0x000056353a1d109e in _start ()
Steps to reproduce the behavior

I can upload the workflow and the data (~1GB) somewhere if you want a way to reproduce the problem.

@woutdenolf
Copy link
Contributor Author

The data being send to the dialog in ErrorReporting.handle_exception looks like this (see below). When I create an exception and replace the data with that dictionary, the dialog pops up as expected. So the segfault does not seem to be caused by the data send to the dialog.

data = OrderedDict(
    [
        (
            "Exception",
            "ValueError: Array passed to NMF (input W) is full of zeros.",
        ),
        ("Module", "sklearn.decomposition._nmf:67"),
        ("Version", "3.36.0.dev"),
        (
            "Environment",
            "Python 3.8.5 on Linux 5.4.0-155-generic #172-Ubuntu SMP Fri Jul 7 16:10:02 UTC 2023 x86_64",
        ),
        (
            "Installed Packages",
            "AnyQt==0.2.0, Automat==22.10.0, Babel==2.10.3, Bottleneck==1.3.5, CacheControl==0.12.11, CoilMQ==1.0.1, Cython==0.29.32, Deprecated==1.2.13, Flask-Cors==3.0.10, Flask-RESTful==0.3.9, Flask-SocketIO==5.2.0, Flask==2.2.5, Glymur==0.12.0, HeapDict==1.0.1, Jinja2==3.1.2, JsonForm==0.0.2, JsonSir==0.0.2, Mako==1.2.3, MarkupSafe==2.1.1, Orange3==3.36.0.dev0+92d84ee, PeakUtils==1.3.4, Pillow==9.2.0, Pint==0.19.2, PyCifRW==4.4.3, PyMca5==5.8.7, PyOpenGL==3.1.6, PyQt5-Qt5==5.15.2, PyQt5-sip==12.11.0, PyQt5==5.15.9, PyQtWebEngine-Qt5==5.15.2, PyQtWebEngine==5.15.6, PyWavelets==1.4.1, PyYAML==5.4.1, Pygments==2.13.0, Python-EasyConfig==0.1.7, QtPy==2.2.1, Resource==0.2.1, SQLAlchemy==1.4.41, SecretStorage==3.3.3, Send2Trash==1.8.0, StrEnum==0.4.9, Twisted==22.10.0, Werkzeug==2.2.3, XlsxWriter==3.0.3, accessible-pygments==0.0.4, alabaster==0.7.12, algopy==0.5.7, amqp==5.1.1, aniso8601==9.0.1, ansiwrap==0.8.4, anyio==3.6.1, apispec==5.2.2, appdirs==1.4.4, argon2-cffi-bindings==21.2.0, argon2-cffi==21.3.0, arrow==1.2.3, asteval==0.9.27, asttokens==2.0.8, async-lru==2.0.3, async-timeout==4.0.2, attrs==23.1.0, backcall==0.2.0, backports.zoneinfo==0.2.1, baycomp==1.0.2, beautifulsoup4==4.11.1, bes==1.0.0rc1, bidict==0.22.0, billiard==4.0.2, black==23.1.0, bleach==5.0.1, blinker==1.6.2, blissdata==0.3.2, blissdemo==0.1.0, blissoda==0.0.1a0, bokeh==2.4.3, cattrs==23.1.2, celery==5.3.0b1, certifi==2022.9.24, cffi==1.15.1, chardet==5.0.0, charset-normalizer==2.1.1, circle-fit==0.1.3, click-didyoumean==0.3.0, click-plugins==1.1.1, click-repl==0.2.0, click==8.1.3, cloudpickle==2.2.0, colorama==0.4.5, commonmark==0.9.1, conda-souschef==2.2.3, constantly==15.1.0, contourpy==1.0.5, cryptography==38.0.1, cycler==0.11.0, darfix==0.10.0, dask-jobqueue==0.8.1, dask==2023.3.1, debugpy==1.6.3, decorator==5.1.1, defusedxml==0.7.1, dictdiffer==0.9.0, dicttoxml==1.7.16, distributed==2023.3.1, distro==1.8.0, docopt==0.6.2, docutils==0.19, easistrain==0.0.6, edna2==1.0.0rc1, edna==1.0rc1, emmet-core==0.38.6, entrypoints==0.4, est==0.5.1, et-xmlfile==1.1.0, ewoks==0.3.0, ewokscore==0.7.0, ewoksdask==0.1.0rc2, ewoksdata==0.2.7, ewoksfluo==0.0.1a0, ewoksid11==0.0.1a0, ewoksid22==0.0.2rc0, ewoksid31==0.0.1a0, ewoksixs==0.0.1a0, ewoksjob==0.2.5, ewoksndreg==0.0.1a1, ewoksorange==0.1.4, ewoksorangetemplate==0.0.1a0, ewoksppf==0.1.3, ewokspr==0.0.1, ewoksserver==0.2.0, ewoksutils==0.1.2, ewoksweb==0.1.0rc4, ewoksxrpd==0.3.0, exceptiongroup==1.1.2, executing==1.1.0, fabio==0.11.0, fastjsonschema==2.16.2, fisx==1.3.0, flake8-nb==0.5.2, flake8==5.0.4, flask-apispec==0.11.4, flower==1.2.0, fonttools==4.37.4, fqdn==1.5.1, fsspec==2022.8.2, future==0.18.2, geometricopticssimulation==0.0.1a0, gevent==22.10.2, graphviz==0.20.1, graypy==2.1.0, grayskull==1.8.3, greenlet==2.0.0, gunicorn==20.1.0, h11==0.12.0, h5grove==1.3.0, h5py==3.7.0, hdf5plugin==3.3.1, httpcore==0.15.0, httpx==0.23.0, humanize==4.4.0, hyperlink==21.0.0, idna==3.4, imageio==2.22.1, imagesize==1.4.1, importlib-metadata==5.0.0, importlib-resources==5.10.0, incremental==22.10.0, iniconfig==1.1.1, ipykernel==6.16.0, ipython-genutils==0.2.0, ipython==8.5.0, ipywidgets==8.0.2, isoduration==20.11.0, isort==5.10.1, itsdangerous==2.1.2, ixstools==2021a0, jaraco.classes==3.2.3, jedi==0.18.1, jeepney==0.8.0, joblib==1.2.0, json-rpc==1.13.0, json5==0.9.10, jsonpickle==2.2.0, jsonpointer==2.4, jsonrpc==3.0.1, jsonschema-specifications==2023.7.1, jsonschema==4.18.4, jupyter-client==8.3.0, jupyter-contrib-core==0.4.2, jupyter-contrib-nbextensions==0.7.0, jupyter-core==5.3.1, jupyter-events==0.6.3, jupyter-highlight-selected-word==0.2.0, jupyter-lsp==2.2.0, jupyter-nbextensions-configurator==0.6.1, jupyter-server-terminals==0.4.4, jupyter-server==2.7.0, jupyterlab-h5web==10.0.0, jupyterlab-pygments==0.2.2, jupyterlab-server==2.23.0, jupyterlab-spellchecker==0.7.3, jupyterlab-widgets==3.0.3, jupyterlab==4.0.3, keyring==23.9.3, keyrings.alt==4.2.0, kiwisolver==1.4.4, kombu==5.3.1, latexcodec==2.0.1, lazy-loader==0.2, livereload==2.6.3, lmfit==1.0.3, locket==1.0.0, lockfile==0.12.2, lxml==4.9.1, markdown-it-py==3.0.0, marshmallow==3.18.0, matplotlib-inline==0.1.6, matplotlib==3.5.0, mccabe==0.7.0, mdit-py-plugins==0.4.0, mdurl==0.1.2, memory-profiler==0.61.0, memray==1.5.0, mirakuru==2.4.2, mistune==2.0.4, mock==5.0.1, mongita==1.1.1, monty==2022.9.9, more-itertools==9.0.0, mp-api==0.29.3, mpmath==1.2.1, msgpack==1.0.4, multianalyzer==0.4.0, mypy-extensions==0.4.3, mypy==0.982, myst-parser==2.0.0, nabu==2022.2.0rc5, nbclassic==0.4.5, nbclient==0.7.0, nbconvert==7.2.10, nbformat==5.6.1, nbsphinx-link==1.3.0, nbsphinx==0.8.9, nest-asyncio==1.5.6, networkx==2.8.7, notebook-shim==0.2.0, notebook==6.5.1, numdifftools==0.9.40, numexpr==2.8.3, numpy==1.24.3, nxtomomill==0.12.3, objgraph==3.5.0, openTSNE==0.6.2, opencv-python==4.3.0.36, openpyxl==3.0.10, orange-canvas-core==0.1.32.dev0, orange-widget-base==4.22.0.dev0+ebc5230, orjson==3.9.2, overrides==7.3.1, packaging==23.0, palettable==3.3.0, pandas==1.4.4, pandoc==2.2, pandocfilters==1.5.0, papermill==2.4.0, parso==0.8.3, partd==1.3.0, pathspec==0.10.1, patsy==0.5.3, pexpect==4.8.0, pickleshare==0.7.5, pid==3.0.4, pip==23.1.2, pkginfo==1.8.3, pkgutil-resolve-name==1.3.10, platformdirs==2.5.2, plotly==5.11.0, pluggy==1.0.0, plumbum==1.8.0, ply==3.11, port-for==0.6.2, processview==1.2.0, progressbar2==4.0.0, prometheus-client==0.15.0, prompt-toolkit==3.0.31, psutil==5.9.2, ptyprocess==0.7.0, pure-eval==0.2.2, py==1.11.0, pyOpenSSL==22.1.0, pyaml==21.10.1, pyasn1-modules==0.2.8, pyasn1==0.4.8, pybtex==0.24.0, pycodestyle==2.9.1, pycparser==2.21, pydantic==1.10.2, pydata-sphinx-theme==0.13.3, pyee==8.2.2, pyfai==2023.5.0, pyflakes==2.5.0, pyicat-plus==0.1.5, pymatgen==2022.10.22, pymca==5.8.7, pymongo==3.10.1, pyopencl==2022.2.3, pyparsing==3.0.9, pyppeteer==1.0.2, pypushflow==0.5.0, pyqtgraph==0.13.1, pyrsistent==0.18.1, pyshortcuts==1.8.2, pyslurmutils==0.0.6b0, pytango==9.4.1, pytest-asyncio==0.20.1, pytest-celery==0.0.0, pytest-mock==3.10.0, pytest-redis==2.4.0, pytest-subtests==0.8.0, pytest-timeout==2.1.0, pytest==7.1.3, python-daemon==3.0.1, python-dateutil==2.8.2, python-engineio==4.3.4, python-json-logger==2.0.7, python-louvain==0.16, python-socketio==5.7.1, python-utils==3.3.3, pytools==2022.1.12, pytz==2022.4, pyzmq==24.0.1, qasync==0.23.0, qtconsole==5.3.2, rapidfuzz==2.11.1, readme-renderer==37.2, recommonmark==0.7.1, redis==4.5.4, referencing==0.30.0, requests-cache==1.1.0, requests-toolbelt==0.10.0, requests==2.28.1, rfc3339-validator==0.1.4, rfc3986-validator==0.1.1, rfc3986==1.5.0, rich==12.6.0, rpds-py==0.9.2, rsyncmanager==0.1.2, ruamel.yaml.clib==0.2.6, ruamel.yaml.jinja2==0.2.7, ruamel.yaml==0.17.21, scikit-image==0.20.0, scikit-learn==1.1.2, scipy==1.9.1, serverfiles==0.3.1, service-identity==21.1.0, setuptools-scm==7.0.5, setuptools==67.8.0, silx==1.1.2, simple-websocket==0.8.1, six==1.16.0, sluurp==0.2.0, sniffio==1.3.0, snowballstemmer==2.2.0, sortedcontainers==2.4.0, soupsieve==2.3.2.post1, spglib==2.0.1, sphinx-autobuild==2021.3.14, sphinx-autodoc-typehints==1.19.4, sphinx-book-theme==1.0.1, sphinx-design==0.4.1, sphinx==6.1.1, sphinxcontrib-applehelp==1.0.2, sphinxcontrib-devhelp==1.0.2, sphinxcontrib-htmlhelp==2.0.0, sphinxcontrib-jsmath==1.0.1, sphinxcontrib-mermaid==0.7.1, sphinxcontrib-qthelp==1.0.3, sphinxcontrib-serializinghtml==1.1.5, srxraylib==1.0.39, stack-data==0.5.1, statsmodels==0.13.2, stdlib-list==0.8.0, stomp.py==8.1.0, stompest==2.3.0, streamline-changer==0.0.1a0, suds==1.1.2, sympy==1.11.1, syned==1.0.27, tabulate==0.9.0, tblib==1.7.0, tenacity==8.1.0, termcolor==2.0.1, terminado==0.16.0, testbook==0.4.2, textwrap3==0.9.2, threadpoolctl==3.1.0, tifffile==2022.10.10, tinycss2==1.1.1, tokenize-rt==5.0.0, toml==0.10.2, tomli-w==1.0.0, tomli==2.0.1, tomoscan==1.1.5, tomwer==1.1.2, toolz==0.12.0, tornado==6.2, tqdm==4.64.1, traitlets==5.9.0, twine==4.0.2, typing-extensions==4.4.0, tzdata==2023.3, uncertainties==3.1.7, uri-template==1.3.0, url-normalize==1.4.3, urllib3==1.26.12, vine==5.0.0, wcwidth==0.2.5, webargs==8.2.0, webcolors==1.13, webencodings==0.5.1, websocket-client==1.4.1, websockets==10.4, wheel==0.38.4, widgetsnbextension==4.0.3, wofry==1.0.31, wrapt==1.14.1, wsproto==1.2.0, xlrd==2.0.1, xmltodict==0.13.0, xraydb==4.4.7, xraylarch==0.9.65, xyzservices==2023.2.0, zict==2.2.0, zipp==3.8.1, zope.event==4.5.0, zope.interface==5.4.0",
        ),
        ("Machine ID", "f5978952-26af-4d35-86c5-b44aaa96886f"),
        (
            "Stack Trace",
            'Traceback (most recent call last):\n  File "/home/denolf/dev/darfix/src/darfix/gui/operationThread.py", line 32, in run\n    self.data = self.func(*self.args, **self.kwargs)\n  File "/home/denolf/dev/darfix/src/darfix/core/dataset.py", line 1632, in nica_nmf\n    return self.nmf(\n  File "/home/denolf/dev/darfix/src/darfix/core/dataset.py", line 1591, in nmf\n    W = model.fit_transform(X, W=W, H=H)\n  File "/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/sklearn/decomposition/_nmf.py", line 1593, in fit_transform\n    W, H, n_iter = self._fit_transform(X, W=W, H=H)\n  File "/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/sklearn/decomposition/_nmf.py", line 1652, in _fit_transform\n    W, H = self._check_w_h(X, W, H, update_H)\n  File "/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/sklearn/decomposition/_nmf.py", line 1518, in _check_w_h\n    _check_init(W, (n_samples, self._n_components), "NMF (input W)")\n  File "/users/denolf/virtualenvs/ewoks/ubuntu_20_04/py38/lib/python3.8/site-packages/sklearn/decomposition/_nmf.py", line 67, in _check_init\n    raise ValueError("Array passed to %s is full of zeros." % whom)\nValueError: Array passed to NMF (input W) is full of zeros.\n',
        ),
        (
            "Local Variables",
            "OrderedDict([('A',\n              array([[0, 0, 0, ..., 0, 0, 0],\n       [0, 0, 0, ..., 0, 0, 0],\n       [0, 0, 0, ..., 0, 0, 0],\n       ...,\n       [0, 0, 0, ..., 0, 0, 0],\n       [0, 0, 0, ..., 0, 0, 0],\n       [0, 0, 0, ..., 0, 0, 0]], dtype=uint16)),\n             ('shape', (180, 27)),\n             ('whom', 'NMF (input W)')])",
        ),
    ]
)

@woutdenolf
Copy link
Contributor Author

When forcing internet_on to return False (so it pops up a QMessageBox) I also get a segfault.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants