Bug 443656 - KDE Settings crash when adding custom shortcut *after* removing one
Summary: KDE Settings crash when adding custom shortcut *after* removing one
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_khotkeys (show other bugs)
Version: 5.22.5
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Michael Jansen
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-10-13 08:11 UTC by John Vincent
Modified: 2021-11-15 20:24 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.23.4


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Vincent 2021-10-13 08:11:20 UTC
Application: systemsettings5 (5.22.5)

Qt Version: 5.15.3
Frameworks Version: 5.87.0
Operating System: Linux 5.11.0-37-generic x86_64
Windowing System: Wayland
Drkonqi Version: 5.22.5
Distribution: KDE neon User Edition 5.22

-- Information about the crash:
- What I was doing when the application crashed:
1. Remove a custom shortcut in a group
2. Clicked Edit > New > Global Shortcut > Command/URL
3. Application crashed

It happens regardless of the "Custom Shortcuts" page is opened standalone (i.e. from search), or directly on the System Settings GUI.

The crash can be reproduced every time.

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

[New LWP 18196]
[New LWP 18197]
[New LWP 18198]
[New LWP 18199]
[New LWP 18200]
[New LWP 18201]
[New LWP 18202]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f8d8b465aff in __GI___poll (fds=0x7ffc441026f8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
[Current thread is 1 (Thread 0x7f8d86c9a9c0 (LWP 18195))]

Thread 8 (Thread 0x7f8d69bcf700 (LWP 18202)):
#0  0x00007f8d895a44dd in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f8d89556568 in g_main_context_release () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8d89557329 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8d895574a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f8d8ba335eb in QEventDispatcherGlib::processEvents (this=0x7f8d60000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f8d8b9d787b in QEventLoop::exec (this=this@entry=0x7f8d69bcebc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f8d8b7f1292 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f8d8a882549 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f8d8b7f242c in QThreadPrivate::start (arg=0x563e8c6b6cf0) at thread/qthread_unix.cpp:329
#9  0x00007f8d89f16609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f8d8b472293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f8d6affd700 (LWP 18201)):
#0  0x00007f8d8d17adca in __tls_get_addr () from /lib64/ld-linux-x86-64.so.2
#1  0x00007f8d8b7f18fa in get_thread_data () at thread/qthread_unix.cpp:207
#2  QThreadData::current (createIfNecessary=createIfNecessary@entry=true) at thread/qthread_unix.cpp:207
#3  0x00007f8d8ba33cb5 in postEventSourcePrepare (timeout=0x0, s=0x7f8d5c004bb0) at kernel/qeventdispatcher_glib.cpp:270
#4  postEventSourceCheck (source=0x7f8d5c004bb0) at kernel/qeventdispatcher_glib.cpp:270
#5  0x00007f8d89556da1 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f8d89557312 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f8d895574a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f8d8ba335eb in QEventDispatcherGlib::processEvents (this=0x7f8d5c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#9  0x00007f8d8b9d787b in QEventLoop::exec (this=this@entry=0x7f8d6affcbc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#10 0x00007f8d8b7f1292 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#11 0x00007f8d8a882549 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x00007f8d8b7f242c in QThreadPrivate::start (arg=0x563e8c234990) at thread/qthread_unix.cpp:329
#13 0x00007f8d89f16609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#14 0x00007f8d8b472293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f8d6b7fe700 (LWP 18200)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x563e8c0f7498) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x563e8c0f7448, cond=0x563e8c0f7470) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x563e8c0f7470, mutex=0x563e8c0f7448) at pthread_cond_wait.c:638
#3  0x00007f8d7e833e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f8d7e833a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f8d89f16609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f8d8b472293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f8d6bfff700 (LWP 18199)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x563e8c0f7498) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x563e8c0f7448, cond=0x563e8c0f7470) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x563e8c0f7470, mutex=0x563e8c0f7448) at pthread_cond_wait.c:638
#3  0x00007f8d7e833e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f8d7e833a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f8d89f16609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f8d8b472293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f8d78f35700 (LWP 18198)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x563e8c0f7498) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x563e8c0f7448, cond=0x563e8c0f7470) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x563e8c0f7470, mutex=0x563e8c0f7448) at pthread_cond_wait.c:638
#3  0x00007f8d7e833e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f8d7e833a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f8d89f16609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f8d8b472293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f8d8493d700 (LWP 18197)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x563e8c0f7498) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x563e8c0f7448, cond=0x563e8c0f7470) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x563e8c0f7470, mutex=0x563e8c0f7448) at pthread_cond_wait.c:638
#3  0x00007f8d7e833e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007f8d7e833a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f8d89f16609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f8d8b472293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f8d860e7700 (LWP 18196)):
#0  0x00007f8d8b465aff in __GI___poll (fds=0x7f8d80005240, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f8d8955736e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8d895574a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8d8ba335eb in QEventDispatcherGlib::processEvents (this=0x7f8d80000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f8d8b9d787b in QEventLoop::exec (this=this@entry=0x7f8d860e6bb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f8d8b7f1292 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f8d8a49df4b in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f8d8b7f242c in QThreadPrivate::start (arg=0x7f8d8a521d80) at thread/qthread_unix.cpp:329
#8  0x00007f8d89f16609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f8d8b472293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f8d86c9a9c0 (LWP 18195)):
[KCrash Handler]
#4  std::__atomic_base<int>::operator++ (this=0x400000000000003d) at /usr/include/c++/9/bits/atomic_base.h:318
#5  QAtomicOps<int>::ref<int> (_q_value=...) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:283
#6  QBasicAtomicInteger<int>::ref (this=0x400000000000003d) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:118
#7  QKeySequence::QKeySequence (this=0x7ffc44103440, keysequence=...) at kernel/qkeysequence.cpp:880
#8  0x00007f8d68748415 in KHotKeys::ShortcutTrigger::shortcut (this=0x563e8cf22810) at ./libkhotkeysprivate/triggers/shortcut_trigger.cpp:169
#9  0x00007f8d68748729 in KHotKeys::ShortcutTrigger::primaryShortcut (this=<optimized out>) at ./libkhotkeysprivate/triggers/shortcut_trigger.cpp:177
#10 0x00007f8d687bdc57 in ShortcutTriggerWidget::isChanged (this=<optimized out>) at ./kcm_hotkeys/triggers/shortcut_trigger_widget.cpp:65
#11 0x00007f8d687c7e0d in HotkeysWidgetIFace::slotChanged (this=0x563e8c87bd40) at ./kcm_hotkeys/hotkeys_widget_iface.cpp:41
#12 0x00007f8d687c7ef5 in HotkeysWidgetIFace::qt_static_metacall (_o=0x563e8c87bd40, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./obj-x86_64-linux-gnu/kcm_hotkeys/kcm_hotkeys_autogen/include/moc_hotkeys_widget_iface.cpp:84
#13 0x00007f8d8ba0fdd0 in doActivate<false> (sender=0x563e8be98b80, signal_index=4, argv=0x7ffc44103620) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#14 0x00007f8d8ba09167 in QMetaObject::activate (sender=sender@entry=0x563e8be98b80, m=m@entry=0x7f8d8bc74a60 <QSignalMapper::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc44103620) at kernel/qobject.cpp:3946
#15 0x00007f8d8ba12119 in QSignalMapper::mapped (this=this@entry=0x563e8be98b80, _t1=...) at .moc/moc_qsignalmapper.cpp:231
#16 0x00007f8d8ba136f8 in QSignalMapperPrivate::emitMappedValue<void (QSignalMapper::*)(QString const&), QHash<QObject*, QString> > (mappedValues=..., signal=(void (QSignalMapper::*)(class QSignalMapper * const, const class QString &)) 0x7f8d8ba12140 <QSignalMapper::mappedString(QString const&)>, sender=0x563e8cedf480, this=0x563e8ce20a60) at ../../include/QtCore/../../src/corelib/tools/qhash.h:420
#17 QSignalMapperPrivate::emitMappedValues (sender=0x563e8cedf480, this=0x563e8ce20a60) at kernel/qsignalmapper.cpp:77
#18 QSignalMapper::map (this=<optimized out>, sender=0x563e8cedf480) at kernel/qsignalmapper.cpp:288
#19 0x00007f8d8ba0fdd0 in doActivate<false> (sender=0x563e8cedf480, signal_index=7, argv=0x7ffc44103760) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#20 0x00007f8d8ba09167 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f8d8d0b43a0 <KKeySequenceWidget::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc44103760) at kernel/qobject.cpp:3946
#21 0x00007f8d8d02aa06 in KKeySequenceWidget::keySequenceChanged (this=<optimized out>, _t1=...) at ./obj-x86_64-linux-gnu/src/KF5XmlGui_autogen/include/moc_kkeysequencewidget.cpp:253
#22 0x00007f8d8ba0fd9e in QtPrivate::QSlotObjectBase::call (a=0x7ffc44103880, r=0x563e8c87bd40, this=0x563e8ce56550) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#23 doActivate<false> (sender=0x7f8d8a484600 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>, signal_index=3, argv=0x7ffc44103880) at kernel/qobject.cpp:3886
#24 0x00007f8d8ba09167 in QMetaObject::activate (sender=sender@entry=0x7f8d8a484600 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>, m=m@entry=0x7f8d8a483ae0 <KGlobalAccel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc44103880) at kernel/qobject.cpp:3946
#25 0x00007f8d8a469708 in KGlobalAccel::globalShortcutChanged (this=this@entry=0x7f8d8a484600 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>, _t1=<optimized out>, _t1@entry=0x563e8d186a30, _t2=...) at ./obj-x86_64-linux-gnu/src/KF5GlobalAccel_autogen/include/moc_kglobalaccel.cpp:166
#26 0x00007f8d8a46fbfd in KGlobalAccelPrivate::updateGlobalShortcut (this=0x563e8c1b8be0, action=action@entry=0x563e8d186a30, actionFlags=..., actionFlags@entry=..., globalFlags=globalFlags@entry=KGlobalAccel::Autoloading) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:570
#27 0x00007f8d8a47096b in KGlobalAccel::setShortcut (this=this@entry=0x7f8d8a484600 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>, action=action@entry=0x563e8d186a30, shortcut=..., loadFlag=loadFlag@entry=KGlobalAccel::Autoloading) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:121
#28 0x00007f8d68756ead in KHotKeys::ShortcutsHandler::addAction (this=this@entry=0x563e8c86c170, id=..., text=..., shortcut=...) at /usr/include/c++/9/new:174
#29 0x00007f8d6874802b in KHotKeys::ShortcutTrigger::activate (this=0x563e8d1aad60, newState=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:413
#30 0x00007f8d68747de3 in KHotKeys::ShortcutTrigger::enable (this=0x563e8d1aad60) at ./libkhotkeysprivate/triggers/shortcut_trigger.cpp:148
#31 0x00007f8d6874012c in KHotKeys::SimpleActionData::doEnable (this=0x563e8d1ac1c0) at ./libkhotkeysprivate/action_data/simple_action_data.cpp:36
#32 0x00007f8d687b4003 in HotkeysTreeViewContextMenu::newGlobalShortcutActionAction (this=0x563e8c876990, actionType=2) at ./kcm_hotkeys/hotkeys_context_menu.cpp:240
#33 0x00007f8d8ba0fdd0 in doActivate<false> (sender=0x563e8d186cb0, signal_index=3, argv=0x7ffc44103d20) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#34 0x00007f8d8ba09167 in QMetaObject::activate (sender=sender@entry=0x563e8d186cb0, m=m@entry=0x7f8d8bc74a60 <QSignalMapper::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc44103d20) at kernel/qobject.cpp:3946
#35 0x00007f8d8ba12062 in QSignalMapper::mapped (this=this@entry=0x563e8d186cb0, _t1=<optimized out>) at .moc/moc_qsignalmapper.cpp:224
#36 0x00007f8d8ba13594 in QSignalMapperPrivate::emitMappedValue<void (QSignalMapper::*)(int), QHash<QObject*, int> > (mappedValues=..., signal=(void (QSignalMapper::*)(class QSignalMapper * const, int)) 0x7f8d8ba12080 <QSignalMapper::mappedInt(int)>, sender=0x563e8d16ab20, this=0x563e8d172d60) at ../../include/QtCore/../../src/corelib/tools/qhash.h:507
#37 QSignalMapperPrivate::emitMappedValues (sender=0x563e8d16ab20, this=0x563e8d172d60) at kernel/qsignalmapper.cpp:76
#38 QSignalMapper::map (this=<optimized out>, sender=0x563e8d16ab20) at kernel/qsignalmapper.cpp:288
#39 0x00007f8d8ba0fdd0 in doActivate<false> (sender=0x563e8d16ab20, signal_index=4, argv=0x7ffc44103e70) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#40 0x00007f8d8ba09167 in QMetaObject::activate (sender=sender@entry=0x563e8d16ab20, m=m@entry=0x7f8d8cafe1c0 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc44103e70) at kernel/qobject.cpp:3946
#41 0x00007f8d8c5e68e6 in QAction::triggered (this=this@entry=0x563e8d16ab20, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#42 0x00007f8d8c5e8fb8 in QAction::activate (this=0x563e8d16ab20, event=<optimized out>) at kernel/qaction.cpp:1161
#43 0x00007f8d8c773832 in QMenuPrivate::activateCausedStack (this=this@entry=0x563e8d19b150, causedStack=..., action=action@entry=0x563e8d16ab20, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384
#44 0x00007f8d8c77af7e in QMenuPrivate::activateAction (this=this@entry=0x563e8d19b150, action=action@entry=0x563e8d16ab20, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1461
#45 0x00007f8d8c77c212 in QMenu::mouseReleaseEvent (this=0x563e8d1a02a0, e=0x7ffc44104550) at widgets/qmenu.cpp:2967
#46 0x00007f8d8c62fcf6 in QWidget::event (this=this@entry=0x563e8d1a02a0, event=event@entry=0x7ffc44104550) at kernel/qwidget.cpp:8664
#47 0x00007f8d8c77e81b in QMenu::event (this=0x563e8d1a02a0, e=0x7ffc44104550) at widgets/qmenu.cpp:3089
#48 0x00007f8d8c5ecdc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x563e8d1a02a0, e=0x7ffc44104550) at kernel/qapplication.cpp:3632
#49 0x00007f8d8c5f5e77 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3076
#50 0x00007f8d8b9d8d7a in QCoreApplication::notifyInternal2 (receiver=0x563e8d1a02a0, event=0x7ffc44104550) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#51 0x00007f8d8c5f50a7 in QApplicationPrivate::sendMouseEvent (receiver=0x563e8d1a02a0, event=event@entry=0x7ffc44104550, alienWidget=0x0, nativeWidget=0x563e8d1a02a0, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#52 0x00007f8d8c64b9de in QWidgetWindow::handleMouseEvent (this=0x563e8d1e9850, event=0x7ffc441049d0) at /usr/include/c++/9/bits/atomic_base.h:413
#53 0x00007f8d8c64e264 in QWidgetWindow::event (event=0x7ffc441049d0, this=0x563e8d1e9850) at kernel/qwidgetwindow.cpp:300
#54 QWidgetWindow::event (this=0x563e8d1e9850, event=0x7ffc441049d0) at kernel/qwidgetwindow.cpp:239
#55 0x00007f8d8c5ecdc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x563e8d1e9850, e=0x7ffc441049d0) at kernel/qapplication.cpp:3632
#56 0x00007f8d8c5f5bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156
#57 0x00007f8d8b9d8d7a in QCoreApplication::notifyInternal2 (receiver=0x563e8d1e9850, event=0x7ffc441049d0) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#58 0x00007f8d8bef64d8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at kernel/qguiapplication.cpp:2282
#59 0x00007f8d8bef7b45 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x563e8d19d690) at kernel/qguiapplication.cpp:2002
#60 0x00007f8d8becf7ac in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#61 0x00007f8d8914e564 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#62 0x00007f8d8955717d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#63 0x00007f8d89557400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#64 0x00007f8d895574a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#65 0x00007f8d8ba335d2 in QEventDispatcherGlib::processEvents (this=0x563e8bf13090, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#66 0x00007f8d8b9d787b in QEventLoop::exec (this=this@entry=0x7ffc44104d80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#67 0x00007f8d8c778a88 in QMenuPrivate::exec(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x563e8c8769f0, p=..., action=action@entry=0x0, positionFunction=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#68 0x00007f8d8c778bb3 in QMenu::exec (this=<optimized out>, p=..., action=action@entry=0x0) at /usr/include/c++/9/bits/std_function.h:396
#69 0x00007f8d8c78a443 in QPushButtonPrivate::_q_popupPressed (this=0x563e8c80f000) at /usr/include/c++/9/bits/atomic_base.h:413
#70 0x00007f8d8ba0fdd0 in doActivate<false> (sender=0x563e8c80efc0, signal_index=7, argv=0x7ffc44104f20) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#71 0x00007f8d8ba09167 in QMetaObject::activate (sender=sender@entry=0x563e8c80efc0, m=m@entry=0x7f8d8cb03600 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#72 0x00007f8d8c6e4bf4 in QAbstractButton::pressed (this=this@entry=0x563e8c80efc0) at .moc/moc_qabstractbutton.cpp:295
#73 0x00007f8d8c6e4f81 in QAbstractButtonPrivate::emitPressed (this=0x563e8c80f000) at widgets/qabstractbutton.cpp:437
#74 0x00007f8d8c6e5745 in QAbstractButton::mousePressEvent (this=0x563e8c80efc0, e=0x7ffc441054d0) at widgets/qabstractbutton.cpp:1016
#75 0x00007f8d8c62fd11 in QWidget::event (this=0x563e8c80efc0, event=0x7ffc441054d0) at kernel/qwidget.cpp:8642
#76 0x00007f8d8c6e7753 in QAbstractButton::event (this=this@entry=0x563e8c80efc0, e=e@entry=0x7ffc441054d0) at widgets/qabstractbutton.cpp:1001
#77 0x00007f8d8c78ad43 in QPushButton::event (this=0x563e8c80efc0, e=0x7ffc441054d0) at widgets/qpushbutton.cpp:709
#78 0x00007f8d8c5ecdc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x563e8c80efc0, e=0x7ffc441054d0) at kernel/qapplication.cpp:3632
#79 0x00007f8d8c5f5e77 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3076
#80 0x00007f8d8b9d8d7a in QCoreApplication::notifyInternal2 (receiver=0x563e8c80efc0, event=0x7ffc441054d0) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#81 0x00007f8d8c5f50a7 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x563e8c80efc0, event=event@entry=0x7ffc441054d0, alienWidget=alienWidget@entry=0x563e8c80efc0, nativeWidget=0x563e8c1bb1d0, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#82 0x00007f8d8c64af44 in QWidgetWindow::handleMouseEvent (this=0x563e8c359f60, event=0x7ffc44105950) at /usr/include/c++/9/bits/atomic_base.h:413
#83 0x00007f8d8c64e264 in QWidgetWindow::event (event=0x7ffc44105950, this=0x563e8c359f60) at kernel/qwidgetwindow.cpp:300
#84 QWidgetWindow::event (this=0x563e8c359f60, event=0x7ffc44105950) at kernel/qwidgetwindow.cpp:239
#85 0x00007f8d8c5ecdc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x563e8c359f60, e=0x7ffc44105950) at kernel/qapplication.cpp:3632
#86 0x00007f8d8c5f5bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156
#87 0x00007f8d8b9d8d7a in QCoreApplication::notifyInternal2 (receiver=0x563e8c359f60, event=0x7ffc44105950) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#88 0x00007f8d8bef64d8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at kernel/qguiapplication.cpp:2282
#89 0x00007f8d8bef7b45 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x563e8d172e90) at kernel/qguiapplication.cpp:2002
#90 0x00007f8d8becf7ac in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#91 0x00007f8d8914e564 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#92 0x00007f8d8955717d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#93 0x00007f8d89557400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#94 0x00007f8d895574a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#95 0x00007f8d8ba335d2 in QEventDispatcherGlib::processEvents (this=0x563e8bf13090, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#96 0x00007f8d8b9d787b in QEventLoop::exec (this=this@entry=0x7ffc44105cf0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#97 0x00007f8d8b9dfa34 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#98 0x0000563e8a1fc272 in main (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:208
[Inferior 1 (process 18195) detached]

The reporter indicates this bug may be a duplicate of or related to bug 437005.

Possible duplicates by query: bug 437005, bug 425205, bug 411883, bug 303186, bug 276981.

Reported using DrKonqi
Comment 1 Bug Janitor Service 2021-10-13 11:54:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/khotkeys/-/merge_requests/17
Comment 2 Harald Sitter 2021-11-15 07:01:40 UTC
Git commit 97f9339fd96d97e012347f8f7fca987bbe4fca0d by Harald Sitter.
Committed on 15/11/2021 at 06:59.
Pushed by sitter into branch 'master'.

when deleting an entry, also delete the widgets

previously what would happen is that KCMHotkeys::currentChanged would
run, find the new index (-1,-1) now invalid and show the global settings
instead. this however left the simple_action's underlying widgets still
sitting around referring to the previous index AND holding a dangling
trigger point that would eventually crash when the simple_action would
be poked by anything

instead force unset the internal state of the simple_action when showing
the global settings.

FIXED-IN: 5.23.5

M  +3    -0    kcm_hotkeys/kcm_hotkeys.cpp
M  +11   -7    kcm_hotkeys/simple_action_data_widget.cpp
M  +3    -0    kcm_hotkeys/simple_action_data_widget.h
M  +8    -0    kcm_hotkeys/triggers/trigger_widget_base.cpp

https://invent.kde.org/plasma/khotkeys/commit/97f9339fd96d97e012347f8f7fca987bbe4fca0d
Comment 3 Harald Sitter 2021-11-15 07:02:04 UTC
Git commit a4137ac8f7b18824568fbee0f3e2dce7551841b7 by Harald Sitter.
Committed on 15/11/2021 at 07:02.
Pushed by sitter into branch 'Plasma/5.23'.

when deleting an entry, also delete the widgets

previously what would happen is that KCMHotkeys::currentChanged would
run, find the new index (-1,-1) now invalid and show the global settings
instead. this however left the simple_action's underlying widgets still
sitting around referring to the previous index AND holding a dangling
trigger point that would eventually crash when the simple_action would
be poked by anything

instead force unset the internal state of the simple_action when showing
the global settings.

FIXED-IN: 5.23.5


(cherry picked from commit 97f9339fd96d97e012347f8f7fca987bbe4fca0d)

M  +3    -0    kcm_hotkeys/kcm_hotkeys.cpp
M  +11   -7    kcm_hotkeys/simple_action_data_widget.cpp
M  +3    -0    kcm_hotkeys/simple_action_data_widget.h
M  +8    -0    kcm_hotkeys/triggers/trigger_widget_base.cpp

https://invent.kde.org/plasma/khotkeys/commit/a4137ac8f7b18824568fbee0f3e2dce7551841b7