Bug 234987

Summary: repeated crash assigning global shortcuts
Product: [Unmaintained] kdelibs Reporter: Ask <janaskhoej>
Component: kdeuiAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: bcooksley, cfeck, mathieu.melich, titanic_v, tuk37
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.5.0
Sentry Crash Report:

Description Ask 2010-04-21 16:55:06 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-19-generic i686
Distribution: Ubuntu lucid (development branch)

-- Information about the crash:
crash when clicking the custom button in assign global shortcuts in Standard keyboard shortcuts. Using kubuntu beta 3, happens every time i try.

The crash can be reproduced every time.

 -- Backtrace:
Application: System Settings (systemsettings), signal: Aborted
[KCrash Handler]
#6  0x0023a422 in __kernel_vsyscall ()
#7  0x00c2e651 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0x00c31a82 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0x00bcd52f in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#10 0x00bcb465 in ?? () from /usr/lib/libstdc++.so.6
#11 0x00bcb4a2 in std::terminate() () from /usr/lib/libstdc++.so.6
#12 0x00bcb5e1 in __cxa_throw () from /usr/lib/libstdc++.so.6
#13 0x008aab15 in qBadAlloc () at global/qglobal.cpp:2004
#14 0x008b7d0d in q_check_ptr<QByteArray::Data> (
    data=0xa4fd138 "\355\235\a\230\024\305\326\206G\202\\\305\200\341b\270?\nf1`\270\210\001PP\004\025\257 \030\060\240\242(\222sF\020dQ@\304\210\250 \212\"\202$\023ADD\021\311\210KR\262\022$\347(\324\177\336\336:cmO\317\316\246q\027w\372y\276gz\272\253\253\352|\337\251S\325\335\325\335\241PbI,\211%\261$\226\304\222X\022KbI,\211%\261\304}9Jp\214\340X\213\302y\020\307Z\016\216\312\"\227G\342\362/A\031\301My\034p", nbytes=30876) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1697
#15 qUncompress (
    data=0xa4fd138 "\355\235\a\230\024\305\326\206G\202\\\305\200\341b\270?\nf1`\270\210\001PP\004\025\257 \030\060\240\242(\222sF\020dQ@\304\210\250 \212\"\202$\023ADD\021\311\210KR\262\022$\347(\324\177\336\336:cmO\317\316\246q\027w\372y\276gz\272\253\253\352|\337\251S\325\335\325\335\241PbI,\211%\261$\226\304\222X\022KbI,\211%\261\304}9Jp\214\340X\213\302y\020\307Z\016\216\312\"\227G\342\362/A\031\301My\034p", nbytes=30876) at tools/qbytearray.cpp:541
#16 0x004ac39e in qUncompress (this=0x9fa66d8, offset=853039, pix=...) at /usr/include/qt4/QtCore/qbytearray.h:586
#17 KPixmapCache::Private::loadData (this=0x9fa66d8, offset=853039, pix=...) at ../../kdeui/util/kpixmapcache.cpp:1391
#18 0x004ad4e1 in KPixmapCache::find (this=0x9fa8db0, key=..., pix=...) at ../../kdeui/util/kpixmapcache.cpp:1354
#19 0x003ea59b in KIconCache::find (this=0x9fa8db0, key=..., pix=...) at ../../kdeui/icons/kiconcache.cpp:292
#20 0x003eb3e0 in KIconCache::find (this=0x9fa8db0, key=..., pix=..., path=0x0) at ../../kdeui/icons/kiconcache.cpp:277
#21 0x003ddac5 in KIconLoader::loadIcon (this=0x9f36980, _name=..., group=KIconLoader::Desktop, size=16, state=1, overlays=..., path_store=0x0, canReturnNull=false)
    at ../../kdeui/icons/kiconloader.cpp:1092
#22 0x003d5cb9 in KIconEngine::pixmap (this=0xa43f238, size=..., mode=QIcon::Active, state=QIcon::On) at ../../kdeui/icons/kiconengine.cpp:119
#23 0x010158d6 in QIcon::pixmap (this=0xbfbaa594, size=..., mode=QIcon::Active, state=QIcon::On) at image/qicon.cpp:669
#24 0x004283a4 in KStyle::drawKStylePrimitive (this=0x9f73028, widgetType=KStyle::WT_PushButton, primitive=65536, opt=0xbfbaad8c, r=..., pal=..., flags=..., p=0xbfbab574, widget=0xa49e4a0, 
    kOpt=0xbfbaa58c) at ../../kdeui/kernel/kstyle.cpp:833
