Bug 426602 - Discover crashed on close in QQuickShortcut::ungrabShortcut() after I install available updates via Konsole
Summary: Discover crashed on close in QQuickShortcut::ungrabShortcut() after I install...
Status: RESOLVED UPSTREAM
Alias: None
Product: Discover
Classification: Applications
Component: Updates (interactive) (show other bugs)
Version: unspecified
Platform: Neon Linux
: HI crash
Target Milestone: ---
Assignee: Dan Leinir Turthra Jensen
URL:
Keywords: drkonqi
: 429896 430962 431646 435821 437414 439121 439396 440978 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-09-16 12:33 UTC by Patrick Silva
Modified: 2022-01-21 05:41 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2020-09-16 12:33:26 UTC
Application: plasma-discover (5.19.80)

Qt Version: 5.15.0
Frameworks Version: 5.75.0
Operating System: Linux 5.4.0-47-generic x86_64
Windowing system: Wayland
Distribution: KDE neon Unstable Edition

-- Information about the crash:
- What I was doing when the application crashed:
Plasma shown updates notification and I clicked on it to open Discover. Despite Discover was open, I instaled the avaiable updates via Konsole. When the update was completed, I clicked on "Check for updates" button in "Update" page of Discover, the upddates previously installed via Konsole disappeared from the updates list, I closed Discover with middle clck on its entry in the task manager then Plasma shown a crash notification.

