Bug 297042

Summary: KMail crashes and deletes content of messages on IMAP/POP servers
Product: [Applications] kontact Reporter: The Rev. Dieter Miss <Dieter.Miss>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: critical CC: adaptee, meconiotech, meyerm, torotil
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description The Rev. Dieter Miss 2012-03-29 14:20:26 UTC
Application: kontact (4.8.0)
KDE Platform Version: 4.8.1 (4.8.1)
Qt Version: 4.8.0
Operating System: Linux 3.0.0-17-generic i686
Distribution: Ubuntu 11.10

-- Information about the crash:
- What I was doing when the application crashed: Opening a new email

- Unusual behavior I noticed: Kmail deleted the content of newly arrives messages on the server (laposte.net) leaving nothing but the header - and on another server (gmail.com) created an empty copy (message with header but no content) for each message.
I have been in contact with the maintainers at laposte.net and it turned out that it is actually kmail that deletes the message content - new messages were unaltered by Firefox, Konqueror and rekonq when I used the webmail only and did not open Kontact or Kmail.
These errors reproduced since March 24, when I upgraded to KDE 4.8.1., through the repositories of Kubuntu 11.10 (oneiric). There were no errors prior to the upgrade!

One fatal error message stated that "Timeout wants to get a lock". This showed several times, including the crahreport filed here!

The crash can be reproduced every time.

-- Backtrace:
Application: Kontact (kontact), signal: Aborted
[Current thread is 1 (Thread 0xb7737730 (LWP 25742))]

