Bug 303954

Summary: sending mail while filtering others crashes maildispatcher
Product: [Frameworks and Libraries] Akonadi Reporter: Milian Wolff <mail>
Component: Mail Dispatcher AgentAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: faure, montel, vkrause
Priority: NOR    
Version: 4.9   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Milian Wolff 2012-07-23 12:35:31 UTC
Application: akonadi_maildispatcher_agent (4.9)
KDE Platform Version: 4.8.4 (4.8.4)
Qt Version: 4.8.2
Operating System: Linux 3.4.4-3-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
Seems like I can reliably crash the mail dispatcher if I'm filtering many emails in the background (which can easily happen if you mark stuff as spam which takes some time on my machine).

The crash can be reproduced every time.

-- Backtrace:
Application: Mail Dispatcher Agent (akonadi_maildispatcher_agent), signal: Aborted
Using host libthread_db library "/lib/libthread_db.so.1".
[KCrash Handler]
#5  0x00007f3576b7bfa5 in raise () from /lib/libc.so.6
#6  0x00007f3576b7d428 in abort () from /lib/libc.so.6
#7  0x00007f357a26a254 in qt_message_output(QtMsgType, char const*) () from /lib/libQtCore.so.4
#8  0x00007f357a26a408 in ?? () from /lib/libQtCore.so.4
#9  0x00007f357a26a594 in qFatal(char const*, ...) () from /lib/libQtCore.so.4
#10 0x000000000041803e in SendJob::Private::storeResult (this=0x1b67610, success=false, message=...) at /home/milian/projects/kde4/kdepim-runtime/agents/maildispatcher/sendjob.cpp:407
#11 0x0000000000417535 in SendJob::Private::filterItem (this=0x1b67610, filterset=8) at /home/milian/projects/kde4/kdepim-runtime/agents/maildispatcher/sendjob.cpp:340
#12 0x0000000000415ed7 in SendJob::Private::doTraditionalTransport (this=0x1b67610) at /home/milian/projects/kde4/kdepim-runtime/agents/maildispatcher/sendjob.cpp:177
#13 0x0000000000415593 in SendJob::Private::doTransport (this=0x1b67610) at /home/milian/projects/kde4/kdepim-runtime/agents/maildispatcher/sendjob.cpp:132
#14 0x0000000000418a32 in SendJob::qt_static_metacall (_o=0x1b3a310, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x1b5ba10) at /home/milian/projects/.build/kde4/kdepim-runtime/agents/maildispatcher/sendjob.moc:62
#15 0x00007f357a38441e in QObject::event(QEvent*) () from /lib/libQtCore.so.4
#16 0x00007f35778c8f7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/libQtGui.so.4
#17 0x00007f35778cd3fa in QApplication::notify(QObject*, QEvent*) () from /lib/libQtGui.so.4
#18 0x00007f357883cc86 in KApplication::notify(QObject*, QEvent*) () from /lib/libkdeui.so.5
#19 0x00007f357a36fa5e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib/libQtCore.so.4
#20 0x00007f357a3733c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/libQtCore.so.4
#21 0x00007f357a39dac3 in ?? () from /lib/libQtCore.so.4
#22 0x00007f3575d4b4a5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#23 0x00007f3575d4b7d8 in ?? () from /lib/libglib-2.0.so.0
#24 0x00007f3575d4b894 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#25 0x00007f357a39dc56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#26 0x00007f35779692fe in ?? () from /lib/libQtGui.so.4
#27 0x00007f357a36e7af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#28 0x00007f357a36ea38 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#29 0x00007f357894d1aa in KWallet::Wallet::openWallet(QString const&, unsigned long, KWallet::Wallet::OpenType) () from /lib/libkdeui.so.5
#30 0x00007f357aa4b717 in MailTransport::TransportManager::wallet (this=0x1b2bcc0) at /home/milian/projects/kde4/kdepimlibs/mailtransport/transportmanager.cpp:606
#31 0x00007f357aa45740 in MailTransport::Transport::readPassword (this=0x1b4c6d0) at /home/milian/projects/kde4/kdepimlibs/mailtransport/transport.cpp:314
#32 0x00007f357aa45fc5 in MailTransport::Transport::qt_static_metacall (_o=0x1b4c6d0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x1b4e9c0) at /home/milian/projects/.build/kde4/kdepimlibs/mailtransport/transport.moc:49
#33 0x00007f357a38441e in QObject::event(QEvent*) () from /lib/libQtCore.so.4
#34 0x00007f35778c8f7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/libQtGui.so.4
#35 0x00007f35778cd3fa in QApplication::notify(QObject*, QEvent*) () from /lib/libQtGui.so.4
#36 0x00007f357883cc86 in KApplication::notify(QObject*, QEvent*) () from /lib/libkdeui.so.5
#37 0x00007f357a36fa5e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib/libQtCore.so.4
#38 0x00007f357a3733c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/libQtCore.so.4
#39 0x00007f357a39dac3 in ?? () from /lib/libQtCore.so.4
#40 0x00007f3575d4b4a5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#41 0x00007f3575d4b7d8 in ?? () from /lib/libglib-2.0.so.0
#42 0x00007f3575d4b894 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#43 0x00007f357a39dc56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#44 0x00007f35779692fe in ?? () from /lib/libQtGui.so.4
#45 0x00007f357a36e7af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#46 0x00007f357a36ea38 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#47 0x00007f357894d1aa in KWallet::Wallet::openWallet(QString const&, unsigned long, KWallet::Wallet::OpenType) () from /lib/libkdeui.so.5
#48 0x00007f357aa4b717 in MailTransport::TransportManager::wallet (this=0x1b2bcc0) at /home/milian/projects/kde4/kdepimlibs/mailtransport/transportmanager.cpp:606
#49 0x00007f357aa45740 in MailTransport::Transport::readPassword (this=0x1b47810) at /home/milian/projects/kde4/kdepimlibs/mailtransport/transport.cpp:314
#50 0x00007f357aa45fc5 in MailTransport::Transport::qt_static_metacall (_o=0x1b47810, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x1b39400) at /home/milian/projects/.build/kde4/kdepimlibs/mailtransport/transport.moc:49
#51 0x00007f357a38441e in QObject::event(QEvent*) () from /lib/libQtCore.so.4
#52 0x00007f35778c8f7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/libQtGui.so.4
#53 0x00007f35778cd3fa in QApplication::notify(QObject*, QEvent*) () from /lib/libQtGui.so.4
#54 0x00007f357883cc86 in KApplication::notify(QObject*, QEvent*) () from /lib/libkdeui.so.5
#55 0x00007f357a36fa5e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib/libQtCore.so.4
#56 0x00007f357a3733c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/libQtCore.so.4
#57 0x00007f357a39dac3 in ?? () from /lib/libQtCore.so.4
#58 0x00007f3575d4b4a5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#59 0x00007f3575d4b7d8 in ?? () from /lib/libglib-2.0.so.0
#60 0x00007f3575d4b894 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#61 0x00007f357a39dc56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#62 0x00007f35779692fe in ?? () from /lib/libQtGui.so.4
#63 0x00007f357a36e7af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#64 0x00007f357a36ea38 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#65 0x00007f357894d1aa in KWallet::Wallet::openWallet(QString const&, unsigned long, KWallet::Wallet::OpenType) () from /lib/libkdeui.so.5
#66 0x00007f357aa4b717 in MailTransport::TransportManager::wallet (this=0x1b2bcc0) at /home/milian/projects/kde4/kdepimlibs/mailtransport/transportmanager.cpp:606
#67 0x00007f357aa45740 in MailTransport::Transport::readPassword (this=0x1b44010) at /home/milian/projects/kde4/kdepimlibs/mailtransport/transport.cpp:314
#68 0x00007f357aa45fc5 in MailTransport::Transport::qt_static_metacall (_o=0x1b44010, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x1b36150) at /home/milian/projects/.build/kde4/kdepimlibs/mailtransport/transport.moc:49
#69 0x00007f357a38441e in QObject::event(QEvent*) () from /lib/libQtCore.so.4
#70 0x00007f35778c8f7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/libQtGui.so.4
#71 0x00007f35778cd3fa in QApplication::notify(QObject*, QEvent*) () from /lib/libQtGui.so.4
#72 0x00007f357883cc86 in KApplication::notify(QObject*, QEvent*) () from /lib/libkdeui.so.5
#73 0x00007f357a36fa5e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib/libQtCore.so.4
#74 0x00007f357a3733c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/libQtCore.so.4
#75 0x00007f357a39dac3 in ?? () from /lib/libQtCore.so.4
#76 0x00007f3575d4b4a5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#77 0x00007f3575d4b7d8 in ?? () from /lib/libglib-2.0.so.0
#78 0x00007f3575d4b894 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#79 0x00007f357a39dc56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#80 0x00007f35779692fe in ?? () from /lib/libQtGui.so.4
#81 0x00007f357a36e7af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#82 0x00007f357a36ea38 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#83 0x00007f357a3736d8 in QCoreApplication::exec() () from /lib/libQtCore.so.4
#84 0x00007f357a76c1dd in Akonadi::AgentBase::init (r=0x1ad7bc0) at /home/milian/projects/kde4/kdepimlibs/akonadi/agentbase.cpp:549
#85 0x000000000040d85c in Akonadi::AgentBase::init<MailDispatcherAgent> (argc=3, argv=0x7fff8d5dcce8) at /usr/include/KDE/Akonadi/../../akonadi/agentbase.h:342
#86 0x000000000040c062 in main (argc=3, argv=0x7fff8d5dcce8) at /home/milian/projects/kde4/kdepim-runtime/agents/maildispatcher/maildispatcheragent.cpp:376

