Bug 156289

Summary: Kontact crashes when applying filters on IMAP folder
Product: [Unmaintained] kmail Reporter: Oliver Putz <Regnaron>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 1.9.50   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Oliver Putz 2008-01-21 02:50:19 UTC
Version:           1.9.50 (using 4.00.80 (KDE 4.0.80 >= 20080104), Gentoo)
Compiler:          i686-pc-linux-gnu-gcc
OS:                Linux (i686) release 2.6.22-gentoo-r9

Kontact repeatedly crashes when I try to apply a filter to an IMAP folder. The filter moves messages to another folder on the IMAP server if the Subject containes "[Bug ". There are 4 messages (all unread) in the inbox that should be moved by the filter. (The other two messages in the inbox are already read and should not be affected by filter) I added the filter to the toolbar and the "filter menu". Invoking the filter itself produces the first crash. (signal6) If I apply all (this is the only one) filters (Ctrl+J) to the folder, Kontact crashes with the second backtrace (signal11)


Backtrace for only applying single filter:

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb53176d0 (LWP 6703)]
[KCrash handler]
#6  0xffffe410 in __kernel_vsyscall ()
#7  0xb56bf1f1 in *__GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0xb56c09b8 in *__GI_abort () at abort.c:88
#9  0xb7d76265 in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbff99c6c "ASSERT: \"!isEmpty()\" in file /usr/include/qt4/QtCore/qlist.h, line 242") at global/qglobal.cpp:2160
#10 0xb7d7632a in qFatal (msg=0xb7e7d87c "ASSERT: \"%s\" in file %s, line %d")
    at global/qglobal.cpp:2392
#11 0xb7d76555 in qt_assert (assertion=0xb36c88b6 "!isEmpty()", 
    file=0xb36c8088 "/usr/include/qt4/QtCore/qlist.h", line=242)
    at global/qglobal.cpp:1917
#12 0xb347daea in QList<int>::first (this=0xbff9bcf4)
    at /usr/include/qt4/QtCore/qlist.h:242
#13 0xb34f64db in KMFolderImap::addMsg (this=0x82f0540, aMsg=0x84cca18, 
    aIndex_ret=0x0)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmfolderimap.cpp:413
#14 0xb347d0f2 in FolderStorage::addMsgKeepUID (this=0x82f0540, 
    msg=0x84cca18, index_return=0x0)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/folderstorage.h:199
#15 0xb345c1c5 in KMFolder::addMsgKeepUID (this=0x82efcb8, msg=0x84cca18, 
    index_return=0x0)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmfolder.cpp:402
#16 0xb349f44f in KMFilterMgr::endFiltering (this=0x82daea8, 
    msgBase=0x84cca18)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmfiltermgr.cpp:133
#17 0xb349f70f in KMFilterMgr::process (this=0x82daea8, serNum=33, 
    filter=0x8644578)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmfiltermgr.cpp:201
#18 0xb35a2e80 in KMFilterActionCommand::execute (this=0x8540770)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmcommands.cpp:1725
#19 0xb35a9f7d in KMCommand::slotPostTransfer (this=0x8540770, 
    result=KMCommand::OK)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmcommands.cpp:270
#20 0xb35aa3f6 in KMCommand::qt_metacall (this=0x8540770, 
    _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbff9c3ec)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim_build/kmail/kmcommands.moc:85
#21 0xb35aaa92 in KMFilterActionCommand::qt_metacall (this=0x8540770, 
    _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbff9c3ec)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim_build/kmail/kmcommands.moc:1409
#22 0xb7e5c1f4 in QMetaObject::activate (sender=0x8540770, 
    from_signal_index=4, to_signal_index=4, argv=<value optimized out>)
    at kernel/qobject.cpp:3081
#23 0xb7e5cd94 in QMetaObject::activate (sender=0x8540770, m=0xb3740214, 
    local_signal_index=0, argv=0xbff9c3ec) at kernel/qobject.cpp:3140
#24 0xb3596581 in KMCommand::messagesTransfered (this=0x8540770, 
    _t1=KMCommand::OK)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim_build/kmail/kmcommands.moc:99
