Bug 226921

Summary: crash on specific email (no attachment)
Product: [Unmaintained] kmail Reporter: Chani <chanika>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: andresbajotierra, oakad
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Chani 2010-02-15 03:53:36 UTC
Application: kmail (1.13.0)
KDE Platform Version: 4.4.63 (KDE 4.4.63 (KDE 4.5 >= 20100209)) (Compiled from sources)
Qt Version: 4.6.1
Operating System: Linux 2.6.30-ARCH i686

-- Information about the crash:
I got one of those annoying happy-chain-mail messages forwarded from a relative, and it's crashing kmail every time.
in gmail the message has html and animations (and god knows what else, I just skimmed it), but apparently no attachments, so I don't think it's the unnamed-attachment bug.

anyone want me to forward it somewhere?

The crash can be reproduced every time.

 -- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
[KCrash Handler]
#6  0xb58a3db8 in QListData::size (this=0x9c77308) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/tools/qlist.h:90
#7  0xb5f98f6d in QList<QTreeWidgetItem*>::count (this=0x9c77308) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/tools/qlist.h:261
#8  0xb5f93627 in QTreeWidgetItem::addChild (this=0x9c772f0, child=0x96ac958) at /home/chani/src/kde-qt/src/gui/itemviews/qtreewidget.cpp:1882
#9  0xb5f90ea7 in QTreeWidgetItem (this=0x96ac958, parent=0x9c772f0, type=0) at /home/chani/src/kde-qt/src/gui/itemviews/qtreewidget.cpp:1428
#10 0xb7541a4c in KMMimePartTreeItem (this=0x96ac958, parent=0x9c772f0, node=0x97dc6b8, description=@0xbf840f30, mimetype=@0xbf840f2c, encoding=@0xbf840f28, size=0, revertOrder=false)
    at /home/chani/src/kdepim/kmail/kmmimeparttree.cpp:378
#11 0xb757f5d4 in partNode::fillMimePartTree (this=0x97dc6b8, parentItem=0x9c772f0, mimePartTree=0x0, labelDescr=@0xbf841068, labelCntType=@0xbf841064, labelEncoding=@0xbf841060, size=0, 
    revertOrder=false) at /home/chani/src/kdepim/kmail/partNode.cpp:549
#12 0xb755d4be in KMail::ObjectTreeParser::insertAndParseNewChildNode (this=0xbf84135c, startNode=@0x9a4a028, content=0xb66e60bc "", cntDesc=0xb77b8c04 "encapsulated message", append=false, 
    addToTextualContent=false) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:232
#13 0xb75667bf in KMail::ObjectTreeParser::processMessageRfc822Subtype (this=0xbf84135c, node=0x9a4a028) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:1582
#14 0xb7577d9d in process (this=0xae7eff0, otp=0xbf84135c, node=0x9a4a028, result=@0xbf8412d8) at /home/chani/src/kdepim/kmail/bodypartformatter.cpp:116
#15 0xb755dcba in KMail::ObjectTreeParser::parseObjectTree (this=0xbf84135c, node=0x9a4a028) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:318
#16 0xb7564f43 in KMail::ObjectTreeParser::stdChildHandling (this=0xbf841550, child=0x9a49e30) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:1278
#17 0xb75650cd in KMail::ObjectTreeParser::processMultiPartMixedSubtype (this=0xbf841550, node=0x9a49d88) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:1291
#18 0xb7577e4d in process (this=0x97b9e90, otp=0xbf841550, node=0x9a49d88, result=@0xbf841458) at /home/chani/src/kdepim/kmail/bodypartformatter.cpp:118
#19 0xb755dcba in KMail::ObjectTreeParser::parseObjectTree (this=0xbf841550, node=0x9a49d88) at /home/chani/src/kdepim/kmail/objecttreeparser.cpp:318
#20 0xb73e0a54 in KMReaderWin::parseMsg (this=0x91de020, aMsg=0xaf929a0) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:1611
#21 0xb73dff84 in KMReaderWin::displayMessage (this=0x91de020) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:1535
#22 0xb73dfa7a in KMReaderWin::updateReaderWin (this=0x91de020) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:1478
#23 0xb73dc575 in KMReaderWin::update (this=0x91de020, observable=0xaf92a10) at /home/chani/src/kdepim/kmail/kmreaderwin.cpp:903
#24 0xb760eb17 in KMail::ISubject::notify (this=0xaf92a10) at /home/chani/src/kdepim/kmail/isubject.cpp:33
#25 0xb72f5ab8 in KMMessage::updateBodyPart (this=0xaf929a0, partSpecifier=
      {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 365658}, alloc = 0, size = 0, data = 0xb66e617a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 469}, alloc = 0, size = 0, data = 0xb66e618e, clean = 1, simpletext = 1, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0xa0cc300, static codecForCStrings = 0x0}, data=@0xa1c0890) at /home/chani/src/kdepim/kmail/kmmessage.cpp:3185
