Bug 224154 - kontact crashed when I switched to another mail folder in kmail
Summary: kontact crashed when I switched to another mail folder in kmail
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-25 12:11 UTC by Christian Trippe
Modified: 2010-06-07 02:17 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Trippe 2010-01-25 12:11:02 UTC
Application: kontact (4.4 rc2)
KDE Platform Version: 4.3.95 (KDE 4.3.95 (KDE 4.4 RC2)) "release 214"
Qt Version: 4.6.1
Operating System: Linux 2.6.31.8-0.1-default i686
Distribution: "openSUSE 11.2 (i586)"

-- Information about the crash:
kontact crashed when I switched to another mail folder in kmail

I changed to this folder quickly after I had received some new mails in it.

 -- Backtrace:
Application: Kontact (kontact), signal: Aborted
[Current thread is 1 (Thread 0xb3352980 (LWP 31687))]

Thread 2 (Thread 0xaf047b70 (LWP 620)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb5e8f5e3 in ?? () from /lib/libc.so.6
#2  0xb5e22871 in ?? () from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0xb3352980 (LWP 31687)):
[KCrash Handler]
#6  0xffffe430 in __kernel_vsyscall ()
#7  0xb5dda0cf in raise () from /lib/libc.so.6
#8  0xb5ddb9e7 in abort () from /lib/libc.so.6
#9  0xb5e164ed in ?? () from /lib/libc.so.6
#10 0xb5e1c50b in ?? () from /lib/libc.so.6
#11 0xb5e1dde4 in ?? () from /lib/libc.so.6
#12 0xb5e20fdd in free () from /lib/libc.so.6
#13 0xb6aff59b in qFree (ptr=0x9eecb10) at global/qmalloc.cpp:60
#14 0xb63746c9 in QX11PaintEnginePrivate::~QX11PaintEnginePrivate() () from /usr/lib/libQtGui.so.4
#15 0xb629c7f4 in cleanup (pointer=<value optimized out>) at ../../src/corelib/tools/qscopedpointer.h:62
#16 ~QScopedPointer (pointer=<value optimized out>) at ../../src/corelib/tools/qscopedpointer.h:100
#17 QPaintEngine::~QPaintEngine (pointer=<value optimized out>) at painting/qpaintengine.cpp:722
#18 0xb6368bcf in QX11PaintEngine::~QX11PaintEngine (this=0xa155d20, __in_chrg=<value optimized out>) at painting/qpaintengine_x11.cpp:469
#19 0xb624432d in QX11PixmapData::release (this=0x8f919c8) at image/qpixmap_x11.cpp:1236
#20 0xb6244c31 in QX11PixmapData::~QX11PixmapData (this=0x8f919c8, __in_chrg=<value optimized out>) at image/qpixmap_x11.cpp:1231
#21 0xb6230789 in ~QExplicitlySharedDataPointer (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../src/corelib/tools/qshareddata.h:159
#22 QPixmap::~QPixmap (this=<value optimized out>, __in_chrg=<value optimized out>) at image/qpixmap.cpp:325
#23 0xb30fd78a in QVector<QPixmap>::free (this=0xa45c0ac, x=0x9e534b0) at /usr/include/QtCore/qvector.h:436
#24 0xb30fd7f5 in ~QVector (this=<value optimized out>, __in_chrg=<value optimized out>) at /usr/include/QtCore/qvector.h:119
#25 TileSet::~TileSet (this=<value optimized out>, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/lib/tileset.h:69
#26 0xb310b45c in unlink (n=<value optimized out>, this=<value optimized out>) at /usr/include/QtCore/qcache.h:75
#27 trim (n=<value optimized out>, this=<value optimized out>) at /usr/include/QtCore/qcache.h:209
#28 QCache<unsigned long long, TileSet>::insert (n=<value optimized out>, this=<value optimized out>) at /usr/include/QtCore/qcache.h:188
#29 0xb310cb7c in OxygenStyleHelper::holeFocused (this=0x80bd390, color=..., glowColor=..., shade=0, size=7) at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/helper.cpp:849
#30 0xb3136393 in OxygenStyle::renderHole (this=0x80ae290, p=0xbfc14b8c, base=..., r=..., focus=false, hover=true, opacity=0.59599999999999997, animationMode=<value optimized out>, posFlags=)
    at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/oxygen.cpp:3790
#31 0xb31432e1 in renderHole (posFlags=<value optimized out>, hover=<value optimized out>, focus=<value optimized out>, r=<value optimized out>, color=<value optimized out>, p=<value optimized out>, 
    this=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/oxygen.h:241
#32 OxygenStyle::drawGenericPrimitive (posFlags=<value optimized out>, hover=<value optimized out>, focus=<value optimized out>, r=<value optimized out>, color=<value optimized out>, 
    p=<value optimized out>, this=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/oxygen.cpp:3182
#33 0xb31386b6 in OxygenStyle::drawKStylePrimitive (this=0x80ae290, widgetType=WT_Generic, primitive=65538, opt=0xbfc14b14, r=..., palette=..., flags=..., p=0xbfc14b8c, widget=0x87d5ff8, kOpt=0x0)
    at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/oxygen.cpp:698
#34 0xb7112e60 in KStyle::drawPrimitive (this=0x80ae290, elem=PE_Frame, option=0xbfc14b14, painter=0xbfc14b8c, widget=0x87d5ff8) at /usr/src/debug/kdelibs-4.3.95/kdeui/kernel/kstyle.cpp:1155
#35 0xb3138dfb in OxygenStyle::drawPrimitive (this=0x80ae290, element=PE_Q3CheckListController, option=0xbfc14b14, p=0xbfc14b8c, widget=0x87d5ff8)
    at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/oxygen.cpp:446
#36 0xb64989c3 in QCommonStyle::drawControl (this=0x80ae290, element=CE_PushButton, opt=0xbfc14b14, p=0xbfc14b8c, widget=0x87d5ff8) at styles/qcommonstyle.cpp:2263
#37 0xb71aadff in KStyle::drawControl (this=0x80ae290, element=CE_ShapedFrame, option=0xbfc14b14, p=0xbfc14b8c, widget=0x87d5ff8) at /usr/src/debug/kdelibs-4.3.95/kdeui/kernel/kstyle.cpp:2502
#38 0xb313ef45 in OxygenStyle::drawControl (this=0x80ae290, element=CE_PushButton, option=0xbfc14b14, p=0xbfc14b8c, widget=0x87d5ff8)
    at /usr/src/debug/kdebase-runtime-4.3.95/kstyles/oxygen/oxygen.cpp:568
#39 0xb65a463c in QFrame::drawFrame (this=0x87d5ff8, p=0x7bc7) at widgets/qframe.cpp:534
#40 0xb65a46ed in QFrame::paintEvent (this=0x87d5ff8) at widgets/qframe.cpp:496
#41 0xb6642004 in QAbstractScrollArea::event (this=0x87d5ff8, e=0xbfc15294) at widgets/qabstractscrollarea.cpp:938
#42 0xb66f27ac in QAbstractItemView::event (this=0x87d5ff8, event=0xbfc15294) at itemviews/qabstractitemview.cpp:1539
#43 0xb67809dc in QTreeWidget::event (this=0x87d5ff8, e=0xbfc15294) at itemviews/qtreewidget.cpp:3443
#44 0xafa697cc in KMail::FolderView::event (this=0x87d5ff8, e=0x0) at /usr/src/debug/kdepim-4.3.95/kmail/folderview.cpp:1113
#45 0xb61382ac in QApplicationPrivate::notify_helper (this=0x807a820, receiver=0x87d5ff8, e=0xbfc15294) at kernel/qapplication.cpp:4298
#46 0xb613f188 in QApplication::notify (this=0x87d5ff8, receiver=0x87d5ff8, e=0xbfc15294) at kernel/qapplication.cpp:4263
#47 0xb712c511 in KApplication::notify (this=0xbfc17914, receiver=0x87d5ff8, event=0xbfc15294) at /usr/src/debug/kdelibs-4.3.95/kdeui/kernel/kapplication.cpp:302
#48 0xb6c0dfbe in QCoreApplication::notifyInternal (this=0xbfc17914, receiver=0x87d5ff8, event=0xbfc15294) at kernel/qcoreapplication.cpp:704
#49 0xb61a1ccc in sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:218
#50 QWidgetPrivate::drawWidget (event=<value optimized out>, receiver=<value optimized out>) at kernel/qwidget.cpp:5321
#51 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#52 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x87f0a38, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#53 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#54 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x8849c08, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#55 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#56 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x8839828, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#57 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=109, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#58 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x869bbd8, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#59 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#60 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x8694a38, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#61 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=4, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#62 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x8153de0, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#63 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#64 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x807a920, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#65 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#66 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x8079e70, pdev=0x8341efc, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#67 0xb61a2a69 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8341efc, siblings=..., index=5, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x831b750)
    at kernel/qwidget.cpp:5434
#68 0xb61a1a18 in QWidgetPrivate::drawWidget (this=0x80de920, pdev=0x8341efc, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x831b750) at kernel/qwidget.cpp:5370
#69 0xb63831e8 in QWidgetBackingStore::sync (this=0x831b750) at painting/qbackingstore.cpp:1291
#70 0xb6191beb in QWidgetPrivate::syncBackingStore (this=0x80de920) at kernel/qwidget.cpp:1663
#71 0xb61991d4 in QWidget::event (this=0x80de838, event=0x8f56590) at kernel/qwidget.cpp:8271
#72 0xb65c3964 in QMainWindow::event (this=0x80de838, event=0x8f56590) at widgets/qmainwindow.cpp:1435
#73 0xb71e5c14 in KMainWindow::event (this=0x80de838, ev=0x8f56590) at /usr/src/debug/kdelibs-4.3.95/kdeui/widgets/kmainwindow.cpp:1103
#74 0xb7208692 in KXmlGuiWindow::event (this=0x80de838, ev=0x8f56590) at /usr/src/debug/kdelibs-4.3.95/kdeui/xmlgui/kxmlguiwindow.cpp:131
#75 0xb61382ac in QApplicationPrivate::notify_helper (this=0x807a820, receiver=0x80de838, e=0x8f56590) at kernel/qapplication.cpp:4298
#76 0xb613f188 in QApplication::notify (this=0x80de838, receiver=0x80de838, e=0x8f56590) at kernel/qapplication.cpp:4263
#77 0xb712c511 in KApplication::notify (this=0xbfc17914, receiver=0x80de838, event=0x8f56590) at /usr/src/debug/kdelibs-4.3.95/kdeui/kernel/kapplication.cpp:302
#78 0xb6c0dfbe in QCoreApplication::notifyInternal (this=0xbfc17914, receiver=0x80de838, event=0x8f56590) at kernel/qcoreapplication.cpp:704
#79 0xb6c109c3 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:215
#80 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1345
#81 0xb6c10b1c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#82 0xb6c3b04d in sendPostedEvents () at kernel/qcoreapplication.h:220
#83 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:276
#84 0xb3fa74c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#85 0xb3faad98 in ?? () from /usr/lib/libglib-2.0.so.0
#86 0xb3faaebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#87 0xb6c3ab31 in QEventDispatcherGlib::processEvents (this=0x8057068, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#88 0xb61f86ca in QGuiEventDispatcherGlib::processEvents (this=0x8057068, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#89 0xb6c0c62d in QEventLoop::processEvents (this=0xbfc17874, flags=) at kernel/qeventloop.cpp:149
#90 0xb6c0ca79 in QEventLoop::exec (this=0xbfc17874, flags=...) at kernel/qeventloop.cpp:201
#91 0xb6c10bf0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#92 0xb6138354 in QApplication::exec () at kernel/qapplication.cpp:3577
#93 0x0804b506 in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2010-01-28 23:13:57 UTC
This could be related to Oxygen or to the glibc bug.
- Have you tried to repeat the situation to check if Kontact crash again ?
Regards
Comment 2 Christian Trippe 2010-01-29 06:45:08 UTC
I do change my email folders several times a day. And I had only one other crash so far, so it is reproducible but not easily.
Comment 3 Hugo Pereira Da Costa 2010-03-28 06:24:54 UTC
this really seems a Qt bug to me. Occurs at deletion of tileSet (generated automatically by cleaning a QCache, not by oxygen, so should be in the hand of Qt), and more precisely of QPixmaps stored in a QVector inside TileSet. There is no pointers involved inside TileSet and everything should be allocated on the stack (making it impossible to e.g. deleting the same QPixmap twice). Except that Qt shares pixmap in the background, allocates them on the heap, and is supposed to handle their deletion nicely, which crashes here ...
Comment 4 Hugo Pereira Da Costa 2010-03-28 06:25:38 UTC
PS: anyway I have it on my todo list to run valgrind on oxygen and see what happens ...
Comment 5 Hugo Pereira Da Costa 2010-03-29 02:41:55 UTC
ok. I did my job. Ran valgrind (on "bespin demo" application). 
Made a couple of commits and backported them, (especially one that might have fixed some double deletion of some guy in some rare cases), but all in all, valgrind is pretty happy with oxygen. 

Keep me posted if this still happens with kde4.4.3 (or kde from trunk), or close the bug otherwise.
Comment 6 Christophe Marin 2010-06-07 02:17:34 UTC
No feedback during the last 2 months. Let's close this report.