#25 0xb35a9e9b in KMCommand::transferSelectedMsgs (this=0x8540770)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmcommands.cpp:364
#26 0xb35aa266 in KMCommand::slotStart (this=0x8540770)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/kmcommands.cpp:262
#27 0xb35aa3dc in KMCommand::qt_metacall (this=0x8540770, 
    _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbff9c9e4)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim_build/kmail/kmcommands.moc:84
#28 0xb35aaa92 in KMFilterActionCommand::qt_metacall (this=0x8540770, 
    _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbff9c9e4)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim_build/kmail/kmcommands.moc:1409
#29 0xb7e5c1f4 in QMetaObject::activate (sender=0x8564190, 
    from_signal_index=4, to_signal_index=4, argv=<value optimized out>)
    at kernel/qobject.cpp:3081
#30 0xb7e5cd94 in QMetaObject::activate (sender=0x8564190, m=0xb7efac64, 
    local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3140
#31 0xb7e653c3 in QSingleShotTimer::timeout (this=0x8564190)
    at .moc/debug-shared/qtimer.moc:73
#32 0xb7e6540c in QSingleShotTimer::timerEvent (this=0x8564190)
    at kernel/qtimer.cpp:296
#33 0xb7e5a269 in QObject::event (this=0x8564190, e=0x1a2f)
    at kernel/qobject.cpp:1086
#34 0xb6d1ce8a in QApplicationPrivate::notify_helper (this=0x8060068, 
    receiver=0x8564190, e=0xbff9cf18) at kernel/qapplication.cpp:3556
#35 0xb6d1e77a in QApplication::notify (this=0xbff9d1a0, receiver=0x8564190, 
    e=0xbff9cf18) at kernel/qapplication.cpp:3115
#36 0xb79cefb3 in KApplication::notify (this=0xbff9d1a0, receiver=0x8564190, 
    event=0xbff9cf18)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:314
#37 0xb7e48d7b in QCoreApplication::notifyInternal (this=0xbff9d1a0, 
    receiver=0x8564190, event=0xbff9cf18) at kernel/qcoreapplication.cpp:530
#38 0xb7e71efb in QTimerInfoList::activateTimers (this=0x80607e4)
    at kernel/qcoreapplication.h:200
#39 0xb7e71fd1 in QEventDispatcherUNIX::activateTimers (this=0x805f170)
    at kernel/qeventdispatcher_unix.cpp:828
#40 0xb7e729ab in QEventDispatcherUNIX::processEvents (this=0x805f170, 
    flags=@0xbff9d098) at kernel/qeventdispatcher_unix.cpp:890
#41 0xb6da6cce in QEventDispatcherX11::processEvents (this=0x805f170, 
    flags=@0xbff9d0c4) at kernel/qeventdispatcher_x11.cpp:145
#42 0xb7e48191 in QEventLoop::processEvents (this=0xbff9d130, 
    flags=@0xbff9d0f8) at kernel/qeventloop.cpp:140
#43 0xb7e4829a in QEventLoop::exec (this=0xbff9d130, flags=@0xbff9d138)
    at kernel/qeventloop.cpp:186
#44 0xb7e4a626 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:759
#45 0xb6d1c487 in QApplication::exec () at kernel/qapplication.cpp:3053
#46 0x0804b3e5 in main (argc=1, argv=0xbff9d334)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kontact/src/main.cpp:162
#47 0xb56abfdc in __libc_start_main (main=0x804ab50 <main>, argc=1, 
    ubp_av=0xbff9d334, init=0x804c170 <__libc_csu_init>, 
    fini=0x804c160 <__libc_csu_fini>, rtld_fini=0xb7f0c100 <_dl_fini>, 
    stack_end=0xbff9d32c) at libc-start.c:229
#48 0x0804a781 in _start ()
#0  0xffffe410 in __kernel_vsyscall ()


Backtrace for applying all filters (in the end also just applies the one filter):

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb53146d0 (LWP 6822)]
[KCrash handler]
#6  0xb347cd49 in KMail::ActionScheduler::debug ()
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/actionscheduler.cpp:797
#7  0xb347e908 in KMail::ActionScheduler::processMessage (this=0x85139c8)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kmail/actionscheduler.cpp:491
#8  0xb347f221 in KMail::ActionScheduler::qt_metacall (this=0x85139c8, 
    _c=QMetaObject::InvokeMetaMethod, _id=18, _a=0xbfc5feb4)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim_build/kmail/actionscheduler.moc:118