-- Backtrace:
Application: Discover (plasma-discover), signal: Segmentation fault
Content of s_kcrashErrorMessage: (null)
[New LWP 27428]
[New LWP 27440]
[New LWP 27441]
[New LWP 27442]
[New LWP 27480]
[New LWP 27604]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f5f5785796f in __GI___poll (fds=fds@entry=0x7fff6fdb32e8, nfds=nfds@entry=1, timeout=timeout@entry=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
[Current thread is 1 (Thread 0x7f5f5355b900 (LWP 27407))]

Thread 7 (Thread 0x7f5eb6ffd700 (LWP 27604)):
#0  0x00007f5f5785796f in __GI___poll (fds=0x7f5efe131400, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5f561cd1ae in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5f561cd2e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5f0968199d in  () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f5f561f6931 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5f56b39609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f5f57864103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f5ed7fff700 (LWP 27480)):
#0  __GI___libc_read (nbytes=16, buf=0x7f5ed7ffea90, fd=53) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=53, buf=0x7f5ed7ffea90, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f5f5621589f in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5f561cccfe in g_main_context_check () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5f561cd152 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5f561cd2e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f5f57e21eab in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5ea8000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007f5f57dc61bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5ed7ffeca0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#8  0x00007f5f57be4082 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#9  0x00007f5f57be520c in QThreadPrivate::start(void*) (arg=0x556465505160) at thread/qthread_unix.cpp:342
#10 0x00007f5f56b39609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f5f57864103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f5f28b61700 (LWP 27442)):
#0  0x00007f5f5621a368 in g_mutex_unlock () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f5f561cd05d in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5f561cd2e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5f57e21eab in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5f04000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f5f57dc61bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5f28b60ca0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f5f57be4082 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f5f57be520c in QThreadPrivate::start(void*) (arg=0x556461f55fa0) at thread/qthread_unix.cpp:342
#7  0x00007f5f56b39609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f5f57864103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f5f296f2700 (LWP 27441)):
#0  0x00007f5f5621a33d in g_mutex_lock () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f5f561cca43 in g_main_context_check () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5f561cd152 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5f561cd533 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5f55f28eda in  () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#5  0x00007f5f561f6931 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f5f56b39609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f5f57864103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f5f29ef3700 (LWP 27440)):
#0  0x00007f5f5785796f in __GI___poll (fds=0x556461ef7860, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5f561cd1ae in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5f561cd2e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5f561cd331 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5f561f6931 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5f56b39609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f5f57864103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f5f5242e700 (LWP 27428)):
#0  __GI___libc_read (nbytes=16, buf=0x7f5f5242da60, fd=5) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=5, buf=0x7f5f5242da60, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f5f5621589f in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5f561cccfe in g_main_context_check () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5f561cd152 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5f561cd2e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f5f57e21eab in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5f4c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007f5f57dc61bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5f5242dc70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#8  0x00007f5f57be4082 in QThread::exec() (this=this@entry=0x7f5f59447d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#9  0x00007f5f593c4f2b in QDBusConnectionManager::run() (this=0x7f5f59447d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#10 0x00007f5f57be520c in QThreadPrivate::start(void*) (arg=0x7f5f59447d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:342
#11 0x00007f5f56b39609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#12 0x00007f5f57864103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f5f5355b900 (LWP 27407)):
[KCrash Handler]
#6  0x00007f5f5822457b in qGetPtrHelper<QScopedPointer<QShortcutMapPrivate, QScopedPointerDeleter<QShortcutMapPrivate> > >(QScopedPointer<QShortcutMapPrivate, QScopedPointerDeleter<QShortcutMapPrivate> >&) (ptr=...) at kernel/qshortcutmap.cpp:184
#7  QShortcutMap::d_func() (this=<optimized out>) at kernel/qshortcutmap_p.h:73
#8  QShortcutMap::removeShortcut(int, QObject*, QKeySequence const&) (this=this@entry=0xc8, id=-76, owner=owner@entry=0x5564661dd480, key=...) at kernel/qshortcutmap.cpp:185
#9  0x00007f5f59952d7c in QQuickShortcut::ungrabShortcut(QQuickShortcut::Shortcut&) (this=this@entry=0x5564661dd480, shortcut=...) at /usr/include/x86_64-linux-gnu/qt5/QtGui/5.15.0/QtGui/private/qguiapplication_p.h:206
#10 0x00007f5f59953a19 in QQuickShortcut::ungrabShortcut(QQuickShortcut::Shortcut&) (shortcut=..., this=0x5564661dd480) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:121
#11 QQuickShortcut::~QQuickShortcut() (this=0x5564661dd480, __in_chrg=<optimized out>) at util/qquickshortcut.cpp:141
#12 0x00007f5f59bb97f7 in QQmlPrivate::QQmlElement<QQuickShortcut>::~QQmlElement() (this=0x5564661dd480, __in_chrg=<optimized out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:142
#13 QQmlPrivate::QQmlElement<QQuickShortcut>::~QQmlElement() (this=0x5564661dd480, __in_chrg=<optimized out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:144
#14 0x00007f5f57df1bae in QObjectPrivate::deleteChildren() (this=0x556465c505b0) at kernel/qobject.cpp:2104
#15 0x00007f5f57dfc5d6 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#16 0x00007f5f59a3b34a in QQuickItem::~QQuickItem() (this=0x5564661e3380, __in_chrg=<optimized out>) at items/qquickitem.cpp:2364
#17 0x00007f5f4b5acd72 in QQuickButton::~QQuickButton() (this=0x5564661e3380, __in_chrg=<optimized out>) at ../../../include/QtQuickTemplates2/5.15.0/QtQuickTemplates2/private/../../../../../src/quicktemplates2/qquickbutton_p.h:57
#18 QQmlPrivate::QQmlElement<QQuickButton>::~QQmlElement() (this=0x5564661e3380, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtQml/qqmlprivate.h:144
#19 QQmlPrivate::QQmlElement<QQuickButton>::~QQmlElement() (this=0x5564661e3380, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtQml/qqmlprivate.h:144
#20 0x00007f5f57df1bae in QObjectPrivate::deleteChildren() (this=0x55646556e960) at kernel/qobject.cpp:2104
#21 0x00007f5f57dfc5d6 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#22 0x00007f5f59a3b34a in QQuickItem::~QQuickItem() (this=0x5564668df320, __in_chrg=<optimized out>) at items/qquickitem.cpp:2364
#23 0x00007f5f59bb7669 in QQmlPrivate::QQmlElement<QQuickLoader>::~QQmlElement() (this=0x5564668df320, __in_chrg=<optimized out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:142
#24 QQmlPrivate::QQmlElement<QQuickLoader>::~QQmlElement() (this=0x5564668df320, __in_chrg=<optimized out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:144
#25 0x00007f5f57df1bae in QObjectPrivate::deleteChildren() (this=0x55646147e710) at kernel/qobject.cpp:2104
#26 0x00007f5f57dfc5d6 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#27 0x00007f5f59a3b34a in QQuickItem::~QQuickItem() (this=0x556465a87ea0, __in_chrg=<optimized out>) at items/qquickitem.cpp:2364
#28 0x00007f5f503c7458 in QQuickLayout::~QQuickLayout() (this=0x556465a87ea0, __in_chrg=<optimized out>) at ../../../include/QtQuick/5.15.0/QtQuick/private/../../../../../src/quick/items/qquickitemchangelistener_p.h:123
#29 0x00007f5f503ce2c5 in QQuickGridLayout::~QQuickGridLayout() (this=0x556465a87ea0, __in_chrg=<optimized out>) at ./qquicklinearlayout_p.h:138
#30 QQmlPrivate::QQmlElement<QQuickGridLayout>::~QQmlElement() (this=0x556465a87ea0, __in_chrg=<optimized out>) at ../../../include/QtQml/../../src/qml/qml/qqmlprivate.h:144
#31 QQmlPrivate::QQmlElement<QQuickGridLayout>::~QQmlElement() (this=0x556465a87ea0, __in_chrg=<optimized out>) at ../../../include/QtQml/../../src/qml/qml/qqmlprivate.h:144
#32 0x00007f5f57df1bae in QObjectPrivate::deleteChildren() (this=0x556466022750) at kernel/qobject.cpp:2104
#33 0x00007f5f57dfc5d6 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#34 0x00007f5f59a3b34a in QQuickItem::~QQuickItem() (this=0x5564664bd1a0, __in_chrg=<optimized out>) at items/qquickitem.cpp:2364
#35 0x00007f5f59bb4349 in QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (this=0x5564664bd1a0, __in_chrg=<optimized out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:142
#36 QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (this=0x5564664bd1a0, __in_chrg=<optimized out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:144
#37 0x00007f5f57df1bae in QObjectPrivate::deleteChildren() (this=0x556461f682d0) at kernel/qobject.cpp:2104
#38 0x00007f5f57dfc5d6 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#39 0x00007f5f59a3b34a in QQuickItem::~QQuickItem() (this=0x5564665437b0, __in_chrg=<optimized out>) at items/qquickitem.cpp:2364
#40 0x00007f5f4b5acb62 in QQuickItemDelegate::~QQuickItemDelegate() (this=0x5564665437b0, __in_chrg=<optimized out>) at ../../../include/QtQuickTemplates2/5.15.0/QtQuickTemplates2/private/../../../../../src/quicktemplates2/qquickitemdelegate_p.h:57
#41 QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlElement() (this=0x5564665437b0, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtQml/qqmlprivate.h:144
#42 QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlElement() (this=0x5564665437b0, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtQml/qqmlprivate.h:144
#43 0x00007f5f500ed886 in qDeleteAll<QList<QQuickItem*>::const_iterator>(QList<QQuickItem*>::const_iterator, QList<QQuickItem*>::const_iterator) (end=..., begin=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:319
#44 qDeleteAll<QList<QQuickItem*> >(QList<QQuickItem*> const&) (c=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:328
#45 DelegateCache::~DelegateCache() (this=0x7f5f5015c3c0 <(anonymous namespace)::Q_QGS_s_delegateCache::innerFunction()::holder>, __in_chrg=<optimized out>) at ./src/delegaterecycler.cpp:63
#46 0x00007f5f500ed92d in (anonymous namespace)::Q_QGS_s_delegateCache::Holder::~Holder() (this=<optimized out>, __in_chrg=<optimized out>) at ./src/delegaterecycler.cpp:54
#47 0x00007f5f5778ba27 in __run_exit_handlers (status=0, listp=0x7f5f5792d718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#48 0x00007f5f5778bbe0 in __GI_exit (status=<optimized out>) at exit.c:139
#49 0x00007f5f577690ba in __libc_start_main (main=0x55646121ad40 <main(int, char**)>, argc=1, argv=0x7fff6fdb43d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff6fdb43c8) at ../csu/libc-start.c:342
#50 0x000055646121bbee in _start () at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:111
[Inferior 1 (process 27407) detached]

Possible duplicates by query: bug 400572, bug 395729.

Reported using DrKonqi
Comment 1 David Redondo 2021-06-29 10:24:22 UTC
*** Bug 429896 has been marked as a duplicate of this bug. ***
Comment 2 David Redondo 2021-06-29 10:24:31 UTC
*** Bug 430962 has been marked as a duplicate of this bug. ***
Comment 3 David Redondo 2021-06-29 10:24:44 UTC
*** Bug 431646 has been marked as a duplicate of this bug. ***
Comment 4 David Redondo 2021-06-29 10:24:58 UTC
*** Bug 435821 has been marked as a duplicate of this bug. ***
Comment 5 David Redondo 2021-06-29 11:34:59 UTC
*** Bug 437414 has been marked as a duplicate of this bug. ***
Comment 6 David Redondo 2021-06-29 11:35:06 UTC
*** Bug 439121 has been marked as a duplicate of this bug. ***
Comment 7 Aleix Pol 2021-07-06 15:09:50 UTC
Is anyone able to reproduce this in a way I could?

Also I see dupes from at least systemsettings so this could easily be an issue in Kirigami or QtDeclarative.
Comment 8 Aleix Pol 2021-07-06 15:13:55 UTC
*** Bug 439396 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2021-08-16 17:25:50 UTC
*** Bug 440978 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2022-01-21 05:41:01 UTC
This is an upstream bug in Qt which was fixed with https://codereview.qt-project.org/c/qt/qtdeclarative/+/371842. It will be backported to the KDE patch collection soon; see https://invent.kde.org/qt/qt/qtquickcontrols2/-/merge_requests/3

Thanks so much to Nicolas Fella for discovering this and backporting it!