Bug 158689

Summary: Crashes when empty message is encountered
Product: [Unmaintained] kmail Reporter: Matt Arsenault <whatmannerofburgeristhis>
Component: disconnected IMAPAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: info, kdebugs, rbu
Priority: NOR    
Version: 1.9.9   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Matt Arsenault 2008-03-02 18:44:39 UTC
Version:           1.9.9 (using KDE 3.5.9)
Installed from:    Unlisted Binary Package
Compiler:          gcc 4.2.3 x86_64 
OS:                Linux

For several months, with several versions of kmail, I have tried to add my second email account, both are imap. Everytime I add the second account, the mail is downloaded and is fine. When I start it again later, as it starts to check both accounts for new mail, it crashes with signal 8 (SIGFPE).

(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0x2b3010cce1b0 (LWP 6901)]
[New Thread 0x42003950 (LWP 6905)]
[New Thread 0x41802950 (LWP 6904)]
[New Thread 0x41001950 (LWP 6903)]
[New Thread 0x40800950 (LWP 6902)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#5  0x00002b3005bed47f in KMFolderCachedImap::slotProgress ()
   from /opt/kde/lib/libkmailprivate.so
#6  0x00002b3005bfbe49 in KMFolderCachedImap::qt_invoke ()
   from /opt/kde/lib/libkmailprivate.so
#7  0x00002b300d036b2c in QObject::activate_signal ()
   from /opt/qt/lib/libqt-mt.so.3
#8  0x00002b3005caf61c in KMail::FolderJob::progress ()
   from /opt/kde/lib/libkmailprivate.so
#9  0x00002b3005cb3beb in KMail::CachedImapJob::slotGetNextMessage ()
   from /opt/kde/lib/libkmailprivate.so
#10 0x00002b3005cb4d46 in KMail::CachedImapJob::qt_invoke ()
   from /opt/kde/lib/libkmailprivate.so
#11 0x00002b300d036b2c in QObject::activate_signal ()
   from /opt/qt/lib/libqt-mt.so.3
#12 0x00002b300a966e62 in KIO::Job::result () from /opt/kde/lib/libkio.so.4
#13 0x00002b300a9a19df in KIO::Job::emitResult ()
   from /opt/kde/lib/libkio.so.4
#14 0x00002b300a9ad2ba in KIO::SimpleJob::slotFinished ()
   from /opt/kde/lib/libkio.so.4
#15 0x00002b300a9ad8fc in KIO::TransferJob::slotFinished ()
   from /opt/kde/lib/libkio.so.4
#16 0x00002b300a9a165a in KIO::TransferJob::qt_invoke ()
   from /opt/kde/lib/libkio.so.4
#17 0x00002b300d036b2c in QObject::activate_signal ()
   from /opt/qt/lib/libqt-mt.so.3
#18 0x00002b300d0372c4 in QObject::activate_signal ()
   from /opt/qt/lib/libqt-mt.so.3
#19 0x00002b300a9bde46 in KIO::SlaveInterface::dispatch ()
   from /opt/kde/lib/libkio.so.4
#20 0x00002b300a9cb205 in KIO::SlaveInterface::dispatch ()
   from /opt/kde/lib/libkio.so.4
#21 0x00002b300a9728d6 in KIO::Slave::gotInput ()
   from /opt/kde/lib/libkio.so.4
#22 0x00002b300a9b7588 in KIO::Slave::qt_invoke ()
   from /opt/kde/lib/libkio.so.4
#23 0x00002b300d036b2c in QObject::activate_signal ()
   from /opt/qt/lib/libqt-mt.so.3
#24 0x00002b300d0371e4 in QObject::activate_signal ()
   from /opt/qt/lib/libqt-mt.so.3
#25 0x00002b300d050afb in QSocketNotifier::event ()
   from /opt/qt/lib/libqt-mt.so.3
#26 0x00002b300cfe1243 in QApplication::internalNotify ()
   from /opt/qt/lib/libqt-mt.so.3
#27 0x00002b300cfe1c98 in QApplication::notify ()
   from /opt/qt/lib/libqt-mt.so.3
#28 0x00002b300bb3f4be in KApplication::notify ()
   from /opt/kde/lib/libkdecore.so.4
#29 0x00002b300cfd6e53 in QEventLoop::activateSocketNotifiers ()
   from /opt/qt/lib/libqt-mt.so.3
#30 0x00002b300cf982e6 in QEventLoop::processEvents ()
   from /opt/qt/lib/libqt-mt.so.3
#31 0x00002b300cff5711 in QEventLoop::enterLoop ()
   from /opt/qt/lib/libqt-mt.so.3
#32 0x00002b300cff55c2 in QEventLoop::exec () from /opt/qt/lib/libqt-mt.so.3
#33 0x0000000000402da7 in ?? ()
#34 0x00002b300f269164 in __libc_start_main () from /lib/libc.so.6
#35 0x0000000000402b39 in ?? ()
#36 0x00007fffa54b3b08 in ?? ()
#37 0x0000000000000000 in ?? ()
Comment 1 Thomas McGuire 2008-04-02 15:09:33 UTC
*** Bug 160254 has been marked as a duplicate of this bug. ***
Comment 2 Gunter Ohrner 2008-04-02 15:19:31 UTC
I found the reson for my crash (reported as 160254, sorry for the duplicate - I somehow missed this existing report).

I'm using a Dovecot 1.0 server with maildir storage.
The problem have been two completely empty message files, zero bytes in size, which appeared this morning. I'm still trying to find the cause for these files, however removing them fixed the DIMAP crash.

I noticed the files as kMail briefly displayed both as messages dated 01-01-1970 when accessing the folder using a normal imap account configuration. (No dimap.)

Maybe this information helps in tracking down and fixing the bug, maybe there's some division by zero occuring in the code?
Comment 3 Robert Buchholz 2008-04-11 04:16:57 UTC
I can confirm this bug with a disconnected imap, dovecot, an empty file in one directory. it crashes right at the point when it syncs the folder containing the file.
kmail 1.9.7, kde 3.5.8.
Comment 4 Thomas McGuire 2008-05-08 20:36:15 UTC
SVN commit 805568 by tmcguire:

Probably fix crash when the server sends an empty message over DIMAP.

BUG: 158689


 M  +4 -1      kmfoldercachedimap.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=805568
Comment 5 George Kiagiadakis 2008-11-25 23:57:58 UTC
*** Bug 176090 has been marked as a duplicate of this bug. ***