Bug 304866 - filter agent crashes when trying to filter messages
Summary: filter agent crashes when trying to filter messages
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: Mail Filter Agent (show other bugs)
Version: 4.9
Platform: Ubuntu Linux
: NOR critical
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-09 16:30 UTC by Joshua J. Kugler
Modified: 2012-08-13 18:25 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.9.1


Attachments
New crash information added by DrKonqi (4.86 KB, text/plain)
2012-08-09 18:51 UTC, Joshua J. Kugler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua J. Kugler 2012-08-09 16:30:53 UTC
Application: akonadi_mailfilter_agent (4.9)
KDE Platform Version: 4.9.00
Qt Version: 4.8.1
Operating System: Linux 3.2.0-27-generic x86_64
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
I had selected all the messages in a folder, and selected "apply all filters."  It filtered a couple hundred, then crashed. I tried again, and it crashed again right away.

The crash can be reproduced every time.

-- Backtrace:
Application: Mail Filter Agent (akonadi_mailfilter_agent), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#6  0x00007f4f002a1500 in typeinfo for KMime::Headers::BasePrivate () from /usr/lib/libkmime.so.4
#7  0x00007f4f02218dff in MailCommon::FilterActionRewriteHeader::process (this=<optimized out>, context=...) at ../../mailcommon/filter/filteractionrewriteheader.cpp:76
#8  0x00007f4f02245d1c in MailCommon::MailFilter::execActions (this=0x23c7350, context=..., stopIt=@0x7fff8a44803f: false) at ../../mailcommon/filter/mailfilter.cpp:141
#9  0x0000000000411615 in FilterManager::process (this=0x2327f00, mailFilters=..., item=..., requestedPart=<optimized out>, set=FilterManager::Explicit, account=false, accountId=...) at ../../mailfilteragent/filtermanager.cpp:524
#10 0x0000000000411d69 in FilterManager::Private::slotItemsFetchedForFilter (this=0x2336460, items=...) at ../../mailfilteragent/filtermanager.cpp:136
#11 0x00007f4f006b0281 in QMetaObject::activate (sender=0x266ae30, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff8a4483c0) at kernel/qobject.cpp:3547
#12 0x00007f4f00d68522 in Akonadi::ItemFetchJob::itemsReceived (this=<optimized out>, _t1=...) at ./itemfetchjob.moc:106
#13 0x00007f4f00d695dc in timeout (this=0x25df580) at ../../akonadi/itemfetchjob.cpp:71
#14 Akonadi::ItemFetchJob::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./itemfetchjob.moc:57
#15 0x00007f4f006b0281 in QMetaObject::activate (sender=0x25d4c40, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#16 0x00007f4f006b5179 in QObject::event (this=0x25d4c40, e=<optimized out>) at kernel/qobject.cpp:1157
#17 0x00007f4efee44894 in notify_helper (e=0x7fff8a448bc0, receiver=0x25d4c40, this=0x22aef50) at kernel/qapplication.cpp:4559
#18 QApplicationPrivate::notify_helper (this=0x22aef50, receiver=0x25d4c40, e=0x7fff8a448bc0) at kernel/qapplication.cpp:4531
#19 0x00007f4efee49713 in QApplication::notify (this=0x7fff8a448ea0, receiver=0x25d4c40, e=0x7fff8a448bc0) at kernel/qapplication.cpp:4420
#20 0x00007f4f017ad456 in KApplication::notify (this=0x7fff8a448ea0, receiver=0x25d4c40, event=0x7fff8a448bc0) at ../../kdeui/kernel/kapplication.cpp:311
#21 0x00007f4f0069be9c in QCoreApplication::notifyInternal (this=0x7fff8a448ea0, receiver=0x25d4c40, event=0x7fff8a448bc0) at kernel/qcoreapplication.cpp:876
#22 0x00007f4f006cd1f2 in sendEvent (event=0x7fff8a448bc0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#23 QTimerInfoList::activateTimers (this=0x22b0720) at kernel/qeventdispatcher_unix.cpp:611
#24 0x00007f4f006cac0d in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:186
#25 timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:180
#26 0x00007f4ef81c9d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007f4ef81ca0a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f4ef81ca164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f4f006cb3bf in QEventDispatcherGlib::processEvents (this=0x225ead0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#30 0x00007f4efeeecd5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#31 0x00007f4f0069ac82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#32 0x00007f4f0069aed7 in QEventLoop::exec (this=0x7fff8a448e20, flags=...) at kernel/qeventloop.cpp:204
#33 0x00007f4f0069ff67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#34 0x00007f4f00cbeb76 in Akonadi::AgentBase::init (r=0x24bed80) at ../../akonadi/agentbase.cpp:550
#35 0x00000000004160a6 in Akonadi::AgentBase::init<MailFilterAgent> (argc=<optimized out>, argv=<optimized out>) at /usr/include/akonadi/agentbase.h:342
#36 0x00007f4efe3c776d in __libc_start_main (main=0x40b290 <main(int, char**)>, argc=3, ubp_av=0x7fff8a448fb8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff8a448fa8) at libc-start.c:226
#37 0x000000000040b2f5 in _start ()