#25 0x099ca6fa in OxygenStyle::drawKStylePrimitive (this=0x9f73028, widgetType=KStyle::WT_PushButton, primitive=65536, opt=0xbfbaad8c, r=..., palette=..., flags=..., p=0xbfbab574, widget=0xa49e4a0, 
    kOpt=0xbfbaa58c) at ../../../kstyles/oxygen/oxygen.cpp:765
#26 0x00430827 in KStyle::drawControl (this=0x9f73028, element=QStyle::CE_PushButtonLabel, option=0xbfbaad8c, p=0xbfbab574, widget=0xa49e4a0) at ../../kdeui/kernel/kstyle.cpp:1453
#27 0x099d3005 in OxygenStyle::drawControl (this=0x9f73028, element=QStyle::CE_PushButton, option=0xbfbaad8c, p=0xbfbab574, widget=0xbec) at ../../../kstyles/oxygen/oxygen.cpp:632
#28 0x004310f4 in KStyle::drawControl (this=0x9f73028, element=QStyle::CE_PushButton, option=0xbfbab534, p=0xbfbab574, widget=0xa49e4a0) at ../../kdeui/kernel/kstyle.cpp:1358
#29 0x099d3005 in OxygenStyle::drawControl (this=0x9f73028, element=QStyle::CE_PushButton, option=0xbfbab534, p=0xbfbab574, widget=0xbec) at ../../../kstyles/oxygen/oxygen.cpp:632
#30 0x0140731b in QStylePainter::drawControl (this=0xa49e4a0) at ../../include/QtGui/../../src/gui/painting/qstylepainter.h:89
#31 QPushButton::paintEvent (this=0xa49e4a0) at widgets/qpushbutton.cpp:450
#32 0x00fb16b6 in QWidget::event (this=0xa49e4a0, event=0xbfbabba4) at kernel/qwidget.cpp:8144
#33 0x0135dd4e in QAbstractButton::event (this=0xa49e4a0, e=0x6) at widgets/qabstractbutton.cpp:1080
#34 0x014081f2 in QPushButton::event (this=0xa49e4a0, e=0xbfbabba4) at widgets/qpushbutton.cpp:679
#35 0x004f892b in KKeySequenceButton::event (this=0x0, e=0x6) at ../../kdeui/widgets/kkeysequencewidget.cpp:732
#36 0x00f534dc in QApplicationPrivate::notify_helper (this=0x9f41f10, receiver=0xa49e4a0, e=0xbfbabba4) at kernel/qapplication.cpp:4300
#37 0x00f5a0f9 in QApplication::notify (this=0xbfbae0ac, receiver=0xa49e4a0, e=0xbfbabba4) at kernel/qapplication.cpp:4265
#38 0x0041af2a in KApplication::notify (this=0xbfbae0ac, receiver=0xa49e4a0, event=0xbfbabba4) at ../../kdeui/kernel/kapplication.cpp:302
#39 0x009b6a3b in QCoreApplication::notifyInternal (this=0xbfbae0ac, receiver=0xa49e4a0, event=0xbfbabba4) at kernel/qcoreapplication.cpp:704
#40 0x00fba9d6 in QCoreApplication::sendSpontaneousEvent (this=0xa48f890, pdev=0x9fe2c04, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x9fe2bb8)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#41 QWidgetPrivate::drawWidget (this=0xa48f890, pdev=0x9fe2c04, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x9fe2bb8) at kernel/qwidget.cpp:5339
#42 0x00fbb815 in QWidgetPrivate::paintSiblingsRecursive (this=0xa26f830, pdev=0x9fe2c04, siblings=..., index=1, rgn=..., offset=..., flags=68, sharedPainter=0x0, backingStore=0x9fe2bb8)
    at kernel/qwidget.cpp:5452
