Bug 227642

Summary: Opening an e-mail crashed Kontact
Product: [Applications] kontact Reporter: Federico Zenith <zenith.federico>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: schwarzer
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Federico Zenith 2010-02-19 10:51:21 UTC
Version:           4.4 (using KDE 4.4.0)
OS:                Linux
Installed from:    Ubuntu Packages


-- Information about the crash:
An automatic-reply email crashed my Kontact. It does that every time I try to open it.

For privacy reasons I would like not to publish the message itself on the Internet; if a developer wants its contents for testing purposes I will provide it privately.

The crash can be reproduced every time.

 -- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7730760 (LWP 24711))]

Thread 3 (Thread 0xb3ffbb70 (LWP 24714)):
#0  0x0036f422 in __kernel_vsyscall ()
#1  0x00b47142 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0x06d2c8d4 in __pthread_cond_timedwait (cond=0x9e75c90, mutex=0x9e75c78, abstime=0xb3ffb250) at forward.c:152
#3  0x0069220f in QWaitConditionPrivate::wait (this=0x9e75bdc, mutex=0x9e75bd8, time=30000) at thread/qwaitcondition_unix.cpp:85
#4  QWaitCondition::wait (this=0x9e75bdc, mutex=0x9e75bd8, time=30000) at thread/qwaitcondition_unix.cpp:159
#5  0x006862bb in QThreadPoolThread::run (this=0x9e66c20) at concurrent/qthreadpool.cpp:140
#6  0x0069132e in QThreadPrivate::start (arg=0x9e66c20) at thread/qthread_unix.cpp:248
#7  0x00b4280e in start_thread (arg=0xb3ffbb70) at pthread_create.c:300
#8  0x06d1f8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb35ffb70 (LWP 24719)):
#0  0x0036f422 in __kernel_vsyscall ()
#1  0x00b47142 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0x06d2c8d4 in __pthread_cond_timedwait (cond=0x9e75c90, mutex=0x9e75c78, abstime=0xb35ff250) at forward.c:152
#3  0x0069220f in QWaitConditionPrivate::wait (this=0x9e75bdc, mutex=0x9e75bd8, time=30000) at thread/qwaitcondition_unix.cpp:85
#4  QWaitCondition::wait (this=0x9e75bdc, mutex=0x9e75bd8, time=30000) at thread/qwaitcondition_unix.cpp:159
#5  0x006862bb in QThreadPoolThread::run (this=0x9e7fd00) at concurrent/qthreadpool.cpp:140
#6  0x0069132e in QThreadPrivate::start (arg=0x9e7fd00) at thread/qthread_unix.cpp:248
#7  0x00b4280e in start_thread (arg=0xb35ffb70) at pthread_create.c:300
#8  0x06d1f8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb7730760 (LWP 24711)):
[KCrash Handler]
#6  QAbstractItemView::d_func (this=0x4) at itemviews/qabstractitemview.h:353
#7  QAbstractItemView::model (this=0x4) at itemviews/qabstractitemview.cpp:684
#8  0x01831c82 in QTreeWidgetItem::insertChild (this=0x9b87c28, index=17, child=0xa168a68) at itemviews/qtreewidget.cpp:1897
#9  0x0183215d in QTreeWidgetItem::addChild (this=0x9b87c28, child=0xa168a68) at itemviews/qtreewidget.cpp:1882
#10 0x018325a0 in QTreeWidgetItem (this=0xa168a68, parent=0x9b87c28, type=0) at itemviews/qtreewidget.cpp:1428
#11 0xb44a02d4 in KMMimePartTreeItem (this=0xa168a68, parent=0x9b87c28, node=0xa2a2110, description=..., mimetype=..., encoding=..., size=0, revertOrder=false) at ../../kmail/kmmimeparttree.cpp:378
#12 0xb44ea8ba in partNode::fillMimePartTree (this=0xa2a2110, parentItem=0x9b87c28, mimePartTree=0x0, labelDescr=..., labelCntType=..., labelEncoding=..., size=0, revertOrder=<value optimized out>)
    at ../../kmail/partNode.cpp:549
#13 0xb44d78cd in KMail::ObjectTreeParser::insertAndParseNewChildNode (this=0xbfa2a670, startNode=..., content=0x8a93bc "", cntDesc=0xb47d2ce2 "encapsulated message", append=<value optimized out>, 
    addToTextualContent=false) at ../../kmail/objecttreeparser.cpp:232
