Bug 48686

Summary: kmail view outgoing mail crash on send
Product: [Applications] kmail Reporter: oyvind
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Screenshots of KMail just before it crashes

Description oyvind 2002-10-04 13:23:17 UTC
Version:           KMail 1.4.7, from Kde3beta2 (using KDE KDE 3.0.8)
Installed from:    Compiled From Sources
Compiler:          gcc3-3.1-0.23.1 , gcc-2.96-112  RedHat 
OS:          Linux

This bug seems simular to 47026, and "The bug that you reported has been identified and has been fixed in the latest development (CVS) version of KDE.". (Carsten Burghardt , mailto:cb@magic-shop.de )

However, this bug is still there with Kde3.1Beta2, so..

Write a new email. Add a few attatchments. Press Send. 

Now, before the mail is actually sendt, go to your outbox (create a large attchment and press X (lower right corner) is you got a fast connection). 

Click on the mail you just made. Click on any of the attatchments. 

Send the mail (File > Send queued messages). When the mail is sendt, the dialog box with topic/body part/attachments is still there. Clicking on other attachments displays them OK, while clicking 'body part' causes a crash.

I reproduced this bug a few times, so it's an actual bug.

I dubt many users will experience this, but.. sometimes my mailserver is really slow and I wanted to make a last-minute change to a message and I made it crash, so..

Crash dump:

[New Thread 8192 (LWP 30423)]
0x413a4789 in wait4 () from /lib/libc.so.6
#0  0x413a4789 in wait4 () from /lib/libc.so.6
#1  0x4141a6b8 in __DTOR_END__ () from /lib/libc.so.6
#2  0x4121ee9c in waitpid () from /lib/libpthread.so.0
#3  0x40ac170c in KCrash::defaultCrashHandler ()
   from /opt/kde/lib/libkdecore.so.4
#4  <signal handler called>
#5  0x4044c520 in DwStrcasecmp () from /opt/kde/lib/libmimelib.so.1
#6  0x4043f3b4 in DwHeaders::HasContentDisposition ()
   from /opt/kde/lib/libmimelib.so.1
#7  0x081fe6b4 in partNode::isAttachment ()
#8  0x08133b2a in KMReaderWin::parseObjectTree ()
#9  0x081f424c in KMMimePartTree::itemClicked ()
#10 0x081f538e in KMMimePartTree::qt_invoke ()
#11 0x40da6baa in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0x41006ff3 in QListView::clicked () from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0x40e515c4 in QListView::contentsMouseReleaseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0x40884318 in KListView::contentsMouseReleaseEvent ()
   from /opt/kde/lib/libkdeui.so.4
#15 0x40e755fb in QScrollView::viewportMouseReleaseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0x40e74f5f in QScrollView::eventFilter ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#17 0x40e4fede in QListView::eventFilter () from /usr/lib/qt3/lib/libqt-mt.so.3
#18 0x40da50d5 in QObject::activate_filters ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0x40da4fbe in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#20 0x40dd0d69 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#21 0x40d61b34 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x40d612a2 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x40a3eac8 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
#24 0x40d1556f in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0x40d127e5 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x40d11849 in QApplication::processNextEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#27 0x40d62ecc in QApplication::enter_loop ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#28 0x40d117b8 in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#29 0x081d67d5 in main ()
#30 0x413164ce in __libc_start_main () from /lib/libc.so.6
Comment 1 oyvind 2002-10-04 13:31:50 UTC
Created attachment 135 [details]
Screenshots of KMail just before it crashes 

kmailcrash2.png is what kmail looks like when you are viewing a mail that's
actually sendt. From there, all you have to do is press 'body part', and it's a
crash. :-( KMail should clear/remove the select-mime/message-part aera when the
message ain't there nomore.
Comment 2 Till Adam 2003-06-08 15:41:15 UTC
Subject: kdepim/kmail

CVS commit by tilladam: 

When the last mail in the outbox is sent, cleanup is called, which calls
compact, which emits folder changed, which calls msgChanged, which emits
maybeDeleting, which calls KMReaderWin::clearCache, which disables the
updateTimer which has been started by KMReaderWin::setMsg (0) and which,
had it not been prevented from doing so by the above, would have cleared
the main message reader window, thereby preventing crashes when the still
visible parts (message body and mime parts) of a mail that is gone from
the outbox are accessed.

I've fixed this by explicitly clearing the view in clearCache. Since I 
assume clearCache is there to prevent still running timers from accessing
messages which are no longer there, that seems like a decent fix. I'd like
a second opinion on this, though.

CCMAIL: 48686-done@bugs.kde.org

  M +1 -0      kmreaderwin.cpp   1.662

--- kdepim/kmail/kmreaderwin.cpp  #1.661:1.662
@@ -1061,4 +1061,5 @@ void KMReaderWin::clearCache()
+  clear();
   mLastSerNum = 0;