#43 0x00fbb64e in QWidgetPrivate::paintSiblingsRecursive (this=0xa26f830, pdev=0x9fe2c04, siblings=..., index=2, rgn=..., offset=..., flags=68, sharedPainter=0x0, backingStore=0x9fe2bb8)
    at kernel/qwidget.cpp:5439
#44 0x00fba725 in QWidgetPrivate::drawWidget (this=0xa26f830, pdev=0x9fe2c04, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x9fe2bb8) at kernel/qwidget.cpp:5388
#45 0x00fbb815 in QWidgetPrivate::paintSiblingsRecursive (this=0xa4bcf98, pdev=0x9fe2c04, siblings=..., index=4, rgn=..., offset=..., flags=68, sharedPainter=0x0, backingStore=0x9fe2bb8)
    at kernel/qwidget.cpp:5452
#46 0x00fba725 in QWidgetPrivate::drawWidget (this=0xa4bcf98, pdev=0x9fe2c04, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x9fe2bb8) at kernel/qwidget.cpp:5388
#47 0x00fbb815 in QWidgetPrivate::paintSiblingsRecursive (this=0xa37a9e0, pdev=0x9fe2c04, siblings=..., index=0, rgn=..., offset=..., flags=68, sharedPainter=0x0, backingStore=0x9fe2bb8)
    at kernel/qwidget.cpp:5452
