Bug 224414

Summary: [testcase mail] KMail crashes when checking some mails (spam message in moderated group) from GMail IMAP (unnamed attachment) [..., QTreeWidgetItem, KMMimePartTreeItem, partNode::fillMimePartTree]
Product: [Unmaintained] kmail Reporter: Chani <chanika>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: andresbajotierra, julian, kaysimon
Priority: NOR    
Version: 1.13.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Chani 2010-01-27 00:32:34 UTC
Application: kmail (1.13.0)
KDE Platform Version: 4.4.60 (KDE 4.4.60 (KDE 4.5 >= 20100120)) (Compiled from sources)
Qt Version: 4.6.1
Operating System: Linux 2.6.30-ARCH i686

-- Information about the crash:
I've got three identical emails from google groups about a spammer attempting to send mail to my moderated group. all three crash kmail every time.
I'm using 4.4 branch from.. sometime during campkde.
I haven't tested any of the older message-pending emails yet (google groups is spammy, but I know they didn't crash trunk before).

I can forward the email to someone from the gmail web interface if that's useful, but I dunno how much data it'll preserve.

The crash can be reproduced every time.

 -- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
[KCrash Handler]
#6  0xb5890b64 in QListData::size (this=0xb6ecf98) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/tools/qlist.h:90
#7  0xb5f8350d in QList<QTreeWidgetItem*>::count (this=0xb6ecf98) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/tools/qlist.h:261
#8  0xb5f7dbc7 in QTreeWidgetItem::addChild (this=0xb6ecf80, child=0xc339ef0) at /home/chani/src/kde-qt/src/gui/itemviews/qtreewidget.cpp:1882
#9  0xb5f7b447 in QTreeWidgetItem (this=0xc339ef0, parent=0xb6ecf80, type=0) at /home/chani/src/kde-qt/src/gui/itemviews/qtreewidget.cpp:1428
#10 0xb752397c in KMMimePartTreeItem (this=0xc339ef0, parent=0xb6ecf80, node=0xc2e7d28, description=@0xbfefdaf0, mimetype=@0xbfefdaec, encoding=@0xbfefdae8, size=0, revertOrder=false)
    at /home/chani/src/kdepim/kmail/kmmimeparttree.cpp:378
#11 0xb75614f0 in partNode::fillMimePartTree (this=0xc2e7d28, parentItem=0xb6ecf80, mimePartTree=0x0, labelDescr=@0xbfefdc28, labelCntType=@0xbfefdc24, labelEncoding=@0xbfefdc20, size=0, 
    revertOrder=false) at /home/chani/src/kdepim/kmail/partNode.cpp:549
#12 0xb753f3da in KMail::ObjectTreeParser::insertAndParseNewChildNode (this=0xbfefdf1c, startNode=@0xc32f258, content=0xb66cb0c0 "", cntDesc=0xb779a844 "encapsulated message", append=false, 
    addToTextualContent=false) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:232
#13 0xb75486db in KMail::ObjectTreeParser::processMessageRfc822Subtype (this=0xbfefdf1c, node=0xc32f258) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:1582
#14 0xb7559cb9 in process (this=0xb00c1a8, otp=0xbfefdf1c, node=0xc32f258, result=@0xbfefde98) at /home/chani/src/kdepim/kmail/bodypartformatter.cpp:116
#15 0xb753fbd6 in KMail::ObjectTreeParser::parseObjectTree (this=0xbfefdf1c, node=0xc32f258) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:318
#16 0xb7546e5f in KMail::ObjectTreeParser::stdChildHandling (this=0xbfefe110, child=0xc2c0738) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:1278
#17 0xb7546fe9 in KMail::ObjectTreeParser::processMultiPartMixedSubtype (this=0xbfefe110, node=0xc2f7858) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:1291
#18 0xb7559d69 in process (this=0xc245868, otp=0xbfefe110, node=0xc2f7858, result=@0xbfefe018) at /home/chani/src/kdepim/kmail/bodypartformatter.cpp:118
#19 0xb753fbd6 in KMail::ObjectTreeParser::parseObjectTree (this=0xbfefe110, node=0xc2f7858) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:318
#20 0xb73c29e0 in KMReaderWin::parseMsg (this=0xa6cba48, aMsg=0xc2bb780) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:1611
#21 0xb73c1f10 in KMReaderWin::displayMessage (this=0xa6cba48) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:1535
#22 0xb73c1a06 in KMReaderWin::updateReaderWin (this=0xa6cba48) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:1478
#23 0xb73be501 in KMReaderWin::update (this=0xa6cba48, observable=0xc2bb7f0) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:903
#24 0xb75f09ef in KMail::ISubject::notify (this=0xc2bb7f0) at /home/chani/src/kdepim/kmail/isubject.cpp:33
#25 0xb72d7a68 in KMMessage::updateBodyPart (this=0xc2bb780, partSpecifier=
      {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 361404}, alloc = 0, size = 0, data = 0xb66cb19a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 483}, alloc = 0, size = 0, data = 0xb66cb1ae, clean = 1, simpletext = 1, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0xb504ba0, static codecForCStrings = 0x0}, data=@0xb03b230) at /home/chani/src/kdepim/kmail/kmmessage.cpp:3185
