Version: (using KDE KDE 3.3.1) Installed from: Compiled From Sources Compiler: gcc 3.4.2 "linkonce" bugfix applied OS: Linux I got a message with two attachments: a big pdf and a short html. I am on slow GPRS connection, but use IMAP. After seeing that the message contains two attachments, I tried to save the pdf. Then, while still downloading, I clicked on the html one. KMail crashed, the progress dialog in the bottom showed two attempts to download the same message. I got the following backtrace: Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1208070032 (LWP 1843)] [KCrash handler] #7 0x44cb32c6 in KMMsgBase::setComplete () from /usr/lib/libkmailprivate.so.0 #8 0x44d71cb2 in KMSaveAttachmentsCommand::KMSaveAttachmentsCommand () from /usr/lib/libkmailprivate.so.0 #9 0x44c4bd68 in KMReaderWin::slotAtmSave () from /usr/lib/libkmailprivate.so.0 #10 0x44c523e8 in KMReaderWin::slotAtmDistributeClick () from /usr/lib/libkmailprivate.so.0 #11 0x44c52670 in KMReaderWin::qt_invoke () from /usr/lib/libkmailprivate.so.0 #12 0x418458c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #13 0x4184605c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #14 0x44d62229 in KMLoadPartsCommand::partsRetrieved () from /usr/lib/libkmailprivate.so.0 #15 0x44d668e2 in KMLoadPartsCommand::execute () from /usr/lib/libkmailprivate.so.0 #16 0x44d71174 in KMLoadPartsCommand::slotPartRetrieved () from /usr/lib/libkmailprivate.so.0 #17 0x44d71318 in KMLoadPartsCommand::qt_invoke () from /usr/lib/libkmailprivate.so.0 #18 0x418458c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #19 0x44d9e849 in KMail::FolderJob::messageUpdated () from /usr/lib/libkmailprivate.so.0 #20 0x44da87e7 in KMail::ImapJob::slotGetMessageResult () from /usr/lib/libkmailprivate.so.0 #21 0x44dab7df in KMail::ImapJob::qt_invoke () from /usr/lib/libkmailprivate.so.0 #22 0x418458c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #23 0x42402d3d in KIO::Job::result () from /usr/lib/libkio.so.4 #24 0x42431adc in KIO::Job::emitResult () from /usr/lib/libkio.so.4 #25 0x4245b6ac in KIO::SimpleJob::slotFinished () from /usr/lib/libkio.so.4 #26 0x4245bcba in KIO::TransferJob::slotFinished () from /usr/lib/libkio.so.4 #27 0x42431681 in KIO::TransferJob::qt_invoke () from /usr/lib/libkio.so.4 #28 0x418458c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #29 0x4184605c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #30 0x42400dac in KIO::SlaveInterface::finished () from /usr/lib/libkio.so.4 #31 0x4244c246 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.4 #32 0x4242bba3 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.4 #33 0x4242285b in KIO::Slave::gotInput () from /usr/lib/libkio.so.4 #34 0x4242a348 in KIO::Slave::qt_invoke () from /usr/lib/libkio.so.4 #35 0x418458c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #36 0x41845eeb in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #37 0x41b9b660 in QSocketNotifier::activated () from /usr/lib/libqt-mt.so.3 #38 0x41862a90 in QSocketNotifier::event () from /usr/lib/libqt-mt.so.3 #39 0x417e1b3f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #40 0x417e1cdc in QApplication::notify () from /usr/lib/libqt-mt.so.3 #41 0x41e985e5 in KApplication::notify () from /usr/lib/libkdecore.so.4 #42 0x417d5253 in QEventLoop::activateSocketNotifiers () from /usr/lib/libqt-mt.so.3 #43 0x4178e041 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #44 0x417f8231 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #45 0x417f8186 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #46 0x417e0c9f in QApplication::exec () from /usr/lib/libqt-mt.so.3 #47 0x0804a3d6 in main ()
Forgot to say that I have downloading attachments on demand enabled, and that's against Courier IMAP server
I'm sure Carsten will have fun with this one. :)
CVS commit by burghard: Refactor the attachment handling into it's own command. Therefore we do not rely much on the readerwin member vars which caused problems with parallel downloads. This should hopefully fix the remaining load-on-demand problems. It definitely fixes #92739. I only noticed that the OpenWith action takes ages but this is probably not a result of the change. BUG: 92739 M +187 -0 kmcommands.cpp 1.193 M +75 -0 kmcommands.h 1.60 M +50 -164 kmreaderwin.cpp 1.798 M +2 -9 kmreaderwin.h 1.204 M +14 -2 partNode.cpp 1.50 M +2 -0 partNode.h 1.37
*** Bug 98301 has been marked as a duplicate of this bug. ***
*** Bug 164219 has been marked as a duplicate of this bug. ***