#48 0x00fba725 in QWidgetPrivate::drawWidget (this=0xa37a9e0, pdev=0x9fe2c04, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x9fe2bb8) at kernel/qwidget.cpp:5388
#49 0x011917d7 in QWidgetBackingStore::sync (this=0x9fe2bb8) at painting/qbackingstore.cpp:1283
#50 0x00faab93 in QWidgetPrivate::syncBackingStore (this=0x9fc87b8) at kernel/qwidget.cpp:1672
#51 0x00fb1e76 in QWidget::event (this=0x9fc46c8, event=0xbfbacfb4) at kernel/qwidget.cpp:8291
#52 0x013ccbc7 in QMainWindow::event (this=0x9fc46c8, event=0xbfbacfb4) at widgets/qmainwindow.cpp:1433
#53 0x0050cb04 in KMainWindow::event (this=0x9fc46c8, ev=0xbfbacfb4) at ../../kdeui/widgets/kmainwindow.cpp:1103
#54 0x0055488f in KXmlGuiWindow::event (this=0x9fc46c8, ev=0xbfbacfb4) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131
#55 0x00f534dc in QApplicationPrivate::notify_helper (this=0x9f41f10, receiver=0x9fc46c8, e=0xbfbacfb4) at kernel/qapplication.cpp:4300
#56 0x00f5a0f9 in QApplication::notify (this=0xbfbae0ac, receiver=0x9fc46c8, e=0xbfbacfb4) at kernel/qapplication.cpp:4265
#57 0x0041af2a in KApplication::notify (this=0xbfbae0ac, receiver=0x9fc46c8, event=0xbfbacfb4) at ../../kdeui/kernel/kapplication.cpp:302
#58 0x009b6a3b in QCoreApplication::notifyInternal (this=0xbfbae0ac, receiver=0x9fc46c8, event=0xbfbacfb4) at kernel/qcoreapplication.cpp:704
#59 0x0118e877 in QCoreApplication::sendEvent (widget=0x9fc46c8, updateImmediately=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#60 sendUpdateRequest (widget=0x9fc46c8, updateImmediately=<value optimized out>) at painting/qbackingstore.cpp:503
#61 0x01192204 in QWidgetBackingStore::markDirty (this=0x9fe2bb8, rect=..., widget=0xa49e4a0, updateImmediately=true, invalidateBuffer=false) at painting/qbackingstore.cpp:667
#62 0x00fad689 in QWidget::repaint (this=0xa49e4a0, rect=...) at kernel/qwidget.cpp:10034
#63 0x00fad79c in QWidget::repaint (this=0xa49e4a0) at kernel/qwidget.cpp:9990
#64 0x0135dc3e in QAbstractButton::mousePressEvent (this=0xa49e4a0, e=0xbfbad7f0) at widgets/qabstractbutton.cpp:1094
#65 0x00fb17dc in QWidget::event (this=0xa49e4a0, event=0xbfbad7f0) at kernel/qwidget.cpp:7994
#66 0x0135dd4e in QAbstractButton::event (this=0xa49e4a0, e=0x6) at widgets/qabstractbutton.cpp:1080
#67 0x014081f2 in QPushButton::event (this=0xa49e4a0, e=0xbfbad7f0) at widgets/qpushbutton.cpp:679
#68 0x004f892b in KKeySequenceButton::event (this=0x0, e=0x6) at ../../kdeui/widgets/kkeysequencewidget.cpp:732
#69 0x00f534dc in QApplicationPrivate::notify_helper (this=0x9f41f10, receiver=0xa49e4a0, e=0xbfbad7f0) at kernel/qapplication.cpp:4300
#70 0x00f5a9f7 in QApplication::notify (this=0xbfbae0ac, receiver=0xa49e4a0, e=0xbfbad7f0) at kernel/qapplication.cpp:3865
#71 0x0041af2a in KApplication::notify (this=0xbfbae0ac, receiver=0xa49e4a0, event=0xbfbad7f0) at ../../kdeui/kernel/kapplication.cpp:302
#72 0x009b6a3b in QCoreApplication::notifyInternal (this=0xbfbae0ac, receiver=0xa49e4a0, event=0xbfbad7f0) at kernel/qcoreapplication.cpp:704
#73 0x00f59952 in QCoreApplication::sendEvent (receiver=0xa49e4a0, event=0xbfbad7f0, alienWidget=0xa49e4a0, nativeWidget=0x9fc46c8, buttonDown=0x1897058, lastMouseReceiver=..., spontaneous=true)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#74 QApplicationPrivate::sendMouseEvent (receiver=0xa49e4a0, event=0xbfbad7f0, alienWidget=0xa49e4a0, nativeWidget=0x9fc46c8, buttonDown=0x1897058, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:2965
#75 0x00fe5088 in QETWidget::translateMouseEvent (this=0x9fc46c8, event=0xbfbadd0c) at kernel/qapplication_x11.cpp:4368
#76 0x00fe4511 in QApplication::x11ProcessEvent (this=0xbfbae0ac, event=0xbfbadd0c) at kernel/qapplication_x11.cpp:3379
#77 0x0101360a in x11EventSourceDispatch (s=0x9f3a100, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#78 0x08cbb5e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#79 0x08cbf2d8 in ?? () from /lib/libglib-2.0.so.0
#80 0x08cbf4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#81 0x009e25d5 in QEventDispatcherGlib::processEvents (this=0x9f184a0, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#82 0x01013135 in QGuiEventDispatcherGlib::processEvents (this=0x9f184a0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#83 0x009b5059 in QEventLoop::processEvents (this=0xbfbae004, flags=) at kernel/qeventloop.cpp:149
#84 0x009b54aa in QEventLoop::exec (this=0xbfbae004, flags=...) at kernel/qeventloop.cpp:201
#85 0x009b969f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#86 0x00f53577 in QApplication::exec () at kernel/qapplication.cpp:3579
#87 0x08056b5e in main (argc=5, argv=0xbfbae1f4) at ../../../systemsettings/app/main.cpp:49

Possible duplicates by query: bug 234333, bug 218998.

Reported using DrKonqi
Comment 1 Nicolas L. 2010-08-05 18:19:30 UTC
*** Bug 246823 has been marked as a duplicate of this bug. ***
Comment 2 Sergio Martins 2010-10-02 14:09:22 UTC
*** Bug 252213 has been marked as a duplicate of this bug. ***
Comment 3 Christoph Feck 2010-10-14 00:27:43 UTC
(I quickly reviewed the backtrace of this crash, and it appears to be caused by KIconCache memory corruption. If this is not the case, please reopen.)

Closing all KIconCache crashes as fixed, because the KIconLoader in KDE SC 4.5 now uses KSharedDataCache to cache icons, and it is believed that the new class is less prone to random crashes or memory corruption.

If you still can reproduce a crash with version 4.5, please report it separately. If you cannot upgrade to 4.5 yet, you should be able to work around this crash by deleting the icon cache files in /var/tmp/kdecache-<user>/kpc
Comment 4 Dario Andres 2010-11-15 17:48:23 UTC
*** Bug 255088 has been marked as a duplicate of this bug. ***