Bug 439113

Summary: crash in QQuickShortcutContext::matcher() when chaning online account name
Product: [Applications] systemsettings Reporter: beniiorga
Component: kcm_kaccountsAssignee: Dan Leinir Turthra Jensen <admin>
Status: RESOLVED UPSTREAM    
Severity: crash CC: nate
Priority: NOR Keywords: drkonqi
Version: 5.22.2   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description beniiorga 2021-06-24 13:46:05 UTC
Application: systemsettings5 (5.22.2)

Qt Version: 5.15.3
Frameworks Version: 5.83.0
Operating System: Linux 5.8.0-59-generic x86_64
Windowing System: X11
Drkonqi Version: 5.22.2
Distribution: KDE neon User Edition 5.22

-- Information about the crash:
- What I was doing when the application crashed:

I was trying to edit the name of an online account I had just added and when I pressed ctrl+a to overwrite the old name it crashed. Probably has nothing to do with this as I was also doing updates in the background, but it's worth a try

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault

[New LWP 1562]
[New LWP 1563]
[New LWP 1564]
[New LWP 1565]
[New LWP 1566]
[New LWP 1567]
[New LWP 1572]
[New LWP 1573]
[New LWP 1662]
[New LWP 1663]
[New LWP 1681]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f9d6fbdfaff in __GI___poll (fds=0x7ffd2ff83338, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
[Current thread is 1 (Thread 0x7f9d6b5a0600 (LWP 1561))]

Thread 12 (Thread 0x7f9d24fe7700 (LWP 1681)):
#0  0x00007f9d6fbdfaff in __GI___poll (fds=0x7f9d10081b10, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9d6dcdf36e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d6dcdf4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9d701acf5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9d701511eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9d6ff6abb2 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9d6f006559 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f9d6ff6bd4c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7f9d55e4b700 (LWP 1663)):
#0  0x00007f9d6fbdfaff in __GI___poll (fds=0x55affd4f7560, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9d6dcdf36e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d6dcdf6f3 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9d25106f8a in ?? () from /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f9d6dd08ad1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f9d56e4d700 (LWP 1662)):
#0  0x00007f9d6fbdfaff in __GI___poll (fds=0x55affd4e9580, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9d6dcdf36e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d6dcdf4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9d6dcdf4f1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f9d6dd08ad1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f9d32b6a700 (LWP 1573)):
#0  0x00007f9d6dd2c508 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f9d6dcde8e1 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d6dcdf29b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9d6dcdf4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f9d701acf5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9d701511eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9d6ff6abb2 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f9d6f006559 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f9d6ff6bd4c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f9d54dad700 (LWP 1572)):
#0  0x00007f9d6fbdfaff in __GI___poll (fds=0x7f9d2c005240, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9d6dcdf36e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d6dcdf4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9d701acf5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9d701511eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9d6ff6abb2 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f9d6f006559 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f9d6ff6bd4c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f9d610a0700 (LWP 1567)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55affac0aa38) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55affac0a9e8, cond=0x55affac0aa10) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55affac0aa10, mutex=0x55affac0a9e8) at pthread_cond_wait.c:638
#3  0x00007f9d62d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f9d62d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f9d618a1700 (LWP 1566)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55affac0aa3c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55affac0a9e8, cond=0x55affac0aa10) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55affac0aa10, mutex=0x55affac0a9e8) at pthread_cond_wait.c:638
#3  0x00007f9d62d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f9d62d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f9d620a2700 (LWP 1565)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55affac0aa3c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55affac0a9e8, cond=0x55affac0aa10) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55affac0aa10, mutex=0x55affac0a9e8) at pthread_cond_wait.c:638
#3  0x00007f9d62d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f9d62d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f9d628a3700 (LWP 1564)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55affac0aa3c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55affac0a9e8, cond=0x55affac0aa10) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55affac0aa10, mutex=0x55affac0a9e8) at pthread_cond_wait.c:638
#3  0x00007f9d62d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f9d62d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f9d69925700 (LWP 1563)):
#0  0x00007f9d6dcdf25a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f9d6dcdf4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d701acf5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f9d701511eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f9d6ff6abb2 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9d6ec21f4b in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#6  0x00007f9d6ff6bd4c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f9d6a7a7700 (LWP 1562)):
#0  0x00007f9d6fbdfaff in __GI___poll (fds=0x7f9d6a7a6be8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9d6e6e3c1a in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f9d6e6e590a in xcb_wait_for_event () from /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f9d6aef5e88 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f9d6ff6bd4c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f9d6e69e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9d6fbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f9d6b5a0600 (LWP 1561)):
[KCrash Handler]
#4  0x00007f9d69b2dc04 in QQuickShortcutContext::matcher(QObject*, Qt::ShortcutContext) () from /lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5
#5  0x00007f9d7068b74f in QShortcutMap::find(QKeyEvent*, int) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#6  0x00007f9d7068e524 in QShortcutMap::nextState(QKeyEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#7  0x00007f9d7068f7c9 in QShortcutMap::tryShortcut(QKeyEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#8  0x00007f9d7063cc72 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#9  0x00007f9d7065c881 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#10 0x00007f9d70661b3b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#11 0x00007f9d706397ac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#12 0x00007f9d6aef6eae in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#13 0x00007f9d6dcdf17d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007f9d6dcdf400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f9d6dcdf4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f9d701acf42 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f9d701511eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f9d701593a4 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x000055affa6ce272 in main (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:208
[Inferior 1 (process 1561) detached]

Reported using DrKonqi
Comment 1 Nate Graham 2022-01-19 21:27:22 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!