#26 0xb75ccf15 in KMail::ImapJob::slotGetMessageResult (this=0xb097360, job=0xc2a17b0) at /home/chani/src/kdepim/kmail/imapjob.cpp:435
#27 0xb75ce501 in KMail::ImapJob::qt_metacall (this=0xb097360, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfefe6c8) at /home/chani/build/kdepim/kmail/imapjob.moc:88
#28 0xb656b77c in QMetaObject::metacall (object=0xb097360, cl=QMetaObject::InvokeMetaMethod, idx=12, argv=0xbfefe6c8) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#29 0xb657f774 in QMetaObject::activate (sender=0xc2a17b0, m=0xb7bde368, local_signal_index=3, argv=0xbfefe6c8) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:3283
#30 0xb7a2cc28 in KJob::result (this=0xc2a17b0, _t1=0xc2a17b0) at /home/chani/build/kdelibs/kdecore/kjob.moc:194
#31 0xb7a2c237 in KJob::emitResult (this=0xc2a17b0) at /home/chani/src/kdelibs/kdecore/jobs/kjob.cpp:312
#32 0xb6894327 in KIO::SimpleJob::slotFinished (this=0xc2a17b0) at /home/chani/src/kdelibs/kio/kio/job.cpp:477
#33 0xb6896f23 in KIO::TransferJob::slotFinished (this=0xc2a17b0) at /home/chani/src/kdelibs/kio/kio/job.cpp:979
#34 0xb689eb50 in KIO::TransferJob::qt_metacall (this=0xc2a17b0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfefe930) at /home/chani/build/kdelibs/kio/jobclasses.moc:367
#35 0xb656b77c in QMetaObject::metacall (object=0xc2a17b0, cl=QMetaObject::InvokeMetaMethod, idx=47, argv=0xbfefe930) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#36 0xb657f774 in QMetaObject::activate (sender=0xa719af8, m=0xb6a9cd44, local_signal_index=4, argv=0x0) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:3283
#37 0xb695dfe3 in KIO::SlaveInterface::finished (this=0xa719af8) at /home/chani/build/kdelibs/kio/slaveinterface.moc:171
#38 0xb695b8d2 in KIO::SlaveInterface::dispatch (this=0xa719af8, _cmd=104, rawdata=@0xbfefeaf0) at /home/chani/src/kdelibs/kio/kio/slaveinterface.cpp:175
#39 0xb695b574 in KIO::SlaveInterface::dispatch (this=0xa719af8) at /home/chani/src/kdelibs/kio/kio/slaveinterface.cpp:91
#40 0xb69511d0 in KIO::Slave::gotInput (this=0xa719af8) at /home/chani/src/kdelibs/kio/kio/slave.cpp:344
#41 0xb695229c in KIO::Slave::qt_metacall (this=0xa719af8, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfefebf0) at /home/chani/build/kdelibs/kio/slave.moc:82
#42 0xb656b77c in QMetaObject::metacall (object=0xa719af8, cl=QMetaObject::InvokeMetaMethod, idx=30, argv=0xbfefebf0) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#43 0xb657f774 in QMetaObject::activate (sender=0xab20ec8, m=0xb6a99524, local_signal_index=0, argv=0x0) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:3283
#44 0xb6865f4d in KIO::Connection::readyRead (this=0xab20ec8) at /home/chani/build/kdelibs/kio/connection.moc:92
#45 0xb686286d in KIO::ConnectionPrivate::dequeue (this=0xaab5c08) at /home/chani/src/kdelibs/kio/kio/connection.cpp:82
#46 0xb6865eda in KIO::Connection::qt_metacall (this=0xab20ec8, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xc29e640) at /home/chani/build/kdelibs/kio/connection.moc:79
#47 0xb656b77c in QMetaObject::metacall (object=0xab20ec8, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0xc29e640) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#48 0xb65796b3 in QMetaCallEvent::placeMetaCall (this=0xc3384e0, object=0xab20ec8) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:573
#49 0xb657b901 in QObject::event (this=0xab20ec8, e=0xc3384e0) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:1259
#50 0xb58a077c in QApplicationPrivate::notify_helper (this=0x9fe75f0, receiver=0xab20ec8, e=0xc3384e0) at /home/chani/src/kde-qt/src/gui/kernel/qapplication.cpp:4253
#51 0xb589df3f in QApplication::notify (this=0xbfeff734, receiver=0xab20ec8, e=0xc3384e0) at /home/chani/src/kde-qt/src/gui/kernel/qapplication.cpp:3663
#52 0xb7dc0690 in KApplication::notify (this=0xbfeff734, receiver=0xab20ec8, event=0xc3384e0) at /home/chani/src/kdelibs/kdeui/kernel/kapplication.cpp:302
#53 0xb65641c9 in QCoreApplication::notifyInternal (this=0xbfeff734, receiver=0xab20ec8, event=0xc3384e0) at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:704
#54 0xb6567ca1 in QCoreApplication::sendEvent (receiver=0xab20ec8, event=0xc3384e0) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/kernel/qcoreapplication.h:215
#55 0xb656527d in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9f9d2d8) at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:1345
#56 0xb6564f35 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:1238
#57 0xb659c1ce in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../../src/kde-qt/src/corelib/kernel/qcoreapplication.h:220
#58 0xb659aabc in postEventSourceDispatch (s=0x9fe8fa0) at /home/chani/src/kde-qt/src/corelib/kernel/qeventdispatcher_glib.cpp:276
#59 0xb3119d98 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#60 0xb311d3e0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#61 0xb311d513 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#62 0xb659bab8 in QEventDispatcherGlib::processEvents (this=0x9fdbd80, flags={i = 36}) at /home/chani/src/kde-qt/src/corelib/kernel/qeventdispatcher_glib.cpp:407
#63 0xb59754a8 in QGuiEventDispatcherGlib::processEvents (this=0x9fdbd80, flags={i = 36}) at /home/chani/src/kde-qt/src/gui/kernel/qguieventdispatcher_glib.cpp:202
#64 0xb65615d3 in QEventLoop::processEvents (this=0xbfeff5ec, flags={i = 36}) at /home/chani/src/kde-qt/src/corelib/kernel/qeventloop.cpp:149
#65 0xb6561718 in QEventLoop::exec (this=0xbfeff5ec, flags={i = 0}) at /home/chani/src/kde-qt/src/corelib/kernel/qeventloop.cpp:201
#66 0xb65648a5 in QCoreApplication::exec () at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:981
#67 0xb589db62 in QApplication::exec () at /home/chani/src/kde-qt/src/gui/kernel/qapplication.cpp:3572
#68 0x0804b287 in main (argc=3, argv=0xbfeff854) at /home/chani/src/kdepim/kmail/main.cpp:156