#26 0xb75eb03d in KMail::ImapJob::slotGetMessageResult (this=0x9b7f1a0, job=0x97db840) at /home/chani/src/kdepim/kmail/imapjob.cpp:435
#27 0xb75ec629 in KMail::ImapJob::qt_metacall (this=0x9b7f1a0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf841b08) at /home/chani/build/kdepim/kmail/imapjob.moc:88
#28 0xb6585bb8 in QMetaObject::metacall (object=0x9b7f1a0, cl=QMetaObject::InvokeMetaMethod, idx=12, argv=0xbf841b08) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#29 0xb6599c2a in QMetaObject::activate (sender=0x97db840, m=0xb7bff948, local_signal_index=3, argv=0xbf841b08) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:3275
#30 0xb7a4c6e4 in KJob::result (this=0x97db840, _t1=0x97db840) at /home/chani/build/kdelibs/kdecore/kjob.moc:194
#31 0xb7a4bcf3 in KJob::emitResult (this=0x97db840) at /home/chani/src/kdelibs/kdecore/jobs/kjob.cpp:312
#32 0xb68b0ae5 in KIO::SimpleJob::slotFinished (this=0x97db840) at /home/chani/src/kdelibs/kio/kio/job.cpp:491
#33 0xb68b3ba9 in KIO::TransferJob::slotFinished (this=0x97db840) at /home/chani/src/kdelibs/kio/kio/job.cpp:1064
#34 0xb68bb316 in KIO::TransferJob::qt_metacall (this=0x97db840, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbf841d70) at /home/chani/build/kdelibs/kio/jobclasses.moc:367
#35 0xb6585bb8 in QMetaObject::metacall (object=0x97db840, cl=QMetaObject::InvokeMetaMethod, idx=47, argv=0xbf841d70) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#36 0xb6599c2a in QMetaObject::activate (sender=0x9378ec0, m=0xb6abad64, local_signal_index=4, argv=0x0) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:3275
#37 0xb697ab2b in KIO::SlaveInterface::finished (this=0x9378ec0) at /home/chani/build/kdelibs/kio/slaveinterface.moc:171
#38 0xb697841a in KIO::SlaveInterface::dispatch (this=0x9378ec0, _cmd=104, rawdata=@0xbf841f30) at /home/chani/src/kdelibs/kio/kio/slaveinterface.cpp:175
#39 0xb69780bc in KIO::SlaveInterface::dispatch (this=0x9378ec0) at /home/chani/src/kdelibs/kio/kio/slaveinterface.cpp:91
#40 0xb696dd18 in KIO::Slave::gotInput (this=0x9378ec0) at /home/chani/src/kdelibs/kio/kio/slave.cpp:344
#41 0xb696ede4 in KIO::Slave::qt_metacall (this=0x9378ec0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf842030) at /home/chani/build/kdelibs/kio/slave.moc:82
#42 0xb6585bb8 in QMetaObject::metacall (object=0x9378ec0, cl=QMetaObject::InvokeMetaMethod, idx=30, argv=0xbf842030) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#43 0xb6599c2a in QMetaObject::activate (sender=0x937dca8, m=0xb6ab7544, local_signal_index=0, argv=0x0) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:3275
#44 0xb688255d in KIO::Connection::readyRead (this=0x937dca8) at /home/chani/build/kdelibs/kio/connection.moc:92
#45 0xb687ee7d in KIO::ConnectionPrivate::dequeue (this=0x937eb30) at /home/chani/src/kdelibs/kio/kio/connection.cpp:82
#46 0xb68824ea in KIO::Connection::qt_metacall (this=0x937dca8, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x97bbce0) at /home/chani/build/kdelibs/kio/connection.moc:79
#47 0xb6585bb8 in QMetaObject::metacall (object=0x937dca8, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0x97bbce0) at /home/chani/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#48 0xb6593b77 in QMetaCallEvent::placeMetaCall (this=0xb001220, object=0x937dca8) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:561
#49 0xb6595dc5 in QObject::event (this=0x937dca8, e=0xb001220) at /home/chani/src/kde-qt/src/corelib/kernel/qobject.cpp:1248
#50 0xb58b3a96 in QApplicationPrivate::notify_helper (this=0x8af86e0, receiver=0x937dca8, e=0xb001220) at /home/chani/src/kde-qt/src/gui/kernel/qapplication.cpp:4298
#51 0xb58b11d8 in QApplication::notify (this=0xbf842b74, receiver=0x937dca8, e=0xb001220) at /home/chani/src/kde-qt/src/gui/kernel/qapplication.cpp:3702
#52 0xb7de2c9c in KApplication::notify (this=0xbf842b74, receiver=0x937dca8, event=0xb001220) at /home/chani/src/kdelibs/kdeui/kernel/kapplication.cpp:302
#53 0xb657e605 in QCoreApplication::notifyInternal (this=0xbf842b74, receiver=0x937dca8, event=0xb001220) at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:704
#54 0xb65820dd in QCoreApplication::sendEvent (receiver=0x937dca8, event=0xb001220) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/kernel/qcoreapplication.h:215
#55 0xb657f6b9 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8aae258) at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:1345
#56 0xb657f371 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:1238
#57 0xb65b66b6 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../../src/kde-qt/src/corelib/kernel/qcoreapplication.h:220
#58 0xb65b4f94 in postEventSourceDispatch (s=0x8afa920) at /home/chani/src/kde-qt/src/corelib/kernel/qeventdispatcher_glib.cpp:276
#59 0xb3125d98 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#60 0xb31293e0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#61 0xb3129513 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#62 0xb65b5fa0 in QEventDispatcherGlib::processEvents (this=0x8aef468, flags={i = 36}) at /home/chani/src/kde-qt/src/corelib/kernel/qeventdispatcher_glib.cpp:412
#63 0xb5988d06 in QGuiEventDispatcherGlib::processEvents (this=0x8aef468, flags={i = 36}) at /home/chani/src/kde-qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#64 0xb657b9df in QEventLoop::processEvents (this=0xbf842a2c, flags={i = 36}) at /home/chani/src/kde-qt/src/corelib/kernel/qeventloop.cpp:149
#65 0xb657bb24 in QEventLoop::exec (this=0xbf842a2c, flags={i = 0}) at /home/chani/src/kde-qt/src/corelib/kernel/qeventloop.cpp:201
#66 0xb657ece1 in QCoreApplication::exec () at /home/chani/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:981
#67 0xb58b0de6 in QApplication::exec () at /home/chani/src/kde-qt/src/gui/kernel/qapplication.cpp:3577
#68 0x0804b287 in main (argc=3, argv=0xbf842c94) at /home/chani/src/kdepim/kmail/main.cpp:156

