Bug 447904

Summary: Right-clicking selected text in an about dialog crashes system settings in QQuickShortcutContext::matcher()
Product: [Applications] systemsettings Reporter: Till Schäfer <till2.schaefer>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: nate
Priority: NOR Keywords: drkonqi
Version: 5.23.4   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Bug Depends on: 443934    
Bug Blocks:    

Description Till Schäfer 2022-01-03 23:42:56 UTC
Application: systemsettings5 (5.23.4)
 (Compiled from sources)
Qt Version: 5.15.2
Frameworks Version: 5.89.0
Operating System: Linux 5.15.11-gentoo x86_64
Windowing System: X11
Distribution: "Gentoo Base System release 2.7"
DrKonqi: 5.23.4 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
I had the About Krohnkite dialog open (system settings -> kwin scripts -> about Button of Krohnkite). Then i selected the header text "Krohnkite" and right clicked it. This cause system settings to crash.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = {<No data fields>}}
[KCrash Handler]
#6  QMetaObject::SuperData::operator QMetaObject const* (this=<optimized out>) at ../../include/QtCore/../../../qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/kernel/qobjectdefs.h:598
#7  QMetaObject::inherits (this=<optimized out>, metaObject=metaObject@entry=0x7f40bbd4ef80 <QQuickItem::staticMetaObject>) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/kernel/qmetaobject.cpp:358
#8  0x00007f40bc781185 in QMetaObject::cast (this=0x7f40bbd4ef80 <QQuickItem::staticMetaObject>, obj=0x5573d6e38bb0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/kernel/qmetaobject.cpp:382
#9  0x00007f40bc7811b5 in QMetaObject::cast (this=<optimized out>, obj=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/kernel/qmetaobject.cpp:371
#10 0x00007f40b694479c in qobject_cast<QQuickItem*> (object=0x5573d6e38bb0) at /usr/include/qt5/QtCore/qobject.h:519
#11 QQuickShortcutContext::matcher (obj=0x5573d6e38bb0, context=<optimized out>) at /var/tmp/portage/dev-qt/qtquickcontrols2-5.15.2-r11/work/qtquickcontrols2-be66bf9a5618c745d2a6ee2262967af6307b3b07/src/quicktemplates2/qquickshortcutcontext.cpp:79
#12 0x00007f40bccb2c36 in QShortcutEntry::correctContext (this=0x5573d9472640) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r15/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/gui/kernel/qshortcutmap.cpp:79
#13 QShortcutMap::hasShortcutForKeySequence (this=this@entry=0x5573d543b488, seq=...) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r15/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/gui/kernel/qshortcutmap.cpp:406
#14 0x00007f40bd62648f in QWidgetTextControl::createStandardContextMenu (this=this@entry=0x5573d6c93550, pos=..., parent=<optimized out>) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/widgets/qwidgettextcontrol.cpp:2359
#15 0x00007f40bd56a12c in QLabelPrivate::createStandardContextMenu (this=0x5573da8e1e60, pos=...) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/widgets/qlabel.cpp:1720
#16 0x00007f40bd56a2a1 in QLabel::contextMenuEvent (this=<optimized out>, ev=0x7ffe731e0600) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/widgets/qlabel.cpp:970
#17 0x00007f40bd46bebe in QWidget::event (this=this@entry=0x5573d8de4d00, event=event@entry=0x7ffe731e0600) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/kernel/qwidget.cpp:9020
#18 0x00007f40bd51a60e in QFrame::event (this=0x5573d8de4d00, e=0x7ffe731e0600) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/widgets/qframe.cpp:550
#19 0x00007f40bd42a10f in QApplicationPrivate::notify_helper (this=this@entry=0x5573d543b3c0, receiver=receiver@entry=0x5573d8de4d00, e=e@entry=0x7ffe731e0600) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/kernel/qapplication.cpp:3632
#20 0x00007f40bd4314ac in QApplication::notify (this=<optimized out>, receiver=0x5573d8de4d00, e=0x7ffe731e0600) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/kernel/qapplication.cpp:3238
#21 0x00007f40bc778868 in QCoreApplication::notifyInternal2 (receiver=0x5573d8de4d00, event=0x7ffe731e0600) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/kernel/qcoreapplication.cpp:1064
#22 0x00007f40bd4853d1 in QWidgetWindow::handleMouseEvent (this=0x5573d8d8c860, event=0x7ffe731e0910) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/kernel/qwidgetwindow.cpp:691
#23 0x00007f40bd487e15 in QWidgetWindow::event (this=0x5573d8d8c860, event=0x7ffe731e0910) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/kernel/qwidgetwindow.cpp:300
#24 0x00007f40bd42a10f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5573d8d8c860, e=0x7ffe731e0910) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/kernel/qapplication.cpp:3632
#25 0x00007f40bc778868 in QCoreApplication::notifyInternal2 (receiver=0x5573d8d8c860, event=0x7ffe731e0910) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/kernel/qcoreapplication.cpp:1064
#26 0x00007f40bcc8b19e in QGuiApplicationPrivate::processMouseEvent (e=0x5573d5856e20) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r15/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/gui/kernel/qguiapplication.cpp:2282
#27 0x00007f40bcc6be2b in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r15/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/gui/kernel/qwindowsysteminterface.cpp:1169
#28 0x00007f40b77fc66a in xcbSourceDispatch (source=<optimized out>) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r15/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
#29 0x00007f40ba55101b in g_main_dispatch (context=0x7f40b0005000) at ../glib-2.68.4/glib/gmain.c:3337
#30 g_main_context_dispatch (context=0x7f40b0005000) at ../glib-2.68.4/glib/gmain.c:4055
#31 0x00007f40ba5512c8 in g_main_context_iterate (context=context@entry=0x7f40b0005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.68.4/glib/gmain.c:4131
#32 0x00007f40ba55137f in g_main_context_iteration (context=0x7f40b0005000, may_block=1) at ../glib-2.68.4/glib/gmain.c:4196
#33 0x00007f40bc7caff8 in QEventDispatcherGlib::processEvents (this=0x5573d5588d90, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#34 0x00007f40bc7772d3 in QEventLoop::exec (this=this@entry=0x7ffe731e0c70, flags=..., flags@entry=...) at ../../include/QtCore/../../../qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/global/qflags.h:69
#35 0x00007f40bc77f3d0 in QCoreApplication::exec () at ../../include/QtCore/../../../qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/corelib/global/qflags.h:121
#36 0x00007f40bcc8012c in QGuiApplication::exec () at /var/tmp/portage/dev-qt/qtgui-5.15.2-r15/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/gui/kernel/qguiapplication.cpp:1867
#37 0x00007f40bd42a085 in QApplication::exec () at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-c9fde86b0a2440133bc08f4811b6ca793be47f0a/src/widgets/kernel/qapplication.cpp:2824
#38 0x00005573d4d94e28 in main (argc=<optimized out>, argv=0x7ffe731e0d90) at /var/tmp/portage/kde-plasma/systemsettings-5.23.4/work/systemsettings-5.23.4/app/main.cpp:208
[Inferior 1 (process 17243) detached]

Possible duplicates by query: bug 441888, bug 439117, bug 439113, bug 434930, bug 434140.

Reported using DrKonqi
Comment 1 Nate Graham 2022-01-12 20:04:28 UTC
Cannot reproduce.
Comment 2 Nate Graham 2022-01-19 21:27:19 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!