https://bugs.kde.org/show_bug.cgi?id=452440

            Bug ID: 452440
           Summary: System Settings crashes on exiting 'Custom Shortcuts'
                    KCM with unsaved changes
           Product: systemsettings
           Version: 5.24.4
          Platform: Archlinux Packages
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: kcm_khotkeys
          Assignee: k...@michael-jansen.biz
          Reporter: kishor...@gmail.com
                CC: plasma-b...@kde.org
  Target Milestone: ---

SUMMARY
System settings crashes if I exit without saving the changed keyboard shortcut
for a custom keyboard shortcut.

STEPS TO REPRODUCE
1. Open System Settings > Workspace > Shortcuts > Custom shortcuts
2. choose any custom shortcut item (e.g. kmenuedit > search)
3. Click on the 'shortcut' box and change the shortcut
4. Close the System Settings application without applying the change (confirm
discarding the change when it asks you)

OBSERVED RESULTS
System Settings crashes

EXPECTED RESULTS
System Settings should not crash.

SOFTWARE VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 5.15.33-1-lts (64-bit)
Graphics Platform: X11
Processors: 8 × AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
Memory: 21.5 GiB of RAM
Graphics Processor: AMD Radeon Vega 8 Graphics

ADDITIONAL INFORMATION
Also reproducible on KDE Neon unstable