Reported using DrKonqi
Comment 1 Chani 2010-01-27 00:40:02 UTC
the older message-pending mails crash it too. they don't look unusual in gmail, just a plaintext email with an unnamed attachment containing the pending message.
Comment 2 Dario Andres 2010-01-28 23:02:47 UTC
The backtrace seems related/the same as bug 186502.
I have seen other crashes mentioning a "unnamed attachment" (but I can't find them)
Regards
Comment 3 Julian Bäume 2010-02-04 09:47:23 UTC
moin,
I think, I experience this bug, since upgrading to KDE >4.3.60. I played around with a message crashing kmail. I deleted the message and opened it from my wastebin (which is a local folder, not stored on IMAP) and there it doesn't crash. Then I copied it back onto my IMAP account (into any folder) and after opening the mail, kmail crashes with exactly this backtrace, again.

I can also view this test-message fine on another computer running KDE 4.3.4 on both, IMAP and local folders. I can confirm that this mail contains an attachment with 0 byte size. At least kmail reports it to be 0 byte. In my local trash folder it isn't. In my stable KDE install, it also shows 0 byte in IMAP folders and non-zero, when viewed from a local folder.

May be this helps, tracking this down.

bye then
julian
Comment 4 Julian Bäume 2010-02-04 10:03:08 UTC
hey,
I played around with this some more and found a work-around. It only crashes when opening the mail with "View -> Attachments" set to "Smart". Everything else works fine. It also doesn't crash when the message is open and I change the view-setting to "Smart".

I was only able to reproduce this with the "original" message. I tried all forms of "forwarding" kmail offers and it changed the mail in a way, that it didn't crash anymore.

I'll disable "Smart"-view for now and see if some other mail still produces this bug.

bye then
julian
Comment 5 Dario Andres 2010-02-15 15:15:15 UTC
*** Bug 226956 has been marked as a duplicate of this bug. ***
Comment 6 Thomas McGuire 2010-02-28 19:37:27 UTC

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