#14 0xb44dbba9 in KMail::ObjectTreeParser::processMessageRfc822Subtype (this=0xbfa2a670, node=0x9e827d0) at ../../kmail/objecttreeparser.cpp:1582
#15 0xb44e4e5b in process (this=0x9776b70, otp=0xbfa2a670, node=0x9e827d0, result=...) at ../../kmail/bodypartformatter.cpp:116
#16 0xb44d6f0b in KMail::ObjectTreeParser::parseObjectTree (this=0xbfa2a670, node=0x9e827d0) at ../../kmail/objecttreeparser.cpp:318
#17 0xb44d7277 in KMail::ObjectTreeParser::stdChildHandling (this=0xbfa2a88c, child=0xa2346e8) at ../../kmail/objecttreeparser.cpp:1278
#18 0xb44d7671 in KMail::ObjectTreeParser::processMultiPartMixedSubtype (this=0xbfa2a88c, node=0x9d58b80) at ../../kmail/objecttreeparser.cpp:1291
#19 0xb44e4e1b in process (this=0xa1f2990, otp=0xbfa2a88c, node=0x9d58b80, result=...) at ../../kmail/bodypartformatter.cpp:118
#20 0xb44d6f0b in KMail::ObjectTreeParser::parseObjectTree (this=0xbfa2a88c, node=0x9d58b80) at ../../kmail/objecttreeparser.cpp:318
#21 0xb4335de1 in KMReaderWin::parseMsg (this=0x9beab90, aMsg=0xa136ba0) at ../../kmail/kmreaderwin.cpp:1611
#22 0xb432ad83 in KMReaderWin::displayMessage (this=0x9beab90) at ../../kmail/kmreaderwin.cpp:1535
#23 0xb432af6d in KMReaderWin::updateReaderWin (this=0x9beab90) at ../../kmail/kmreaderwin.cpp:1478
#24 0xb432b870 in KMReaderWin::update (this=0x9beab90, observable=0xa136c10) at ../../kmail/kmreaderwin.cpp:903
#25 0xb4585252 in KMail::ISubject::notify (this=0xa136c10) at ../../kmail/isubject.cpp:33
#26 0xb4232852 in KMMessage::updateBodyPart (this=0xa136ba0, partSpecifier=..., data=...) at ../../kmail/kmmessage.cpp:3185
#27 0xb4559f90 in KMail::ImapJob::slotGetMessageResult (this=0xa137440, job=0xa21c158) at ../../kmail/imapjob.cpp:435
#28 0xb455beef in KMail::ImapJob::qt_metacall (this=0xa137440, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0xbfa2ae88) at ./imapjob.moc:88
#29 0x00798f6a in QMetaObject::metacall (object=0xa137440, cl=114905857, idx=12, argv=0xbfa2ae88) at kernel/qmetaobject.cpp:237
#30 0x007a7705 in QMetaObject::activate (sender=0xa21c158, m=0x5c8c48, local_signal_index=3, argv=0xbfa2ae88) at kernel/qobject.cpp:3275
#31 0x00455d03 in KJob::result (this=0xa21c158, _t1=0xa21c158) at ./kjob.moc:194
#32 0x00456068 in KJob::emitResult (this=0xa21c158) at ../../kdecore/jobs/kjob.cpp:312
#33 0x01c1b2a0 in KIO::SimpleJob::slotFinished (this=0xa21c158) at ../../kio/kio/job.cpp:486
#34 0x01c1b7cd in KIO::TransferJob::slotFinished (this=0xa21c158) at ../../kio/kio/job.cpp:1058
#35 0x01c19953 in KIO::TransferJob::qt_metacall (this=0xa21c158, _c=QMetaObject::InvokeMetaMethod, _id=47, _a=0xbfa2b11c) at ./jobclasses.moc:367
#36 0x00798f6a in QMetaObject::metacall (object=0xa21c158, cl=114905857, idx=47, argv=0xbfa2b11c) at kernel/qmetaobject.cpp:237
#37 0x007a7705 in QMetaObject::activate (sender=0x9ceb800, m=0x1dc9f44, local_signal_index=4, argv=0x0) at kernel/qobject.cpp:3275
#38 0x01ce57f7 in KIO::SlaveInterface::finished (this=0x9ceb800) at ./slaveinterface.moc:171
#39 0x01ce8b1d in KIO::SlaveInterface::dispatch (this=0x9ceb800, _cmd=104, rawdata=...) at ../../kio/kio/slaveinterface.cpp:175
#40 0x01ce5cb3 in KIO::SlaveInterface::dispatch (this=0x9ceb800) at ../../kio/kio/slaveinterface.cpp:91
#41 0x01cd9058 in KIO::Slave::gotInput (this=0x9ceb800) at ../../kio/kio/slave.cpp:324
#42 0x01cd9263 in KIO::Slave::qt_metacall (this=0x9ceb800, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xbfa2b42c) at ./slave.moc:82
#43 0x00798f6a in QMetaObject::metacall (object=0x9ceb800, cl=114905857, idx=30, argv=0xbfa2b42c) at kernel/qmetaobject.cpp:237
#44 0x007a7705 in QMetaObject::activate (sender=0x9cec608, m=0x1dc6820, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3275
#45 0x01be3cb7 in KIO::Connection::readyRead (this=0x9cec608) at ./connection.moc:92
#46 0x01be605e in KIO::ConnectionPrivate::dequeue (this=0x9cecfa0) at ../../kio/kio/connection.cpp:82
#47 0x01be618e in KIO::Connection::qt_metacall (this=0x9cec608, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x9894ae0) at ./connection.moc:79
#48 0x00798f6a in QMetaObject::metacall (object=0x9cec608, cl=114905857, idx=5, argv=0x9894ae0) at kernel/qmetaobject.cpp:237
#49 0x007a3626 in QMetaCallEvent::placeMetaCall (this=0x9dc5250, object=0x9cec608) at kernel/qobject.cpp:561
#50 0x007a474e in QObject::event (this=0x9cec608, e=0x9dc5250) at kernel/qobject.cpp:1248
#51 0x0120d27c in QApplicationPrivate::notify_helper (this=0x9656d68, receiver=0x9cec608, e=0x9dc5250) at kernel/qapplication.cpp:4298
#52 0x01213ede in QApplication::notify (this=0xbfa2bd84, receiver=0x9cec608, e=0x9dc5250) at kernel/qapplication.cpp:3702
#53 0x00f001fa in KApplication::notify (this=0xbfa2bd84, receiver=0x9cec608, event=0x9dc5250) at ../../kdeui/kernel/kapplication.cpp:302
#54 0x00793cfb in QCoreApplication::notifyInternal (this=0xbfa2bd84, receiver=0x9cec608, event=0x9dc5250) at kernel/qcoreapplication.cpp:704
#55 0x00796733 in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x962eb68) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#56 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x962eb68) at kernel/qcoreapplication.cpp:1345
#57 0x0079689d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#58 0x007bfdef in QCoreApplication::sendPostedEvents (s=0x9651b98) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#59 postEventSourceDispatch (s=0x9651b98) at kernel/qeventdispatcher_glib.cpp:276
#60 0x090a9e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#61 0x090ad730 in ?? () from /lib/libglib-2.0.so.0
#62 0x090ad863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#63 0x007bf8e5 in QEventDispatcherGlib::processEvents (this=0x962e700, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#64 0x012cc485 in QGuiEventDispatcherGlib::processEvents (this=0x962e700, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#65 0x00792319 in QEventLoop::processEvents (this=0xbfa2bce4, flags=) at kernel/qeventloop.cpp:149
#66 0x0079276a in QEventLoop::exec (this=0xbfa2bce4, flags=...) at kernel/qeventloop.cpp:201
#67 0x0079695f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#68 0x0120d317 in QApplication::exec () at kernel/qapplication.cpp:3577
#69 0x0804b4c2 in main (argc=1, argv=0xbfa2bfa4) at ../../../kontact/src/main.cpp:224

This bug may be a duplicate of or related to bug 224414.
Comment 1 Frederik Schwarzer 2010-02-28 12:03:37 UTC
I have the same crash and it does not crash if I switch the Header to "All" in
View->Header->All.
Comment 2 Frederik Schwarzer 2010-02-28 12:11:32 UTC
Ok, I just tested a bit with several header types. It does not crash in Short, Standard or All. It only crashes with the Fancy header.
Comment 3 Torgny Nyblom 2010-02-28 19:13:35 UTC
@Frederik: Are you sure the crash is the same (same backtrace)? The backtrace posted here has nothing to do with headers but seem to indicate a bug in the handling of embedded messages.

If the backtrace differs please open a new bug and if possible attach the mail responsible for the crash.
Comment 4 Thomas McGuire 2010-02-28 19:26:07 UTC
I would bet it only crashes in the Fancy header style because that's the only style where a ContactSearchJob is exec()'d, for fetching the photo.
This exec() probably causes unexpected event loop reentrancy, which causes this crash.
Comment 5 Thomas McGuire 2010-02-28 19:30:01 UTC

*** This bug has been marked as a duplicate of bug 186502 ***