BACKTRACE
Application: கணினி அமைப்புகள் (systemsettings), signal: Segmentation fault
Content of s_kcrashErrorMessage: {_M_t = {<std::__uniq_ptr_impl<char,
std::default_delete<char []> >> = {_M_t = std::tuple containing = {[1] = 0x0,
[2] = {<No data fields>}}}, <No data fields>}}
[KCrash Handler]
#6  _q_uuidToHex (uuid=..., dst=0x7fff4e9b3371 "\231\071\237\376U",
dst@entry=0x7fff4e9b3370 "{\231\071\237\376U",
mode=mode@entry=QUuid::WithBraces) at plugin/quuid.cpp:90
#7  0x00007f4d50a1b70e in QUuid::toString (this=this@entry=0x20) at
plugin/quuid.cpp:608
#8  0x00007f4ce84ca4c8 in KHotKeys::ShortcutTrigger::shortcut (this=0x0) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/triggers/shortcut_trigger.cpp:166
#9  0x00007f4ce84ca82a in KHotKeys::ShortcutTrigger::primaryShortcut
(this=<optimized out>) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/triggers/shortcut_trigger.cpp:177
#10 0x00007f4ce8547a8d in ShortcutTriggerWidget::isChanged
(this=0x7fff4e9b3458) at
/usr/src/debug/khotkeys-5.24.4/kcm_hotkeys/triggers/shortcut_trigger_widget.cpp:65
#11 0x00007f4ce85500bb in HotkeysWidgetIFace::slotChanged (this=0x55fe9e8e63d0)
at /usr/src/debug/khotkeys-5.24.4/kcm_hotkeys/hotkeys_widget_iface.cpp:41
#12 0x00007f4d50a554af in doActivate<false> (sender=0x55fe9f033ce0,
signal_index=4, argv=0x7fff4e9b35b0) at kernel/qobject.cpp:3898
#13 0x00007f4d50a56eda in QSignalMapper::mapped
(this=this@entry=0x55fe9f033ce0, _t1=...) at .moc/moc_qsignalmapper.cpp:231
#14 0x00007f4d50a570c8 in QSignalMapperPrivate::emitMappedValue<void
(QSignalMapper::*)(QString const&), QHash<QObject*, QString> >
(this=0x55fe9f014d50, this=0x55fe9f014d50, mappedValues=..., signal=(void
(QSignalMapper::*)(QSignalMapper * const, const QString &)) 0x7f4d50a56d00
<QSignalMapper::mappedString(QString const&)>, sender=0x55fea0d486b0) at
kernel/qsignalmapper.cpp:67
#15 QSignalMapperPrivate::emitMappedValues (sender=0x55fea0d486b0,
this=0x55fe9f014d50) at kernel/qsignalmapper.cpp:77
#16 QSignalMapper::map (this=<optimized out>, sender=0x55fea0d486b0) at
kernel/qsignalmapper.cpp:288
#17 0x00007f4d50a554af in doActivate<false> (sender=0x55fea0d486b0,
signal_index=7, argv=0x7fff4e9b36e0) at kernel/qobject.cpp:3898
#18 0x00007f4d51ed0007 in KKeySequenceWidget::keySequenceChanged
(this=<optimized out>, _t1=...) at
/usr/src/debug/build/src/KF5XmlGui_autogen/include/moc_kkeysequencewidget.cpp:253
#19 0x00007f4d50a55463 in QtPrivate::QSlotObjectBase::call (a=<optimized out>,
r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized
out>, a=<optimized out>) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false> (sender=0x7f4d4ffb50b0 <(anonymous
namespace)::Q_QGS_s_instance::innerFunction()::holder>, signal_index=3,
argv=0x7fff4e9b37f0) at kernel/qobject.cpp:3886
#21 0x00007f4d4ff9fbc9 in KGlobalAccel::globalShortcutChanged
(this=this@entry=0x7f4d4ffb50b0 <(anonymous
namespace)::Q_QGS_s_instance::innerFunction()::holder>, _t1=<optimized out>,
_t2=...) at
/usr/src/debug/build/src/KF5GlobalAccel_autogen/include/moc_kglobalaccel.cpp:135
#22 0x00007f4d4ffa8a31 in KGlobalAccelPrivate::updateGlobalShortcut
(this=<optimized out>, action=<optimized out>, actionFlags=...,
actionFlags@entry=..., globalFlags=globalFlags@entry=KGlobalAccel::Autoloading)
at /usr/src/debug/kglobalaccel-5.92.0/src/kglobalaccel.cpp:357
#23 0x00007f4d4ffa8d30 in KGlobalAccel::setShortcut
(this=this@entry=0x7f4d4ffb50b0 <(anonymous
namespace)::Q_QGS_s_instance::innerFunction()::holder>, action=<optimized out>,
action@entry=0x55fe9f00ddc0, shortcut=...,
loadFlag=loadFlag@entry=KGlobalAccel::Autoloading) at
/usr/include/qt/QtCore/qflags.h:121
#24 0x00007f4ce84cd5de in KHotKeys::ShortcutsHandler::addAction (shortcut=...,
text=..., id=..., this=0x55fe9f80fa70) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/shortcuts_handler.cpp:69
#25 KHotKeys::ShortcutTrigger::activate (this=0x55fe9f282ea0,
newState=<optimized out>) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/triggers/shortcut_trigger.cpp:70
#26 0x00007f4ce84c7ba0 in non-virtual thunk to
KHotKeys::ShortcutTrigger::enable() () at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/triggers/shortcut_trigger.cpp:149
#27 0x00007f4ce84c003c in KHotKeys::SimpleActionData::doEnable
(this=0x55fe9f282d00) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/action_data/simple_action_data.cpp:36
#28 0x00007f4ce84d6bf1 in SettingsReaderV2::readActionData
(this=this@entry=0x7fff4e9b3cf0, config=...,
parent=parent@entry=0x55fe9ff02420) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/settings_reader_v2.cpp:169
#29 0x00007f4ce84d59db in SettingsReaderV2::readGroup (parent=<optimized out>,
config=..., this=0x7fff4e9b3cf0) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/settings_reader_v2.cpp:98
#30 SettingsReaderV2::readActionData (this=0x7fff4e9b3cf0, config=...,
parent=<optimized out>) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/settings_reader_v2.cpp:130
#31 0x00007f4ce84cf4b2 in SettingsReaderV2::read (parent=0x55fe9fad91c0,
config=..., this=0x7fff4e9b3cf0) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/settings_reader_v2.cpp:49
#32 KHotKeys::Settings::read_settings (stateStrategy=<optimized out>,
include_disabled=184, config=..., root=0x55fe9fad91c0, this=0x7fff4e9b3cb0) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/settings.cpp:405
#33 KHotKeys::Settings::read_settings (this=this@entry=0x7f4d3c00b930,
root=0x55fe9fad91c0, config=..., include_disabled=include_disabled@entry=true,
stateStrategy=stateStrategy@entry=KHotKeys::Retain) at
/usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/settings.cpp:392
#34 0x00007f4ce84d1317 in KHotKeys::Settings::reread_settings
(this=this@entry=0x7f4d3c00b930, include_disabled=include_disabled@entry=true)
at /usr/src/debug/khotkeys-5.24.4/libkhotkeysprivate/settings.cpp:386
#35 0x00007f4ce8539a5d in KHotkeysModel::load (this=0x7f4d3c00b920) at
/usr/src/debug/khotkeys-5.24.4/kcm_hotkeys/hotkeys_model.cpp:383
#36 KCMHotkeysPrivate::load (this=0x55fe9ef7d470) at
/usr/src/debug/khotkeys-5.24.4/kcm_hotkeys/kcm_hotkeys.cpp:238
#37 KCMHotkeys::load (this=<optimized out>) at
/usr/src/debug/khotkeys-5.24.4/kcm_hotkeys/kcm_hotkeys.cpp:175
#38 0x00007f4d50334016 in KCModuleProxy::load (this=this@entry=0x55fea0d4c0f0)
at /usr/src/debug/kcmutils-5.92.0/src/kcmoduleproxy.cpp:271
#39 0x00007f4d51f56fe9 in ModuleView::resolveChanges
(currentProxy=0x55fea0d4c0f0, this=0x55fe9e81f4a0) at
/usr/src/debug/systemsettings-5.24.4/core/ModuleView.cpp:328
#40 ModuleView::resolveChanges (this=0x55fe9e81f4a0,
currentProxy=0x55fea0d4c0f0) at
/usr/src/debug/systemsettings-5.24.4/core/ModuleView.cpp:309
#41 0x00007f4d51f570df in ModuleView::resolveChanges (this=<optimized out>) at
/usr/src/debug/systemsettings-5.24.4/core/ModuleView.cpp:306
#42 0x000055fe9d16cb79 in SettingsBase::queryClose (this=0x55fe9e717e30) at
/usr/src/debug/systemsettings-5.24.4/app/SettingsBase.cpp:283
#43 0x00007f4d51ed4c45 in KMainWindow::closeEvent (this=0x55fe9e717e30,
e=0x7fff4e9b41c0) at /usr/src/debug/kxmlgui-5.92.0/src/kmainwindow.cpp:574
#44 0x00007f4d515d643d in QWidget::event (this=0x55fe9e717e30,
event=0x7fff4e9b41c0) at kernel/qwidget.cpp:8828
#45 0x00007f4d51f05a9e in KXmlGuiWindow::event (this=0x55fe9e717e30,
ev=0x7fff4e9b41c0) at /usr/src/debug/kxmlgui-5.92.0/src/kxmlguiwindow.cpp:220
#46 0x00007f4d515a01c6 in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x55fe9e717e30, e=0x7fff4e9b41c0) at
kernel/qapplication.cpp:3637
#47 0x00007f4d50a245aa in QCoreApplication::notifyInternal2
(receiver=0x55fe9e717e30, event=0x7fff4e9b41c0) at
kernel/qcoreapplication.cpp:1064
#48 0x00007f4d515d4f51 in QWidgetPrivate::close_helper
(mode=QWidgetPrivate::CloseWithSpontaneousEvent, this=0x55fe9e695d20) at
kernel/qwidget.cpp:8252
#49 QWidgetPrivate::close_helper (this=0x55fe9e695d20,
mode=QWidgetPrivate::CloseWithSpontaneousEvent) at kernel/qwidget.cpp:8237
#50 0x00007f4d515f6d6c in QWidgetWindow::handleCloseEvent
(event=0x7fff4e9b43f0, this=0x55fe9e8c1570) at kernel/qwidgetwindow.cpp:848
#51 QWidgetWindow::event (this=0x55fe9e8c1570, event=0x7fff4e9b43f0) at
kernel/qwidgetwindow.cpp:256
#52 0x00007f4d515a01c6 in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x55fe9e8c1570, e=0x7fff4e9b43f0) at
kernel/qapplication.cpp:3637
#53 0x00007f4d50a245aa in QCoreApplication::notifyInternal2
(receiver=0x55fe9e8c1570, event=0x7fff4e9b43f0) at
kernel/qcoreapplication.cpp:1064
#54 0x00007f4d50efe97f in QGuiApplicationPrivate::processCloseEvent
(e=0x7f4d44009150) at kernel/qguiapplication.cpp:2639
#55 QGuiApplicationPrivate::processCloseEvent (e=0x7f4d44009150) at
kernel/qguiapplication.cpp:2629
#56 0x00007f4d50ee86e5 in QWindowSystemInterface::sendWindowSystemEvents
(flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#57 0x00007f4d4af3bf60 in xcbSourceDispatch (source=<optimized out>) at
/usr/src/debug/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
#58 0x00007f4d4e6f4163 in g_main_dispatch (context=0x7f4d44005010) at
../glib/glib/gmain.c:3417
#59 g_main_context_dispatch (context=0x7f4d44005010) at
../glib/glib/gmain.c:4135
#60 0x00007f4d4e74a9e9 in g_main_context_iterate.constprop.0
(context=context@entry=0x7f4d44005010, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4211
#61 0x00007f4d4e6f16c5 in g_main_context_iteration (context=0x7f4d44005010,
may_block=1) at ../glib/glib/gmain.c:4276
#62 0x00007f4d50a7057a in QEventDispatcherGlib::processEvents
(this=0x55fe9e542230, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#63 0x00007f4d50a1c88b in QEventLoop::exec (this=0x7fff4e9b46a0, flags=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#64 0x00007f4d50a27fd7 in QCoreApplication::exec () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#65 0x00007f4d50ef8432 in QGuiApplication::exec () at
kernel/qguiapplication.cpp:1867
#66 0x00007f4d5159e54a in QApplication::exec () at kernel/qapplication.cpp:2829
#67 0x000055fe9d167be8 in main (argc=<optimized out>, argv=0x7fff4e9b47d0) at
/usr/src/debug/systemsettings-5.24.4/app/main.cpp:183
[Inferior 1 (process 27943) detached]

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to