Summary: | Kmail crashes on startup in partNode::findType (partNode.cpp:401) | ||
---|---|---|---|
Product: | [Unmaintained] kmail | Reporter: | Naga <nagatoro> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | krzysztof_opyrchal, w.richert |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Naga
2006-08-07 14:25:47 UTC
*** Bug 126161 has been marked as a duplicate of this bug. *** SVN commit 570894 by winterz: Possible fix for bug#132008. If you can compile yourself it would be great if you could test. Else, you'll need to wait until KDE 3.5.5 to see if it works for you. BUGS: 132008 M +3 -1 kmmessage.cpp --- branches/KDE/3.5/kdepim/kmail/kmmessage.cpp #570893:570894 @@ -706,6 +706,8 @@ const QTextCodec*& codec, bool& isHTML ) const { + if ( !root ) return; + isHTML = false; // initialy parse the complete message to decrypt any encrypted parts { @@ -3819,7 +3821,7 @@ //----------------------------------------------------------------------------- QCString KMMessage::charset() const { - if ( mMsg->Headers().HasContentType() ) { + if ( mMsg->Headers().HasContentType() ) { DwMediaType &mType=mMsg->Headers().ContentType(); mType.Parse(); DwParameter *param=mType.FirstParameter(); Sorry to say this but it seems like it now crashes further down :( Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 47925711609648 (LWP 26346)] [New Thread 1107310928 (LWP 26352)] [New Thread 1098918224 (LWP 26351)] [New Thread 1090525520 (LWP 26350)] [New Thread 1082132816 (LWP 26349)] [KCrash handler] #5 KMMessage::asPlainText (this=0x0, aStripSignature=false, allowDecryption=false) at kmmessage.cpp:743 #6 0x00002b968c735222 in KMMsgIndex::addMessage (this=0xbf2340, serNum=0) at index.cpp:294 #7 0x00002b968c73544b in KMMsgIndex::act (this=0xbf2340) at index.cpp:318 #8 0x00002b968c735782 in KMMsgIndex::qt_invoke (this=0xbf2340, _id=7, _o=0x7fff1e9269d0) at index.moc:123 #9 0x00002b9690a856ec in QObject::activate_signal (this=0xbee2b0, clist=<value optimized out>, o=0x7fff1e9269d0) at kernel/qobject.cpp:2356 #10 0x00002b9690a86393 in QObject::activate_signal (this=0x0, signal=<value optimized out>) at kernel/qobject.cpp:2325 #11 0x00002b9690aa4975 in QTimer::event (this=0xbee2b0, e=0x0) at kernel/qtimer.cpp:219 #12 0x00002b9690a2f5f5 in QApplication::internalNotify ( this=<value optimized out>, receiver=0xbee2b0, e=0x7fff1e926c70) at kernel/qapplication.cpp:2635 #13 0x00002b9690a301f7 in QApplication::notify (this=0x7fff1e926ed0, receiver=0xbee2b0, e=0x7fff1e926c70) at kernel/qapplication.cpp:2358 #14 0x00002b968fe93ba0 in KApplication::notify (this=0x7fff1e926ed0, receiver=0xbee2b0, event=0x7fff1e926c70) at kapplication.cpp:550 #15 0x00002b9690a25d32 in QEventLoop::activateTimers ( this=<value optimized out>) at kernel/qapplication.h:496 #16 0x00002b96909e6f12 in QEventLoop::processEvents (this=0x5f4410, flags=0) at kernel/qeventloop_x11.cpp:389 #17 0x00002b9690a43dd2 in QEventLoop::enterLoop (this=0x0) at kernel/qeventloop.cpp:198 #18 0x00002b9690a43c82 in QEventLoop::exec (this=0x0) at kernel/qeventloop.cpp:145 #19 0x0000000000402c9d in main (argc=<value optimized out>, argv=<value optimized out>) at main.cpp:110 #20 0x00002b9692e2b134 in __libc_start_main (main=0x402b60 <main>, argc=1, ubp_av=0x7fff1e9273a8, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff1e927398) at libc-start.c:238 #21 0x0000000000402a29 in _start () Current language: auto; currently c note: a workaround until I stumble upon the offending message I guess is to delete kmailrc and recreate the accounts. SVN commit 571073 by winterz: Another attempt at fixing this bug. BUGS: 132008 M +1 -0 kmmessage.cpp --- branches/KDE/3.5/kdepim/kmail/kmmessage.cpp #571072:571073 @@ -738,6 +738,7 @@ const QTextCodec * codec = 0; partNode * root = partNode::fromMessage( this ); + if ( !root ) return QString::null; parseTextStringFromDwPart( root, parsedString, codec, isHTML ); delete root; This one did it. Thanks! Great. Thanks for helping to test. *** Bug 134255 has been marked as a duplicate of this bug. *** |