Summary: | Discover crashes when cancelling Flatpak installation | ||
---|---|---|---|
Product: | [Applications] Discover | Reporter: | John Vincent <corcegajovic> |
Component: | discover | Assignee: | Dan Leinir Turthra Jensen <leinir> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol, reg |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.22.3 | ||
Target Milestone: | --- | ||
Platform: | Neon | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/discover/commit/f83885bcc625215180b4b1ee82645cbbffd84628 | Version Fixed In: | 5.23.0 |
Sentry Crash Report: |
Description
John Vincent
2021-07-09 09:19:37 UTC
I could reproduce as well. #0 0x00007f26d4c2dd22 in raise () from /usr/lib/libc.so.6 [Current thread is 1 (Thread 0x7f26d05b7ac0 (LWP 263494))] (gdb) where #0 0x00007f26d4c2dd22 in raise () at /usr/lib/libc.so.6 #1 0x00007f26d738af10 in KCrash::defaultCrashHandler(int) (sig=6) at /home/apol/devel/frameworks/kcrash/src/kcrash.cpp:603 #2 0x00007f26d4c2dda0 in <signal handler called> () at /usr/lib/libc.so.6 #3 0x00007f26d4c2dd22 in raise () at /usr/lib/libc.so.6 #4 0x00007f26d4c17862 in abort () at /usr/lib/libc.so.6 #5 0x00007f26d51f0bb1 in qt_message_fatal (message=<synthetic pointer>..., context=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1914 #6 QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffcf396eec0, msg=msg@entry=0x7f26d54f56c0 "QThread: Destroyed while thread is still running") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893 #7 0x00007f26d51f1419 in QThread::~QThread() (this=<optimized out>, __in_chrg=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread.cpp:456 #8 0x00007f265065c23e in FlatpakTransactionThread::~FlatpakTransactionThread() (this=0x557d1d021fd0) at /home/apol/devel/frameworks/discover/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:79 #9 0x00007f265065c269 in FlatpakTransactionThread::~FlatpakTransactionThread() (this=0x557d1d021fd0) at /home/apol/devel/frameworks/discover/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:76 #10 0x00007f265065a823 in FlatpakJobTransaction::~FlatpakJobTransaction() (this=0x7f25e834c3f0) at /home/apol/devel/frameworks/discover/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp:30 #11 0x00007f265065a869 in FlatpakJobTransaction::~FlatpakJobTransaction() (this=0x7f25e834c3f0) at /home/apol/devel/frameworks/discover/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp:29 #12 0x00007f26d543be7f in QObject::event(QEvent*) (this=0x7f25e834c3f0, e=0x557d1c918d80) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1301 #13 0x00007f26d667c6cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7f25e834c3f0, e=0x557d1c918d80) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3632 #14 0x00007f26d540f9ca in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7f25e834c3f0, event=0x557d1c918d80) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064 #15 0x00007f26d5412a17 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x557d1abe6100) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1821 #16 0x00007f26d5467963 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x557d1ac0e4d0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:277 #17 0x00007f26d1f3510c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #18 0x00007f26d1f88b99 in () at /usr/lib/libglib-2.0.so.0 #19 0x00007f26d1f32871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #20 0x00007f26d5466fe4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x557d1abd34b0, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423 #21 0x00007f26d540e3cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcf396f360, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:69 #22 0x00007f26d54166b0 in QCoreApplication::exec() () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121 #23 0x0000557d194b49cd in main(int, char**) (argc=4, argv=0x7ffcf396fa48) at /home/apol/devel/frameworks/discover/discover/main.cpp:212 Git commit f83885bcc625215180b4b1ee82645cbbffd84628 by Aleix Pol. Committed on 10/07/2021 at 00:39. Pushed by apol into branch 'master'. flatpak: Improve how we react to cancelled jobs Use flatpak_installation as source of truth for the new package state. Don't set the job as cancelled until it's ready to be destroyed. M +1 -1 libdiscover/backends/FlatpakBackend/FlatpakBackend.h M +14 -17 libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp M +1 -0 libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp M +5 -0 libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h https://invent.kde.org/plasma/discover/commit/f83885bcc625215180b4b1ee82645cbbffd84628 *** Bug 446535 has been marked as a duplicate of this bug. *** |