Bug 193133 - Konqueror crashed when closing Okular part tab (KPixmapCache::ensureInited , KIconLoader related)
Summary: Konqueror crashed when closing Okular part tab (KPixmapCache::ensureInited , ...
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdeui (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-18 18:23 UTC by jonathan aquilina
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 jonathan aquilina 2009-05-18 18:23:24 UTC
Application that crashed: konqueror
Version of the application: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1))
KDE Version: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1))
Qt Version: 4.5.1
Operating System: Linux 2.6.30-5-generic x86_64
Distribution: Ubuntu karmic (development branch)

What I was doing when the application crashed:
was reading through some articles that i had open in pdf format i closed one of the tabs and konqueror randomly crashed

 -- Backtrace:
Application: Konqueror (konqueror), signal: Segmentation fault
[KCrash Handler]
#5  KPixmapCache::ensureInited (this=0x0) at ../../kdeui/util/kpixmapcache.cpp:1053
#6  0x00007f90184040a9 in KPixmapCache::isEnabled (this=0x0) at ../../kdeui/util/kpixmapcache.cpp:1069
#7  0x00007f90183669ee in KIconCache::find (this=0x308aff0, key=@0x7fff33aebe90, pix=@0x7fff33aebd10, path=0x7fff33aec950) at ../../kdeui/icons/kiconcache.cpp:62
#8  0x00007f901835a186 in KIconLoader::loadIcon (this=0x308fde0, _name=@0x7fff33aec930, group=<value optimized out>, size=32, state=<value optimized out>, overlays=@0x7fff33aec920, 
    path_store=0x7fff33aec950, canReturnNull=true) at ../../kdeui/icons/kiconloader.cpp:1035