Reported using DrKonqi
Comment 1 Torgny Nyblom 2010-02-15 10:20:38 UTC
If you can please attach the mail to this bug, otherwise you can sent it to me.
Either way please make sure that you attach/send the complete unchanged message.
Comment 2 Dario Andres 2010-02-15 20:08:32 UTC
Seems related to bug 186502 / bug 224414. Regards
Comment 3 Chani 2010-02-16 05:15:03 UTC
I forwarded the email... I think gmail screwed it up, though. and obviously I can't forward it or save it or anything from kmail because it crashes.
Comment 4 Alex Dubov 2010-02-17 04:55:49 UTC
I've encountered this (or related bug) on kde-4.4.0 as well (released version). I haven't encountered such problem with kmail shipped kde-4.2.4 (which I used for many months without any trouble), so this is definitely a regression.

Given this, I want to make the following impolite comment: if kmail developer(s) needs an "offending message" to establish the reason for the crash, he's doing something really wrong.

There are millions of corrupted/badly formatted/malicious messaged out there on the webs and we can't possibly try out every one of them.
Comment 5 Torgny Nyblom 2010-02-17 07:43:30 UTC
(In reply to comment #4)
> Given this, I want to make the following impolite comment: if kmail
> developer(s) needs an "offending message" to establish the reason for the
> crash, he's doing something really wrong.
> 
> There are millions of corrupted/badly formatted/malicious messaged out there on
> the webs and we can't possibly try out every one of them.

Well I didn't ask for one of these messages did I? I asked for the specific message that the reporter had problems with. Reason? I have no messages in my mailbox that crashes KMail, and I do have better use for my time then searching the web for possible "crashing" mails, remember this is done on my spare time...
Comment 6 Chani 2010-02-17 17:28:25 UTC
that's the way it works for khtml, too. and software in general.
bugs happen.
if the developer can't reproduce there's really no way he can investigate the crash.

if we could magically secure against all possible content ever (without degrading the user experience) we could probably solve the spam problem, too. :P and hey, a crash is still a lot better than what'd probably happen on windows - yet another virus.

torgny: I've got the full email now, I'll send it to you in a sec. :)
Comment 7 Alex Dubov 2010-02-18 06:01:13 UTC
While its not a place for a general discussion, I shall allow myself to reply.

The issue in question is not "just a bug". The design of the whole thing is broken somehow.

I'm using KDE for more than 10 years (since early betas) and I must say, KDE-4 is a worse release ever, by a margin. Stuff that used to work, more or less, in 4.2, is badly broken in 4.4 (I'm not even bothering to file bugs on everything). Some features are conceptually bad and add nothing, but annoyance. And on top of all this, tons of eye-candy and feature creep everywhere (the worst example is kget, which has a bittorrent plugin and what not, but cannot download 3 files from plain http server without getting stuck).

In short - at present, the only thing that gives you more security on KDE is a minute user base (so nobody bothers with viruses). I used to recommend people to use KDE-3, but these days the only sane choice for a workstation is Windows (or MacOS for this matter).
Comment 8 Dario Andres 2010-02-18 13:12:35 UTC
@Alex: please try to not mixup different things in the same bug report: you can discuss your opinions on KDE, its applications and its problems on forums.kde.org, in the mailing lists or in IRC. Thanks
Comment 9 Thomas McGuire 2010-02-19 13:39:39 UTC
Changing component from "KMail 2" to "kmail", as this is a KMail 1 bug.
Probably fixed in KMail 2.
Comment 10 Thomas McGuire 2010-03-05 11:52:25 UTC

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