Open Global Keyboard Shortcuts in System Settings. Switch KDE Component to e. g. KWin. Click on OK. -> CRASH (only with bespin).
openSUSE 12.3
KDE 4.10.5 "Release 1"
bespin Version: 1686 Release: 148.1 (?)
Application: KDE Control Module (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
7 QWidget::ensurePolished (this=this@entry=0x1e76150) at kernel/qwidget.cpp:9729
8 0x00007f9f22843d51 in QWidgetPrivate::activateChildLayoutsRecursively (this=this@entry=0x205cfd0) at kernel/qwidget.cpp:7470
9 0x00007f9f22843d78 in QWidgetPrivate::activateChildLayoutsRecursively (this=this@entry=0x1f75100) at kernel/qwidget.cpp:7483
10 0x00007f9f22843d78 in QWidgetPrivate::activateChildLayoutsRecursively (this=this@entry=0x1f74dc0) at kernel/qwidget.cpp:7483
12 0x00007f9f22843fd0 in QWidgetPrivate::prepareToRender (this=this@entry=0x24cfab0, region=..., renderFlags=...) at kernel/qwidget.cpp:5393
13 0x00007f9f22844156 in QWidgetPrivate::render (this=0x24cfab0, target=0x1face08, targetOffset=..., sourceRegion=..., renderFlags=..., readyToRender=readyToRender@entry=false) at kernel/qwidget.cpp:5667
15 0x00007f9f10c1de09 in grabWidget (root=root@entry=0x24d6cd0, pix=...) at /usr/src/debug/bespin-1686/animator/tab.cpp:229
16 0x00007f9f10c1e7a7 in Animator::TabInfo::switchTab (this=<optimized out="">, sw=sw@entry=0x1ed7af0, newIdx=newIdx@entry=0) at /usr/src/debug/bespin-1686/animator/tab.cpp:372</optimized>
17 0x00007f9f10c1f415 in Animator::Tab::changed (this=0x1ee6780, index=0) at /usr/src/debug/bespin-1686/animator/tab.cpp:579
21 0x00007f9f22e57ed1 in QStackedLayout::currentChanged (this=<optimized out="">, _t1=0) at .moc/release-shared/moc_qstackedlayout.cpp:161</optimized>
22 0x00007f9f2282a3fe in QStackedLayout::takeAt (this=0x1fb3c40, index=0) at kernel/qstackedlayout.cpp:265
24 0x00007f9f227f682e in QApplicationPrivate::notify_helper (this=this@entry=0x1d45ad0, receiver=receiver@entry=0x1ed7af0, e=e@entry=0x7fffa3c951a0) at kernel/qapplication.cpp:4553
25 0x00007f9f227faceb in QApplication::notify (this=0x7fffa3c97940, receiver=0x1ed7af0, e=0x7fffa3c951a0) at kernel/qapplication.cpp:4423
26 0x00007f9f2441a7f6 in KApplication::notify (this=0x7fffa3c97940, receiver=0x1ed7af0, event=0x7fffa3c951a0) at /usr/src/debug/kdelibs-4.10.5/kdeui/kernel/kapplication.cpp:311
27 0x00007f9f2366dd8e in QCoreApplication::notifyInternal (this=0x7fffa3c97940, receiver=0x1ed7af0, event=0x7fffa3c951a0) at kernel/qcoreapplication.cpp:946
28 0x00007f9f2368118a in sendEvent (event=0x7fffa3c951a0, receiver=<optimized out="">) at kernel/qcoreapplication.h:231</optimized>
29 QObjectPrivate::setParent_helper (this=this@entry=0x22b0a70, o=o@entry=0x0) at kernel/qobject.cpp:1942
30 0x00007f9f23684328 in QObject::~QObject (this=0x22afa50, __in_chrg=<optimized out="">) at kernel/qobject.cpp:931</optimized>
32 0x00007f9f243a5ee9 in KShortcutsEditor::~KShortcutsEditor (this=0x22afa50, __in_chrg=<optimized out="">) at /usr/src/debug/kdelibs-4.10.5/kdeui/dialogs/kshortcutseditor.cpp:77</optimized>
33 0x00007f9f0b5d3b3c in ComponentData::~ComponentData (this=0x22bd8b0, __in_chrg=<optimized out="">) at /usr/src/debug/kde-workspace-4.10.5/kcontrol/keys/kglobalshortcutseditor.cpp:99</optimized>
34 0x00007f9f0b5d9c61 in qDeleteAll<qhash\<qstring, componentdata*="">::const_iterator> (begin=..., end=...) at /usr/include/QtCore/qalgorithms.h:322</qhash\<qstring,>
35 0x00007f9f0b5d79b9 in qDeleteAll<qhash\<qstring, componentdata*=""> > (c=...) at /usr/include/QtCore/qalgorithms.h:330</qhash\<qstring,>
36 KGlobalShortcutsEditor::~KGlobalShortcutsEditor (this=0x1e677f0, __in_chrg=<optimized out="">) at /usr/src/debug/kde-workspace-4.10.5/kcontrol/keys/kglobalshortcutseditor.cpp:196</optimized>
37 0x00007f9f0b5d7a39 in KGlobalShortcutsEditor::~KGlobalShortcutsEditor (this=0x1e677f0, __in_chrg=<optimized out="">) at /usr/src/debug/kde-workspace-4.10.5/kcontrol/keys/kglobalshortcutseditor.cpp:198</optimized>
38 0x00007f9f236804c2 in QObjectPrivate::deleteChildren (this=0x1e76270) at kernel/qobject.cpp:1916
41 0x00007f9f0b5dab39 in GlobalShortcutsModule::~GlobalShortcutsModule (this=0x1e76150, __in_chrg=<optimized out="">) at /usr/src/debug/kde-workspace-4.10.5/kcontrol/keys/globalshortcuts.cpp:54</optimized>
42 0x00007f9f15d39764 in KCModuleProxy::deleteClient (this=<optimized out="">) at /usr/src/debug/kdelibs-4.10.5/kutils/kcmoduleproxy.cpp:219</optimized>
43 0x00007f9f15d370dc in KCMultiDialogPrivate::_k_dialogClosed (this=0x1e43e50) at /usr/src/debug/kdelibs-4.10.5/kutils/kcmultidialog.cpp:201
46 0x00007f9f227f686c in QApplicationPrivate::notify_helper (this=this@entry=0x1d45ad0, receiver=receiver@entry=0x1e43c90, e=e@entry=0x7fffa3c95d00) at kernel/qapplication.cpp:4562
47 0x00007f9f227faceb in QApplication::notify (this=0x7fffa3c97940, receiver=0x1e43c90, e=0x7fffa3c95d00) at kernel/qapplication.cpp:4423
48 0x00007f9f2441a7f6 in KApplication::notify (this=0x7fffa3c97940, receiver=0x1e43c90, event=0x7fffa3c95d00) at /usr/src/debug/kdelibs-4.10.5/kdeui/kernel/kapplication.cpp:311
49 0x00007f9f2366dd8e in QCoreApplication::notifyInternal (this=0x7fffa3c97940, receiver=0x1e43c90, event=0x7fffa3c95d00) at kernel/qcoreapplication.cpp:946
50 0x00007f9f22846ceb in sendEvent (event=0x7fffa3c95d00, receiver=0x1e43c90) at ../../src/corelib/kernel/qcoreapplication.h:231
51 QWidgetPrivate::hide_helper (this=this@entry=0x201ada0) at kernel/qwidget.cpp:7641
53 0x00007f9f22cabca3 in QDialog::setVisible (this=0x1e43c90, visible=<optimized out="">) at dialogs/qdialog.cpp:793</optimized>
55 QDialog::done (this=0x1e43c90, r=1) at dialogs/qdialog.cpp:591
61 0x00007f9f2368933e in QSignalMapper::mapped (this=this@entry=0x1e43ee0, _t1=4) at .moc/release-shared/moc_qsignalmapper.cpp:115
62 0x00007f9f23689545 in QSignalMapper::map (this=0x1e43ee0, sender=0x208b380) at kernel/qsignalmapper.cpp:266
65 0x00007f9f22bb004e in QAbstractButtonPrivate::emitClicked (this=this@entry=0x20289a0) at widgets/qabstractbutton.cpp:548
66 0x00007f9f22bb0880 in QAbstractButtonPrivate::click (this=this@entry=0x20289a0) at widgets/qabstractbutton.cpp:541
69 0x00007f9f227f686c in QApplicationPrivate::notify_helper (this=this@entry=0x1d45ad0, receiver=receiver@entry=0x208b380, e=e@entry=0x7fffa3c96b30) at kernel/qapplication.cpp:4562
70 0x00007f9f227fb54b in QApplication::notify (this=<optimized out="">, receiver=0x208b380, e=0x7fffa3c96b30) at kernel/qapplication.cpp:4105</optimized>
71 0x00007f9f2441a7f6 in KApplication::notify (this=0x7fffa3c97940, receiver=0x208b380, event=0x7fffa3c96b30) at /usr/src/debug/kdelibs-4.10.5/kdeui/kernel/kapplication.cpp:311
72 0x00007f9f2366dd8e in QCoreApplication::notifyInternal (this=0x7fffa3c97940, receiver=0x208b380, event=0x7fffa3c96b30) at kernel/qcoreapplication.cpp:946
73 0x00007f9f227f76ab in sendEvent (event=<optimized out="">, receiver=<optimized out="">) at ../../src/corelib/kernel/qcoreapplication.h:231</optimized></optimized>
75 0x00007f9f22871e94 in QETWidget::translateMouseEvent (this=this@entry=0x1e43c90, event=event@entry=0x7fffa3c972a0) at kernel/qapplication_x11.cpp:4527
76 0x00007f9f22870c21 in QApplication::x11ProcessEvent (this=0x7fffa3c97940, event=0x7fffa3c972a0) at kernel/qapplication_x11.cpp:3650
77 0x00007f9f22896fa2 in x11EventSourceDispatch (s=0x1d7c200, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
78 0x00007f9f1ef4a7d5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
79 0x00007f9f1ef4ab08 in ?? () from /usr/lib64/libglib-2.0.so.0
80 0x00007f9f1ef4abc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
81 0x00007f9f2369c2e6 in QEventDispatcherGlib::processEvents (this=0x1cb6790, flags=...) at kernel/qeventdispatcher_glib.cpp:426
82 0x00007f9f22896c1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out="">, flags=...) at kernel/qguieventdispatcher_glib.cpp:204</optimized>
83 0x00007f9f2366cadf in QEventLoop::processEvents (this=this@entry=0x7fffa3c97680, flags=...) at kernel/qeventloop.cpp:149
84 0x00007f9f2366cd68 in QEventLoop::exec (this=0x7fffa3c97680, flags=...) at kernel/qeventloop.cpp:204
85 0x00007f9f22caa9c8 in QDialog::exec (this=0x1e43c90) at dialogs/qdialog.cpp:554
86 0x00007f9f112d831c in kdemain (_argc=30693792, _argv=<optimized out="">) at /usr/src/debug/kde-runtime-4.10.5/kcmshell/main.cpp:297</optimized>
87 0x000000000040889a in launch (argc=argc@entry=2, _name=_name@entry=0x1d32ce8 "kcmshell4", args=0x1d32cff "\001", args@entry=0x1d32cf2 "keys.desktop", cwd=cwd@entry=0x0, envc=envc@entry=1, envs=<optimized out="">, envs@entry=0x1d32d07 "DISPLAY=:0", reset_env=false, tty=tty@entry=0x0, avoid_loops=false, startup_id_str=startup_id_str@entry=0x40b126 "0") at /usr/src/debug/kdelibs-4.10.5/kinit/kinit.cpp:726</optimized>
88 0x000000000040974b in handle_launcher_request (sock=8, who=<optimized out="">) at /usr/src/debug/kdelibs-4.10.5/kinit/kinit.cpp:1218</optimized>
89 0x0000000000409d90 in handle_requests (waitForPid=waitForPid@entry=0) at /usr/src/debug/kdelibs-4.10.5/kinit/kinit.cpp:1411
90 0x0000000000405a47 in main (argc=4, argv=<optimized out="">, envp=0x7fffa3c98730) at /usr/src/debug/kdelibs-4.10.5/kinit/kinit.cpp:1899</optimized>
I hit this in about 5% of all cases.
The reason is that the dialog deletes QObject children from the parents deconstructor, what's crash prone itself and causes a crash because it (by the stackwidget crossfade animation) triggers a repaint of a widget with partially deleted children (and a polluted internal children list, thus the NULL pointer deref)
QWidget::render() should be noop while the widget is being deleted (deleting within paints is eg. not supported, you'd get a warning) but i've not found a usable way to determine this situation (the crashing this pointer is not even necessarily NULL, eg. it's usually not here. the stack has a valid count, the widget-for-index function returns a non-NULL widget pointer...)
Disabling tab animations will prevent this.
The backtrace seems to be actually from the kcm being invoked directly and for that i pot. do have a fix (testing whether the window is still tagged visible -> revision #1688)
But that won't fix the systemsettings module :-(