Bug 246964 - Kontact crash when updating other programs
Summary: Kontact crash when updating other programs
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: 4.4.5
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-07 07:33 UTC by Tim McKenzie
Modified: 2010-10-14 00:27 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.5.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim McKenzie 2010-08-07 07:33:14 UTC
Application: kontact (4.4.5)
KDE Platform Version: 4.4.5 (KDE 4.4.5)
Qt Version: 4.6.3
Operating System: Linux 2.6.33.6-147.2.4.fc13.x86_64 x86_64
Distribution: "Fedora release 13 (Goddard)"

-- Information about the crash:
I was writing an email in Kontact while KPackageKit was updating in the background.  kdepim was not one of the things it was updating.  Just as the updates were finishing, I was switching to another window, and Kontact crashed.

 -- Backtrace:
Application: Kontact (kontact), signal: Bus error
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#5  memcpy () at ../sysdeps/x86_64/memcpy.S:215
#6  0x0000003781e79a37 in (anonymous namespace)::KPCMemoryDevice::writeData (this=0x241de00, data=<value optimized out>, len=730) at /usr/include/bits/string3.h:52
#7  0x00000039cf8f1787 in QIODevice::write (this=0x241de00, data=0x32eb868 "", maxSize=<value optimized out>) at io/qiodevice.cpp:1359
#8  0x00000039cf8e07aa in QDataStream::writeRawData (this=<value optimized out>, s=<value optimized out>, len=<value optimized out>) at io/qdatastream.cpp:1359
#9  0x00000039cf8e0a56 in QDataStream::writeBytes (this=0x7fff5829ca70, s=0x32eb868 "", len=730) at io/qdatastream.cpp:1343
#10 0x0000003781e7cd50 in KPixmapCache::Private::writeData (this=0x175a100, key=<value optimized out>, pix=<value optimized out>) at /usr/src/debug/kdelibs-4.4.5/kdeui/util/kpixmapcache.cpp:1477
#11 0x0000003781e7da13 in KPixmapCache::insert (this=0x1711250, key=..., pix=...) at /usr/src/debug/kdelibs-4.4.5/kdeui/util/kpixmapcache.cpp:1440
#12 0x0000003781ddd92b in KIconCache::insert (this=0x1711250, key=..., pix=..., path=<value optimized out>) at /usr/src/debug/kdelibs-4.4.5/kdeui/icons/kiconcache.cpp:285
#13 0x0000003781dd4787 in KIconLoader::loadIcon (this=<value optimized out>, _name=<value optimized out>, group=KIconLoader::Desktop, size=<value optimized out>, state=1, overlays=..., 
    path_store=0x0, canReturnNull=false) at /usr/src/debug/kdelibs-4.4.5/kdeui/icons/kiconloader.cpp:1273
#14 0x0000003781dcd5ad in KIconEngine::pixmap (this=<value optimized out>, size=..., mode=<value optimized out>, state=<value optimized out>)
    at /usr/src/debug/kdelibs-4.4.5/kdeui/icons/kiconengine.cpp:119
#15 0x0000003780c4c295 in QIcon::pixmap (this=<value optimized out>, size=<value optimized out>, mode=<value optimized out>, state=<value optimized out>) at image/qicon.cpp:678
#16 0x0000003780e900cf in QCommonStyle::drawControl (this=0x1724930, element=<value optimized out>, opt=0x7fff5829ef50, p=0x7fff5829f530, widget=0x34ddb00) at styles/qcommonstyle.cpp:1597
#17 0x0000003781e16da2 in KStyle::drawControl (this=0x1724930, element=QStyle::CE_ToolButtonLabel, option=0x7fff5829ef50, p=0x7fff5829f530, widget=0x34ddb00)
    at /usr/src/debug/kdelibs-4.4.5/kdeui/kernel/kstyle.cpp:2508
#18 0x00007f0f3533e909 in OxygenStyle::drawControl (this=0x1724930, element=<value optimized out>, option=0x7fff5829ef50, p=0x7fff5829f530, widget=0x34ddb00)
    at /usr/src/debug/kdebase-runtime-4.4.5/kstyles/oxygen/oxygen.cpp:616
#19 0x0000003781e146c4 in KStyle::drawComplexControl (this=0x1724930, cc=<value optimized out>, opt=0x7fff5829f4b0, p=0x7fff5829f530, w=0x34ddb00)
    at /usr/src/debug/kdelibs-4.4.5/kdeui/kernel/kstyle.cpp:3473
#20 0x00007f0f3533425a in OxygenStyle::drawComplexControl (this=0x1724930, control=QStyle::CC_ToolButton, option=0x7fff5829f4b0, painter=0x7fff5829f530, widget=<value optimized out>)
    at /usr/src/debug/kdebase-runtime-4.4.5/kstyles/oxygen/oxygen.cpp:303