Reported using DrKonqi
Comment 1 Milian Wolff 2012-07-23 14:27:03 UTC
maybe related:

a) I was marking a few mails as spam in the background, which took quite some time on my machine
b) I have filters c onfigured for outgoing mail (to categorize them into folders)
Comment 2 Laurent Montel 2012-07-23 14:31:19 UTC
could you export specific filter and paste it here thanks.
I need to know what this filter does
Comment 3 Milian Wolff 2012-07-23 14:56:02 UTC
which one? the filter for sent mail? or the one that "marks as spam"?

the former is something along the lines of:

general:
filter criteria: match any of the following: anywhere in headers: contains: mail@milianw.de
action: move into folder: someaccount/Inbox

advanced:
[x] apply this mail to sent messages
[x] if filter matches, stop processing here

the "mark as spam" just is:
size in bytes
Comment 4 Milian Wolff 2012-07-23 14:56:55 UTC
ups, hit submit too early:

the "mark as spam" just is:
size in bytes >= 0 bytes
move into folder: local folders/spam
mark as: read
mark as: spam
pipe through: spamc -L spam
Comment 5 David Faure 2012-10-16 11:04:11 UTC
I think I just fixed this assert.

commit 5eddb46559effaa675744ae72709055dc270666c
Author: David Faure <faure@kde.org>
Date:   Tue Oct 16 12:10:19 2012 +0200

    Fix assert when maildispatcheragent can't contact mailfilteragent

Fixed in 4.9.3.