Thread 4 (Thread 0xb5b65b70 (LWP 25743)):
#0  0x00537416 in __kernel_vsyscall ()
#1  0x004c6a5c in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0x0061909c in __pthread_cond_wait (cond=0x31cd430, mutex=0x31cd418) at forward.c:139
#3  0x02aac883 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#4  0x02aac99f in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#5  0x004c2d31 in start_thread (arg=0xb5b65b70) at pthread_create.c:304
#6  0x0060b46e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 3 (Thread 0xb523cb70 (LWP 25744)):
#0  0x00354d10 in __GI_clock_gettime (clock_id=1, tp=0xb523c038) at ../sysdeps/unix/clock_gettime.c:116
#1  0x06ccae35 in do_gettime (frac=0xb523c030, sec=0xb523c028) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x06db4b56 in QTimerInfoList::updateCurrentTime (this=0xb490117c) at kernel/qeventdispatcher_unix.cpp:343
#4  0x06db4eaa in QTimerInfoList::timerWait (this=0xb490117c, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0x06db36c3 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb523c11c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0365888c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0x03659637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x03659c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x06db4217 in QEventDispatcherGlib::processEvents (this=0x944d740, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#10 0x06d7fd6d in QEventLoop::processEvents (this=0xb523c2b0, flags=...) at kernel/qeventloop.cpp:149
#11 0x06d80009 in QEventLoop::exec (this=0xb523c2b0, flags=...) at kernel/qeventloop.cpp:204
#12 0x06c699dc in QThread::exec (this=0x944d090) at thread/qthread.cpp:501
#13 0x06c69acb in QThread::run (this=0x944d090) at thread/qthread.cpp:568
#14 0x06c6ce70 in QThreadPrivate::start (arg=0x944d090) at thread/qthread_unix.cpp:298
#15 0x004c2d31 in start_thread (arg=0xb523cb70) at pthread_create.c:304
#16 0x0060b46e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0xb30a5b70 (LWP 25761)):
#0  0x00354d10 in __GI_clock_gettime (clock_id=1, tp=0xb30a4fe8) at ../sysdeps/unix/clock_gettime.c:116
#1  0x06ccae35 in do_gettime (frac=0xb30a4fe0, sec=0xb30a4fd8) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x06db4b56 in QTimerInfoList::updateCurrentTime (this=0x9a265ac) at kernel/qeventdispatcher_unix.cpp:343
#4  0x06db4eaa in QTimerInfoList::timerWait (this=0x9a265ac, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0x06db36c3 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb30a50ec) at kernel/qeventdispatcher_glib.cpp:136
#6  0x06db375d in timerSourcePrepare (source=0x9a26578, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0x0365888c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x03659637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x03659c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0x06db4217 in QEventDispatcherGlib::processEvents (this=0x9bae920, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0x06d7fd6d in QEventLoop::processEvents (this=0xb30a5280, flags=...) at kernel/qeventloop.cpp:149
#12 0x06d80009 in QEventLoop::exec (this=0xb30a5280, flags=...) at kernel/qeventloop.cpp:204
#13 0x06c699dc in QThread::exec (this=0x989db18) at thread/qthread.cpp:501
#14 0x06d5d2dd in QInotifyFileSystemWatcherEngine::run (this=0x989db18) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x06c6ce70 in QThreadPrivate::start (arg=0x989db18) at thread/qthread_unix.cpp:298
#16 0x004c2d31 in start_thread (arg=0xb30a5b70) at pthread_create.c:304
#17 0x0060b46e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb7737730 (LWP 25742)):
[KCrash Handler]
#7  0x00537416 in __kernel_vsyscall ()
#8  0x00565c8f in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0x005692b5 in __GI_abort () at abort.c:92
#10 0x06c616a6 in qt_message_output (msgType=QtFatalMsg, buf=0xb495e260 "Fatal Error: Accessed global static 'KernelPrivate *sInstance()' after destruction. Defined at ../../mailcommon/mailkernel.cpp:48") at global/qglobal.cpp:2276
#11 0x06c61adb in qt_message (msgType=QtFatalMsg, msg=0x593d7c4 "Fatal Error: Accessed global static '%s *%s()' after destruction. Defined at %s:%d", ap=0xbfe87da4 "M\331\223\005C\331\223\005\244\327\223\005\060") at global/qglobal.cpp:2322
#12 0x06c61bf8 in qFatal (msg=0x593d7c4 "Fatal Error: Accessed global static '%s *%s()' after destruction. Defined at %s:%d") at global/qglobal.cpp:2505
#13 0x058d5aa4 in operator-> (this=<optimized out>) at ../../mailcommon/mailkernel.cpp:48
#14 MailCommon::Kernel::self () at ../../mailcommon/mailkernel.cpp:64
#15 0x058c399e in MailCommon::FolderCollection::writeConfig (this=0x98a5e78) at ../../mailcommon/foldercollection.cpp:209
#16 0x058c44a3 in MailCommon::FolderCollection::~FolderCollection (this=0x98a5e78, __in_chrg=<optimized out>) at ../../mailcommon/foldercollection.cpp:82
#17 0x058c4562 in MailCommon::FolderCollection::~FolderCollection (this=0x98a5e78, __in_chrg=<optimized out>) at ../../mailcommon/foldercollection.cpp:84
#18 0x058c1e71 in deref (value=<optimized out>, d=0x98516c8) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:344
#19 deref (this=<optimized out>) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:338
#20 ~ExternalRefCount (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:403
#21 ~QSharedPointer (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:461
#22 QMap<long long, QSharedPointer<MailCommon::FolderCollection> >::freeData (x=0x99e53c0, this=<optimized out>) at /usr/include/qt4/QtCore/qmap.h:648
#23 0x0056a981 in __run_exit_handlers (status=1, listp=0x6b2324, run_list_atexit=true) at exit.c:78
#24 0x0056aa0d in __GI_exit (status=1) at exit.c:100
#25 0x058d6662 in MailCommon::Kernel::emergencyExit (this=0x963c980, reason=...) at ../../mailcommon/mailkernel.cpp:186
#26 0x058d6ac1 in MailCommon::Kernel::createDefaultCollectionDone (this=0x963c980, job=0x9773d98) at ../../mailcommon/mailkernel.cpp:150
#27 0x058d7325 in MailCommon::Kernel::qt_metacall (this=0x963c980, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfe88218) at ./mailkernel.moc:82
#28 0x06d884fd in metacall (argv=0xbfe88218, idx=6, cl=QMetaObject::InvokeMetaMethod, object=0x963c980) at kernel/qmetaobject.cpp:245
#29 QMetaObject::metacall (object=0x963c980, cl=QMetaObject::InvokeMetaMethod, idx=6, argv=0xbfe88218) at kernel/qmetaobject.cpp:240
#30 0x06d9821d in QMetaObject::activate (sender=0x9773d98, m=0xad358c, local_signal_index=3, argv=0xbfe88218) at kernel/qobject.cpp:3566
#31 0x00925345 in KJob::result (this=0x9773d98, _t1=0x9773d98) at ./kjob.moc:194
#32 0x00925398 in KJob::emitResult (this=0x9773d98) at ../../kdecore/jobs/kjob.cpp:318
#33 0x03353470 in Akonadi::SpecialCollectionsRequestJobPrivate::lockResult (this=0x978a5a8, job=0x98f41a8) at ../../akonadi/specialcollectionsrequestjob.cpp:121
#34 0x033559dc in Akonadi::SpecialCollectionsRequestJob::qt_metacall (this=0x9773d98, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfe88408) at ./specialcollectionsrequestjob.moc:78
#35 0x0481a413 in Akonadi::SpecialMailCollectionsRequestJob::qt_metacall (this=0x9773d98, _c=QMetaObject::InvokeMetaMethod, _id=38, _a=0xbfe88408) at ./specialmailcollectionsrequestjob.moc:64
#36 0x06d884fd in metacall (argv=0xbfe88408, idx=38, cl=QMetaObject::InvokeMetaMethod, object=0x9773d98) at kernel/qmetaobject.cpp:245
#37 QMetaObject::metacall (object=0x9773d98, cl=QMetaObject::InvokeMetaMethod, idx=38, argv=0xbfe88408) at kernel/qmetaobject.cpp:240
#38 0x06d9821d in QMetaObject::activate (sender=0x98f41a8, m=0xad358c, local_signal_index=3, argv=0xbfe88408) at kernel/qobject.cpp:3566
#39 0x00925345 in KJob::result (this=0x98f41a8, _t1=0x98f41a8) at ./kjob.moc:194
#40 0x00925398 in KJob::emitResult (this=0x98f41a8) at ../../kdecore/jobs/kjob.cpp:318
#41 0x0334bf87 in Akonadi::GetLockJob::Private::timeout (this=0x94b1068) at ../../akonadi/specialcollectionshelperjobs.cpp:610
#42 0x0334c1f7 in Akonadi::GetLockJob::qt_metacall (this=0x98f41a8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfe88590) at ./specialcollectionshelperjobs_p.moc:206
#43 0x06d884fd in metacall (argv=0xbfe88590, idx=28, cl=QMetaObject::InvokeMetaMethod, object=0x98f41a8) at kernel/qmetaobject.cpp:245
#44 QMetaObject::metacall (object=0x98f41a8, cl=QMetaObject::InvokeMetaMethod, idx=28, argv=0xbfe88590) at kernel/qmetaobject.cpp:240
#45 0x06d9821d in QMetaObject::activate (sender=0x9903100, m=0x6edf4b8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3566
#46 0x06deada5 in QTimer::timeout (this=0x9903100) at .moc/release-shared/moc_qtimer.cpp:148
#47 0x06da0dc6 in QTimer::timerEvent (this=0x9903100, e=0xbfe88a9c) at kernel/qtimer.cpp:280
#48 0x06d9c324 in QObject::event (this=0x9903100, e=0xbfe88a9c) at kernel/qobject.cpp:1157
#49 0x010ee844 in notify_helper (e=0xbfe88a9c, receiver=0x9903100, this=0x92f4070) at kernel/qapplication.cpp:4555
#50 QApplicationPrivate::notify_helper (this=0x92f4070, receiver=0x9903100, e=0xbfe88a9c) at kernel/qapplication.cpp:4527
#51 0x010f3c7d in QApplication::notify (this=0xbfe88a9c, receiver=0x9903100, e=0xbfe88a9c) at kernel/qapplication.cpp:4284
#52 0x00d63051 in KApplication::notify (this=0xbfe88dd4, receiver=0x9903100, event=0xbfe88a9c) at ../../kdeui/kernel/kapplication.cpp:311
#53 0x06d811de in QCoreApplication::notifyInternal (this=0xbfe88dd4, receiver=0x9903100, event=0xbfe88a9c) at kernel/qcoreapplication.cpp:876
#54 0x06db62b0 in sendEvent (event=0xbfe88a9c, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#55 QTimerInfoList::activateTimers (this=0x92eaf34) at kernel/qeventdispatcher_unix.cpp:611
#56 0x06db3998 in timerSourceDispatch (source=0x92eaf00) at kernel/qeventdispatcher_glib.cpp:186
#57 timerSourceDispatch (source=0x92eaf00) at kernel/qeventdispatcher_glib.cpp:180
#58 0x06db39d2 in idleTimerSourceDispatch (source=0x92eaf68) at kernel/qeventdispatcher_glib.cpp:233
#59 0x0365925f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#60 0x03659990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#61 0x03659c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#62 0x06db41b7 in QEventDispatcherGlib::processEvents (this=0x92c3800, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#63 0x011a406a in QGuiEventDispatcherGlib::processEvents (this=0x92c3800, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#64 0x06d7fd6d in QEventLoop::processEvents (this=0xbfe88d34, flags=...) at kernel/qeventloop.cpp:149
#65 0x06d80009 in QEventLoop::exec (this=0xbfe88d34, flags=...) at kernel/qeventloop.cpp:204
#66 0x06d8571a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#67 0x010ec6a4 in QApplication::exec () at kernel/qapplication.cpp:3816
#68 0x0804ac91 in main (argc=) at ../../../kontact/src/main.cpp:218

Possible duplicates by query: bug 296226, bug 286605, bug 286172, bug 281038, bug 277629.

Reported using DrKonqi
Comment 1 Jekyll Wu 2012-05-24 18:10:53 UTC
*** Bug 300567 has been marked as a duplicate of this bug. ***
Comment 2 Roman Zimmermann 2012-06-12 17:26:47 UTC
I don't see the crash in KDE 4.8.3 but still akonadi seems to truncate my e-mails on an IMAP mailbox.

The truncating happens also when kontact/kmail is closed but akonadi is still running. Only when I stop akonadi the truncating stops. So it seems that it's actually akonadi misbehaving …
Comment 3 Jekyll Wu 2012-07-03 14:02:47 UTC

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