#9  0x00007f9007c454cb in ?? () from /usr/lib/kde4/okularpart.so
#10 0x00007f9007c47c1d in ?? () from /usr/lib/kde4/okularpart.so
#11 0x00007f9007c7f3b8 in ?? () from /usr/lib/kde4/okularpart.so
#12 0x00007f9007c7f7d7 in ?? () from /usr/lib/kde4/okularpart.so
#13 0x00007f9016c3daef in QWidget::event (this=0x2d47e70, event=0x7fff33aed4e0) at kernel/qwidget.cpp:7659
#14 0x00007f9016bee3fc in QApplicationPrivate::notify_helper (this=0x2232e70, receiver=0x2d47e70, e=0x7fff33aed4e0) at kernel/qapplication.cpp:4057
#15 0x00007f9016bf56ae in QApplication::notify (this=0x7fff33af10b0, receiver=0x2d47e70, e=0x7fff33aed4e0) at kernel/qapplication.cpp:4022
#16 0x00007f901838a526 in KApplication::notify (this=0x7fff33af10b0, receiver=0x2d47e70, event=0x7fff33aed4e0) at ../../kdeui/kernel/kapplication.cpp:307
#17 0x00007f90177813ec in QCoreApplication::notifyInternal (this=0x7fff33af10b0, receiver=0x2d47e70, event=0x7fff33aed4e0) at kernel/qcoreapplication.cpp:610
#18 0x00007f9016c454da in QWidgetPrivate::drawWidget (this=0x2d47f00, pdev=0x232c1f8, rgn=@0x7fff33aed720, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#19 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d45eb8, index=0, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#20 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d45ea0, pdev=0x232c1f8, rgn=@0x7fff33aeda30, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#21 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d45a08, index=0, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#22 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d45a08, index=3, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#23 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d459f0, pdev=0x232c1f8, rgn=@0x7fff33aede40, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#24 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d40338, index=2, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#25 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d40320, pdev=0x232c1f8, rgn=@0x7fff33aee150, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#26 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d33758, index=4, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#27 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d33740, pdev=0x232c1f8, rgn=@0x7fff33aee460, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#28 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d27008, index=2, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#29 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d26ff0, pdev=0x232c1f8, rgn=@0x7fff33aee770, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#30 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d26c48, index=1, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#31 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d26c48, index=3, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#32 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d26c30, pdev=0x232c1f8, rgn=@0x7fff33aeeb80, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#33 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d2c348, index=2, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#34 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d2c330, pdev=0x232c1f8, rgn=@0x7fff33aeee90, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#35 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2d2a158, index=1, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#36 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2d2a140, pdev=0x232c1f8, rgn=@0x7fff33aef1a0, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#37 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2684bc8, index=4, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#38 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2684bc8, index=5, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#39 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2684bc8, index=6, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#40 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2684bc8, index=7, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#41 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x2684bc8, index=13, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#42 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x2684bb0, pdev=0x232c1f8, rgn=@0x7fff33aef8b0, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#43 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x26444c8, index=0, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#44 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x26444c8, index=1, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#45 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x26444c8, index=2, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#46 0x00007f9016c45b54 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x26444c8, index=3, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5153
#47 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x26444b0, pdev=0x232c1f8, rgn=@0x7fff33aefec0, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#48 0x00007f9016c45c40 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=@0x232aa88, index=48, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x232c190) at kernel/qwidget.cpp:5162
#49 0x00007f9016c45139 in QWidgetPrivate::drawWidget (this=0x232aa70, pdev=0x232c1f8, rgn=@0x7fff33af0320, offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x232c190) at kernel/qwidget.cpp:5101
#50 0x00007f9016de6b2e in QWidgetBackingStore::sync (this=0x232c190) at painting/qbackingstore.cpp:1268
#51 0x00007f9016c36bd0 in QWidgetPrivate::syncBackingStore (this=0x232aa70) at kernel/qwidget.cpp:1602
#52 0x00007f9016c3d8f5 in QWidget::event (this=0x232a640, event=0x48da5e0) at kernel/qwidget.cpp:7799
#53 0x00007f9016fe8ddb in QMainWindow::event (this=0x232a640, event=0x48da5e0) at widgets/qmainwindow.cpp:1402
#54 0x00007f9018498a98 in KXmlGuiWindow::event (this=0x0, ev=0x7fff33aebe90) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131
#55 0x00007f9019ee8dac in KonqMainWindow::event (this=0x232a640, e=0x48da5e0) at ../../../../apps/konqueror/src/konqmainwindow.cpp:5627
#56 0x00007f9016bee3fc in QApplicationPrivate::notify_helper (this=0x2232e70, receiver=0x232a640, e=0x48da5e0) at kernel/qapplication.cpp:4057
#57 0x00007f9016bf56ae in QApplication::notify (this=0x7fff33af10b0, receiver=0x232a640, e=0x48da5e0) at kernel/qapplication.cpp:4022
#58 0x00007f901838a526 in KApplication::notify (this=0x7fff33af10b0, receiver=0x232a640, event=0x48da5e0) at ../../kdeui/kernel/kapplication.cpp:307
#59 0x00007f90177813ec in QCoreApplication::notifyInternal (this=0x7fff33af10b0, receiver=0x232a640, event=0x48da5e0) at kernel/qcoreapplication.cpp:610
#60 0x00007f9017781eda in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2214c30)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#61 0x00007f90177aaa93 in postEventSourceDispatch (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#62 0x00007f90138f3fce in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#63 0x00007f90138f7728 in ?? () from /usr/lib/libglib-2.0.so.0
#64 0x00007f90138f789c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#65 0x00007f90177aa706 in QEventDispatcherGlib::processEvents (this=0x2214820, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:324
#66 0x00007f9016c841de in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#67 0x00007f901777fcc2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#68 0x00007f9017780094 in QEventLoop::exec (this=0x7fff33af0eb0, flags=) at kernel/qeventloop.cpp:200
#69 0x00007f9017782189 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#70 0x00007f9019f13ca0 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../apps/konqueror/src/konqmain.cpp:271
#71 0x00007f9019aef5a6 in __libc_start_main (main=0x400730 <main>, argc=3, ubp_av=0x7fff33af1b98, init=0x400760 <__libc_csu_init>, fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fff33af1b88) at libc-start.c:220
#72 0x0000000000400669 in _start () at ../sysdeps/x86_64/elf/start.S:113
Comment 1 Christoph Feck 2009-05-25 20:40:36 UTC
Reassigning
Comment 2 Christoph Feck 2010-10-14 00:27:02 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