#21 0x0000003780fef9e8 in drawComplexControl (this=0x34ddb00) at ../../src/gui/painting/qstylepainter.h:94
#22 QToolButton::paintEvent (this=0x34ddb00) at widgets/qtoolbutton.cpp:556
#23 0x0000003780bf606a in QWidget::event (this=0x34ddb00, event=0x7fff5829fd40) at kernel/qwidget.cpp:8190
#24 0x0000003780bab39c in QApplicationPrivate::notify_helper (this=0x16cfa90, receiver=0x34ddb00, e=0x7fff5829fd40) at kernel/qapplication.cpp:4306
#25 0x0000003780bb165b in QApplication::notify (this=<value optimized out>, receiver=0x34ddb00, e=0x7fff5829fd40) at kernel/qapplication.cpp:4189
#26 0x0000003781e07016 in KApplication::notify (this=0x7fff582a17b0, receiver=0x34ddb00, event=0x7fff5829fd40) at /usr/src/debug/kdelibs-4.4.5/kdeui/kernel/kapplication.cpp:302
#27 0x00000039cf953ddc in QCoreApplication::notifyInternal (this=0x7fff582a17b0, receiver=0x34ddb00, event=0x7fff5829fd40) at kernel/qcoreapplication.cpp:726
#28 0x0000003780bfdcbc in sendSpontaneousEvent (this=0x3522440, pdev=0x3592ad8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x3416bd0)
    at ../../src/corelib/kernel/qcoreapplication.h:218
#29 QWidgetPrivate::drawWidget (this=0x3522440, pdev=0x3592ad8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x3416bd0) at kernel/qwidget.cpp:5363
#30 0x0000003780bfe948 in QWidgetPrivate::paintSiblingsRecursive (this=0x34dffa0, pdev=0x3592ad8, siblings=<value optimized out>, index=<value optimized out>, rgn=..., offset=..., flags=4, 
    sharedPainter=0x0, backingStore=0x3416bd0) at kernel/qwidget.cpp:5476
#31 0x0000003780bfda1a in QWidgetPrivate::drawWidget (this=0x34dffa0, pdev=0x3592ad8, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x3416bd0)
    at kernel/qwidget.cpp:5412
#32 0x0000003780bfe948 in QWidgetPrivate::paintSiblingsRecursive (this=0x171e250, pdev=0x3592ad8, siblings=<value optimized out>, index=<value optimized out>, rgn=..., offset=..., flags=4, 
    sharedPainter=0x0, backingStore=0x3416bd0) at kernel/qwidget.cpp:5476
#33 0x0000003780bfda1a in QWidgetPrivate::drawWidget (this=0x171e250, pdev=0x3592ad8, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x3416bd0)
    at kernel/qwidget.cpp:5412
#34 0x0000003780da28a5 in QWidgetBackingStore::sync (this=0x3416bd0) at painting/qbackingstore.cpp:1300
#35 0x0000003780befae0 in QWidgetPrivate::syncBackingStore (this=0x171e250) at kernel/qwidget.cpp:1688
#36 0x0000003780bf6773 in QWidget::event (this=0x33f9420, event=0x35e8590) at kernel/qwidget.cpp:8337
#37 0x0000003780f8c55b in QMainWindow::event (this=0x33f9420, event=0x35e8590) at widgets/qmainwindow.cpp:1414
#38 0x0000003781f04763 in KXmlGuiWindow::event (this=0x33f9420, ev=0x35e8590) at /usr/src/debug/kdelibs-4.4.5/kdeui/xmlgui/kxmlguiwindow.cpp:131
#39 0x0000003780bab39c in QApplicationPrivate::notify_helper (this=0x16cfa90, receiver=0x33f9420, e=0x35e8590) at kernel/qapplication.cpp:4306
#40 0x0000003780bb165b in QApplication::notify (this=<value optimized out>, receiver=0x33f9420, e=0x35e8590) at kernel/qapplication.cpp:4189
#41 0x0000003781e07016 in KApplication::notify (this=0x7fff582a17b0, receiver=0x33f9420, event=0x35e8590) at /usr/src/debug/kdelibs-4.4.5/kdeui/kernel/kapplication.cpp:302
#42 0x00000039cf953ddc in QCoreApplication::notifyInternal (this=0x7fff582a17b0, receiver=0x33f9420, event=0x35e8590) at kernel/qcoreapplication.cpp:726
#43 0x00000039cf955ed4 in sendEvent (receiver=0x0, event_type=0, data=0x169ed60) at kernel/qcoreapplication.h:215
#44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x169ed60) at kernel/qcoreapplication.cpp:1367
#45 0x00000039cf979d23 in sendPostedEvents (s=<value optimized out>) at kernel/qcoreapplication.h:220
#46 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#47 0x00000039c743bd02 in g_main_dispatch (context=0x16d19a0) at gmain.c:1960
#48 IA__g_main_context_dispatch (context=0x16d19a0) at gmain.c:2513
#49 0x00000039c743fae8 in g_main_context_iterate (context=0x16d19a0, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591
#50 0x00000039c743fc9c in IA__g_main_context_iteration (context=0x16d19a0, may_block=1) at gmain.c:2654
#51 0x00000039cf979863 in QEventDispatcherGlib::processEvents (this=0x169e470, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#52 0x0000003780c4a84e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#53 0x00000039cf952822 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#54 0x00000039cf952aec in QEventLoop::exec (this=0x7fff582a16f0, flags=...) at kernel/qeventloop.cpp:201
#55 0x00000039cf9561bb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#56 0x0000000000403cae in main (argc=1, argv=0x7fff582a1d98) at /usr/src/debug/kdepim-4.4.5/kontact/src/main.cpp:224

Reported using DrKonqi
Comment 1 Christophe Marin 2010-09-19 14:38:06 UTC
@Michael: I believe this crash has some dups but I couldn't find the exact one.
Comment 2 Christoph Feck 2010-10-14 00:27:59 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