#9  0xb7e591f4 in QMetaObject::activate (sender=0x80ad8f8, 
    from_signal_index=4, to_signal_index=4, argv=<value optimized out>)
    at kernel/qobject.cpp:3081
#10 0xb7e59d94 in QMetaObject::activate (sender=0x80ad8f8, m=0xb7ef89e4, 
    local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3140
#11 0xb7e7a083 in QTimer::timeout (this=0x80ad8f8)
    at .moc/debug-shared/moc_qtimer.cpp:125
#12 0xb7e62a2e in QTimer::timerEvent (this=0x80ad8f8, e=0xbfc603e8)
    at kernel/qtimer.cpp:259
#13 0xb7e57269 in QObject::event (this=0x80ad8f8, e=0x8579b48)
    at kernel/qobject.cpp:1086
#14 0xb6d19e8a in QApplicationPrivate::notify_helper (this=0x8060068, 
    receiver=0x80ad8f8, e=0xbfc603e8) at kernel/qapplication.cpp:3556
#15 0xb6d1b77a in QApplication::notify (this=0xbfc60670, receiver=0x80ad8f8, 
    e=0xbfc603e8) at kernel/qapplication.cpp:3115
#16 0xb79cbfb3 in KApplication::notify (this=0xbfc60670, receiver=0x80ad8f8, 
    event=0xbfc603e8)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:314
#17 0xb7e45d7b in QCoreApplication::notifyInternal (this=0xbfc60670, 
    receiver=0x80ad8f8, event=0xbfc603e8) at kernel/qcoreapplication.cpp:530
#18 0xb7e6eefb in QTimerInfoList::activateTimers (this=0x80607e4)
    at kernel/qcoreapplication.h:200
#19 0xb7e6efd1 in QEventDispatcherUNIX::activateTimers (this=0x805f170)
    at kernel/qeventdispatcher_unix.cpp:828
#20 0xb7e6f9ab in QEventDispatcherUNIX::processEvents (this=0x805f170, 
    flags=@0xbfc60568) at kernel/qeventdispatcher_unix.cpp:890
#21 0xb6da3cce in QEventDispatcherX11::processEvents (this=0x805f170, 
    flags=@0xbfc60594) at kernel/qeventdispatcher_x11.cpp:145
#22 0xb7e45191 in QEventLoop::processEvents (this=0xbfc60600, 
    flags=@0xbfc605c8) at kernel/qeventloop.cpp:140
#23 0xb7e4529a in QEventLoop::exec (this=0xbfc60600, flags=@0xbfc60608)
    at kernel/qeventloop.cpp:186
#24 0xb7e47626 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:759
#25 0xb6d19487 in QApplication::exec () at kernel/qapplication.cpp:3053
#26 0x0804b3e5 in main (argc=1, argv=0xbfc60804)
    at /var/tmp/portage/kde-base/kdepim-9999.4/work/kdepim-9999.4/kontact/src/main.cpp:162
#27 0xb56a8fdc in __libc_start_main (main=0x804ab50 <main>, argc=1, 
    ubp_av=0xbfc60804, init=0x804c170 <__libc_csu_init>, 
    fini=0x804c160 <__libc_csu_fini>, rtld_fini=0xb7f09100 <_dl_fini>, 
    stack_end=0xbfc607fc) at libc-start.c:229
#28 0x0804a781 in _start ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 1 Till Adam 2008-01-21 09:48:09 UTC
I'm pretty sure I fixed this one a few days ago. Can you try with current svn, maybe?
Comment 2 Till Adam 2008-01-21 09:48:31 UTC
*** Bug has been marked as fixed ***.
Comment 3 Oliver Putz 2008-01-21 16:47:37 UTC
Hm, after an update I indeed cannot reproduce the crash any longer. As my kdepim was relatively recent, it seems like I checked out just before you committed the fix :-) So, thanks for fixing.