Bug 249163 - kmail crashes if imap (not dimap) check triggered when files and folders are deleted
Summary: kmail crashes if imap (not dimap) check triggered when files and folders are ...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: 1.13.5
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-27 01:48 UTC by envite
Modified: 2012-08-19 11:03 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description envite 2010-08-27 01:48:08 UTC
Application: kmail (1.13.5)
KDE Platform Version: 4.4.5 (KDE 4.4.5)
Qt Version: 4.6.3
Operating System: Linux 2.6.32-5-amd64 x86_64
Distribution: Debian GNU/Linux testing (squeeze)

-- Information about the crash:
a) Kmail does not refresh correctIy: I had kmail showing no subfolders nor messages on certain folder on one IMAP account. I was sure they were there since I have direct access to the server and the files and directories were there when I did 'ls'. Moreover, if I tried to create a subfolder with the appropiate name, Kmail rejected the creation with a "This folder already exists" message, yet continued showing an empty folder. F5 didn't shown the content.
b) I deleted the whole content of $HOME/.kde/share/apps/kmail/imap to force kmail to refresh from the server instead of using uncorrect stale info. Then, kmail started to show strange errors relative to the deleted folders in $HOME/.kde/share/apps/kmail/imap and crashed.

Section a) of the bug has the ability to cause data loss: What if I decide to delete the folder on the IMAP server trusting kmail assertion that it is empty even when I hit F5?

 -- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
The current source language is "auto; currently asm".
[Current thread is 1 (Thread 0x7f96f1622760 (LWP 13253))]

Thread 5 (Thread 0x7f96d20fe710 (LWP 13263)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f96ef61be8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f96eab2be56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x24035e0, th=0x3000850) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f96eab2e6fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x3000850) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f96eab2e714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x3000850) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f96eab2e714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x3000850) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f96eab2e714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x3000850) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007f96eab2cc7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f96d20fde30, parent=0x24035e0, th=0x3000850) at ../../../threadweaver/Weaver/Thread.cpp:87
#9  0x00007f96eab2d1d8 in ThreadWeaver::Thread::run (this=0x3000850) at ../../../threadweaver/Weaver/Thread.cpp:142
#10 0x00007f96ef61ae35 in QThreadPrivate::start (arg=0x3000850) at thread/qthread_unix.cpp:248
#11 0x00007f96e8a078ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#12 0x00007f96ee0f601d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f96d18fd710 (LWP 13266)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f96ef61be8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f96eab2be56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x24035e0, th=0x2dc4970) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f96eab2e6fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x2dc4970) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f96eab2cc7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f96d18fce30, parent=0x24035e0, th=0x2dc4970) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f96eab2d1d8 in ThreadWeaver::Thread::run (this=0x2dc4970) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f96ef61ae35 in QThreadPrivate::start (arg=0x2dc4970) at thread/qthread_unix.cpp:248
#8  0x00007f96e8a078ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f96ee0f601d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f96d10fc710 (LWP 13269)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f96ef61be8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f96eab2be56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x24035e0, th=0x30e74f0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f96eab2e6fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x30e74f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f96eab2e714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x30e74f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f96eab2e714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x30e74f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f96eab2cc7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f96d10fbe30, parent=0x24035e0, th=0x30e74f0) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007f96eab2d1d8 in ThreadWeaver::Thread::run (this=0x30e74f0) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007f96ef61ae35 in QThreadPrivate::start (arg=0x30e74f0) at thread/qthread_unix.cpp:248
#10 0x00007f96e8a078ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f96ee0f601d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f96d08fb710 (LWP 13272)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f96ef61be8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x204f4c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f96eab2be56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x24035e0, th=0x30dae10) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f96eab2e6fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x30dae10) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f96eab2e714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x24270e0, th=0x30dae10) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f96eab2cc7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f96d08fae30, parent=0x24035e0, th=0x30dae10) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007f96eab2d1d8 in ThreadWeaver::Thread::run (this=0x30dae10) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007f96ef61ae35 in QThreadPrivate::start (arg=0x30dae10) at thread/qthread_unix.cpp:248
#9  0x00007f96e8a078ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f96ee0f601d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f96f1622760 (LWP 13253)):
[KCrash Handler]
#5  0x0000000003e17a10 in ?? ()
#6  0x00007f96ef71bc73 in QObject::connect (sender=0x4ed6150, signal=0x7f96f04050b8 "2result( KJob * )", receiver=0x248c3b0, method=0x7f96f0408630 "1slotGetLastMessagesResult( KJob * )", 
    type=Qt::AutoConnection) at kernel/qobject.cpp:2518