Reported using DrKonqi
Comment 1 Joshua J. Kugler 2012-08-09 18:13:03 UTC
Addendum: after the filter agent crashes, mail will no longer filter, and I have to restart Akonadi to get filtering working again.
Comment 2 Joshua J. Kugler 2012-08-09 18:16:20 UTC
Another addendum. It seems if I get mail filter running, I can filter one message at a time. But if I select too many to filter, and then hit 'Ctrl-J' it dies.
Comment 3 Joshua J. Kugler 2012-08-09 18:19:30 UTC
Or it dies if I hit 'Ctrl-J' too fast. Siiiiigh. So aggravating.  All this was working perfectly with KMail 1.
Comment 4 Joshua J. Kugler 2012-08-09 18:51:39 UTC
Created attachment 73070 [details]
New crash information added by DrKonqi

akonadi_mailfilter_agent (4.9) on KDE Platform 4.9.00 using Qt 4.8.1

I was trying to filter by hand (i.e. Ctrl-J) and selected a block of messages (eight) and hit Ctrl-J. and the mail filter crashed.

-- Backtrace (Reduced):
#6  0x00007fd2b6250500 in typeinfo for KMime::Headers::BasePrivate () from /usr/lib/libkmime.so.4
#7  0x00007fd2b81c7dff in MailCommon::FilterActionRewriteHeader::process (this=<optimized out>, context=...) at ../../mailcommon/filter/filteractionrewriteheader.cpp:76
#8  0x00007fd2b81f4d1c in MailCommon::MailFilter::execActions (this=0x13aa4b0, context=..., stopIt=@0x7fff727bdbdf: false) at ../../mailcommon/filter/mailfilter.cpp:141
#9  0x0000000000411615 in FilterManager::process (this=0x1301590, mailFilters=..., item=..., requestedPart=<optimized out>, set=FilterManager::Explicit, account=false, accountId=...) at ../../mailfilteragent/filtermanager.cpp:524
#10 0x0000000000411d69 in FilterManager::Private::slotItemsFetchedForFilter (this=0x12fcbd0, items=...) at ../../mailfilteragent/filtermanager.cpp:136
Comment 5 Joshua J. Kugler 2012-08-09 20:28:17 UTC
Changing to critical importance because it renders filtering unusable.  With over 100 filters, I heavily rely on filtering to work properly.
Comment 6 Laurent Montel 2012-08-13 18:25:47 UTC
Git commit aaaf11099e1538ceea1af37ebdded9017a4af5b0 by Montel Laurent.
Committed on 13/08/2012 at 20:23.
Pushed by mlaurent into branch 'KDE/4.9'.

Fix Bug 304866 - filter agent crashes when trying to filter messages

FIXED-IN: 4.9.1

M  +1    -1    mailcommon/filter/filteractionrewriteheader.cpp

http://commits.kde.org/kdepim/aaaf11099e1538ceea1af37ebdded9017a4af5b0