Hi Manu! Thank you for working on this, and for reaching out here :-)
Manuel Riel <m...@snapdragon.cc> writes: > Hi all, > > Thanks for tracking this bug. I couldn't reproduce it on Debian unstable with > Debian-provided PyQt. But it reliably fails when installing PyQt5 from PyPi. > > Based on other reports the key problem is the cleanup of Qt widgets. Some > sources suggest to remove all widgets in the right order bottom-up, but for > our case just removing the main (and only) window was enough: > > del app.main_window > > Here a PR to fix this by adding a more complete cleanup function: > https://github.com/borgbase/vorta/pull/877/files > > If possible, please let me know if this resolves the issue everywhere. > I can confirm that the fix included in 0.7.4 changes the trigger case for me, and after about a dozen runs of manual testing I found that I could reliably trigger this crash 4/4 times: 1. With a new user who has no Vorta config 2. Open Vorta 3. Do nothing 4. Quit from tray icon 5. Exit code 139 (SIGEGV) Here is the backtrace:
Starting program: /usr/bin/python3 /usr/bin/vorta [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffef21a700 (LWP 37224)] [New Thread 0x7fffee9f9700 (LWP 37225)] [Detaching after fork from child process 37226] [New Thread 0x7fffed05c700 (LWP 37227)] [New Thread 0x7fffec85b700 (LWP 37228)] [New Thread 0x7fffde80d700 (LWP 37229)] [New Thread 0x7fffde00c700 (LWP 37230)] [New Thread 0x7fffdd80b700 (LWP 37231)] [New Thread 0x7fffdd00a700 (LWP 37232)] [New Thread 0x7fffdc809700 (LWP 37233)] [Detaching after fork from child process 37234] [Thread 0x7fffdc809700 (LWP 37233) exited] [Thread 0x7fffec85b700 (LWP 37228) exited] [Thread 0x7fffed05c700 (LWP 37227) exited] Thread 1 "python3" received signal SIGSEGV, Segmentation fault. 0x00007ffff1b3b7e7 in QWidget::~QWidget (this=0x13b6710, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1478 1478 kernel/qwidget.cpp: No such file or directory. #0 0x00007ffff1b3b7e7 in QWidget::~QWidget (this=0x13b6710, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1478 #1 0x00007ffff1e85e2d in QSystemTrayIconSys::~QSystemTrayIconSys (this=0x13b6710, __in_chrg=<optimized out>) at util/qsystemtrayicon_x11.cpp:76 #2 QSystemTrayIconSys::~QSystemTrayIconSys (this=0x13b6710, __in_chrg=<optimized out>) at util/qsystemtrayicon_x11.cpp:76 #3 0x00007ffff1e85512 in QSystemTrayIconPrivate::destroyIcon (this=0x1372b90) at util/qsystemtrayicon_x11.cpp:278 #4 QSystemTrayIconPrivate::destroyIcon (this=0x1372b90) at util/qsystemtrayicon_x11.cpp:272 #5 QSystemTrayIconPrivate::remove_sys (this=0x1372b90) at util/qsystemtrayicon_x11.cpp:269 #6 0x00007ffff1e65dab in QSystemTrayIcon::~QSystemTrayIcon (this=0x12b0a50, __in_chrg=<optimized out>) at util/qsystemtrayicon.cpp:182 #7 0x00007ffff21afd19 in sipQSystemTrayIcon::~sipQSystemTrayIcon (this=0x12b0a50, __in_chrg=<optimized out>) at ./build-3.9/QtWidgets/sipQtWidgetspart1.cpp:52814 #8 0x00007ffff587fb7e in QObjectPrivate::deleteChildren (this=0x118ce40) at kernel/qobject.cpp:2104 #9 0x00007ffff588a754 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082 #10 0x00007ffff239f5e9 in sipQApplication::~sipQApplication (this=0x124d3a0, __in_chrg=<optimized out>) at ./build-3.9/QtWidgets/sipQtWidgetspart9.cpp:17019 #11 0x00007ffff5d2d7ad in cleanup_on_exit () at ../../qpy/QtCore/qpycore_init.cpp:44 #12 0x000000000052606e in cfunction_vectorcall_NOARGS (func=0x7ffff5e49630, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/methodobject.c:485 #13 0x0000000000631090 in atexit_callfuncs (module=<optimized out>) at ../Modules/atexitmodule.c:93 #14 0x000000000061af1d in call_py_exitfuncs (tstate=0x962e80) at ../Python/pylifecycle.c:2374 #15 0x000000000061a76d in Py_FinalizeEx () at ../Python/pylifecycle.c:1373 #16 0x000000000062c008 in Py_Exit (sts=0) at ../Python/pylifecycle.c:2433 #17 0x000000000061c43b in handle_system_exit () at ../Python/pythonrun.c:722 #18 0x000000000061c3a2 in _PyErr_PrintEx (set_sys_last_vars=1, tstate=0x962e80) at ../Python/pythonrun.c:732 #19 PyErr_PrintEx (set_sys_last_vars=1) at ../Python/pythonrun.c:827 #20 0x0000000000619845 in PyErr_Print () at ../Python/pythonrun.c:833 #21 pyrun_simple_file (flags=0x7fffffffe428, closeit=<optimized out>, filename=0x7ffff75f8030, fp=<optimized out>) at ../Python/pythonrun.c:455 #22 PyRun_SimpleFileExFlags (fp=<optimized out>, filename=<optimized out>, closeit=<optimized out>, flags=0x7fffffffe428) at ../Python/pythonrun.c:482 #23 0x000000000060d4e3 in pymain_run_file (cf=0x7fffffffe428, config=0x9617e0) at ../Modules/main.c:373 #24 pymain_run_python (exitcode=0x7fffffffe420) at ../Modules/main.c:598 #25 Py_RunMain () at ../Modules/main.c:677 #26 0x00000000005ea6e9 in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at ../Modules/main.c:731 #27 0x00007ffff7c44d0a in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #28 0x00000000005ea5ea in _start () at ../Python/getplatform.c:11
Sandro, can you tell if this backtrace indicates that Debian's PyQt and/or QtWidgets might have a problem? "kernel/qwidget.cpp: No such file or directory" Cheers, Nicholas
signature.asc
Description: PGP signature