#7  0x00007f96f007badd in KMFolderImap::reallyGetFolder (this=0x248c3b0, startUid=<value optimized out>) at ../../kmail/kmfolderimap.cpp:1291
#8  0x00007f96f007ea52 in KMFolderImap::slotCheckValidityResult (this=0x248c3b0, job=<value optimized out>) at ../../kmail/kmfolderimap.cpp:1207
#9  0x00007f96f0084765 in KMFolderImap::qt_metacall (this=0x248c3b0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff774d1370) at ./kmfolderimap.moc:185
#10 0x00007f96ef71d346 in QMetaObject::activate (sender=0x27d5dc0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7f96ef7b0c82) at kernel/qobject.cpp:3295
#11 0x00007f96f0a76802 in KJob::result (this=0x4ed6150, _t1=0x27d5dc0) at ./kjob.moc:194
#12 0x00007f96f0a76aa0 in KJob::emitResult (this=0x27d5dc0) at ../../kdecore/jobs/kjob.cpp:312
#13 0x00007f96eb76b263 in KIO::SimpleJob::slotFinished (this=0x27d5dc0) at ../../kio/kio/job.cpp:517
#14 0x00007f96eb76bc27 in KIO::TransferJob::slotFinished (this=0x27d5dc0) at ../../kio/kio/job.cpp:1097
#15 0x00007f96eb7692d1 in KIO::TransferJob::qt_metacall (this=0x27d5dc0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff774d1780) at ./jobclasses.moc:367
#16 0x00007f96ef71d346 in QMetaObject::activate (sender=0x2bd9bf0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7f96ef7b0c82) at kernel/qobject.cpp:3295
#17 0x00007f96eb82c711 in KIO::SlaveInterface::dispatch (this=0x2bd9bf0, _cmd=104, rawdata=...) at ../../kio/kio/slaveinterface.cpp:175
#18 0x00007f96eb829a83 in KIO::SlaveInterface::dispatch (this=0x2bd9bf0) at ../../kio/kio/slaveinterface.cpp:91
#19 0x00007f96eb81def6 in KIO::Slave::gotInput (this=0x2bd9bf0) at ../../kio/kio/slave.cpp:324
#20 0x00007f96eb81e0dc in KIO::Slave::qt_metacall (this=0x2bd9bf0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff774d1ba0) at ./slave.moc:82
#21 0x00007f96ef71d346 in QMetaObject::activate (sender=0x2849870, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7f96ef7b0c82) at kernel/qobject.cpp:3295
#22 0x00007f96eb739ae7 in KIO::ConnectionPrivate::dequeue (this=0x2c2e270) at ../../kio/kio/connection.cpp:82
#23 0x00007f96eb739c0d in KIO::Connection::qt_metacall (this=0x2849870, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x4267a20) at ./connection.moc:79
#24 0x00007f96ef719e89 in QObject::event (this=0x2849870, e=0x6c87bd0) at kernel/qobject.cpp:1248
#25 0x00007f96eeaaa32c in QApplicationPrivate::notify_helper (this=0x1ee7100, receiver=0x2849870, e=0x6c87bd0) at kernel/qapplication.cpp:4302
#26 0x00007f96eeab080b in QApplication::notify (this=0x7fff774d27c0, receiver=0x2849870, e=0x6c87bd0) at kernel/qapplication.cpp:4185
#27 0x00007f96f1045836 in KApplication::notify (this=0x7fff774d27c0, receiver=0x2849870, event=0x6c87bd0) at ../../kdeui/kernel/kapplication.cpp:302
#28 0x00007f96ef70a15c in QCoreApplication::notifyInternal (this=0x7fff774d27c0, receiver=0x2849870, event=0x6c87bd0) at kernel/qcoreapplication.cpp:726
#29 0x00007f96ef70d804 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1d180e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1d180e0) at kernel/qcoreapplication.cpp:1367
#31 0x00007f96ef733bd3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#32 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#33 0x00007f96e5ce96c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#34 0x00007f96e5ced538 in ?? () from /lib/libglib-2.0.so.0
#35 0x00007f96e5ced6ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#36 0x00007f96ef733713 in QEventDispatcherGlib::processEvents (this=0x1d17840, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#37 0x00007f96eeb5a14e in QGuiEventDispatcherGlib::processEvents (this=0x4ed6150, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#38 0x00007f96ef708a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#39 0x00007f96ef708e5c in QEventLoop::exec (this=0x7fff774d25f0, flags=) at kernel/qeventloop.cpp:201
#40 0x00007f96ef70daeb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#41 0x0000000000403452 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kmail/main.cpp:156

This bug may be a duplicate of or related to bug 206877.

Possible duplicates by query: bug 203673.

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2012-08-19 11:03:10 UTC
Thank you for your report. Kmail1 is currently unmaintained and the code has changed sufficiently in Kmail2 so the backtraces are not really useful anymore. Should you experience the same crash in Kmail 4.8.5 or later, please open a new report for Kmail2. Thank you for your understanding