Bug 246480 - Kmail crashes on filter with empty action
Summary: Kmail crashes on filter with empty action
Status: RESOLVED DUPLICATE of bug 169048
Alias: None
Product: kmail
Classification: Unmaintained
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-02 03:50 UTC by envite
Modified: 2010-08-08 01:24 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description envite 2010-08-02 03:50:50 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:
I'm testing a filter, so I set it up with an empty action. Every time I use that filter, kmail crashes. Filter is not using any external program.

Crash is completely reproducible.

This is the filter exact config:

[Filter #0]
Applicability=0
AutomaticName=false
ConfigureShortcut=true
ConfigureToolbar=false
Icon=
StopProcessingHere=true
ToolbarName=<Received>: for <debian-doc@lists.debian.org>;
accounts-set=
actions=0
apply-on=manual-filtering
contentsA=for <lists-debian-doc@liszt.debian.org>
fieldA=<any header>
funcA=contains
name=<Received>: for <debian-doc@lists.debian.org>;
operator=and
rules=1


The crash can be reproduced every time.

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

Thread 5 (Thread 0x7f86fffa2710 (LWP 19199)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f871c2c5e8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f87177d5e56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2613980, th=0x30bbe00) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f87177d86fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x241e140, th=0x30bbe00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f87177d6c7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f86fffa1e30, parent=0x2613980, th=0x30bbe00) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f87177d71d8 in ThreadWeaver::Thread::run (this=0x30bbe00) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f871c2c4e35 in QThreadPrivate::start (arg=0x30bbe00) at thread/qthread_unix.cpp:248
#8  0x00007f87156b18ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f871ada001d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f86fca72710 (LWP 19260)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f871c2c5e8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f87177d5e56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2613980, th=0x32e2b20) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f87177d86fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x241e140, th=0x32e2b20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f87177d8714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x241e140, th=0x32e2b20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f87177d6c7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f86fca71e30, parent=0x2613980, th=0x32e2b20) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007f87177d71d8 in ThreadWeaver::Thread::run (this=0x32e2b20) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007f871c2c4e35 in QThreadPrivate::start (arg=0x32e2b20) at thread/qthread_unix.cpp:248
#9  0x00007f87156b18ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f871ada001d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f86fd963710 (LWP 19654)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f871c2c5e8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f87177d5e56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2613980, th=0x33c2190) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f87177d86fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x241e140, th=0x33c2190) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f87177d8714 in ThreadWeaver::WorkingHardState::applyForWork (this=0x241e140, th=0x33c2190) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f87177d6c7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f86fd962e30, parent=0x2613980, th=0x33c2190) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007f87177d71d8 in ThreadWeaver::Thread::run (this=0x33c2190) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007f871c2c4e35 in QThreadPrivate::start (arg=0x33c2190) at thread/qthread_unix.cpp:248
#9  0x00007f87156b18ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f871ada001d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f86f7fff710 (LWP 19657)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f871c2c5e8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x242cd00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f87177d5e56 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2613980, th=0x3276cd0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f87177d86fb in ThreadWeaver::WorkingHardState::applyForWork (this=0x241e140, th=0x3276cd0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f87177d6c7f in ThreadWeaver::ThreadRunHelper::run (this=0x7f86f7ffee30, parent=0x2613980, th=0x3276cd0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f87177d71d8 in ThreadWeaver::Thread::run (this=0x3276cd0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f871c2c4e35 in QThreadPrivate::start (arg=0x3276cd0) at thread/qthread_unix.cpp:248
#8  0x00007f87156b18ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f871ada001d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f871e2d0760 (LWP 18856)):
[KCrash Handler]
#5  KMail::ActionScheduler::actionMessage (this=0x2ead540, res=<value optimized out>) at ../../kmail/actionscheduler.cpp:675
#6  0x00007f871cc86338 in KMail::ActionScheduler::filterMessage (this=0x2ead540) at ../../kmail/actionscheduler.cpp:648
#7  0x00007f871cc86c64 in KMail::ActionScheduler::qt_metacall (this=0x2ead540, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff0d15b610) at ./actionscheduler.moc:130
#8  0x00007f871c3c7346 in QMetaObject::activate (sender=0x3132120, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x30bcc98) at kernel/qobject.cpp:3295
#9  0x00007f871c3c3ba3 in QObject::event (this=0x3132120, e=0x7fff0d15bd60) at kernel/qobject.cpp:1212
#10 0x00007f871b75432c in QApplicationPrivate::notify_helper (this=0x22fef40, receiver=0x3132120, e=0x7fff0d15bd60) at kernel/qapplication.cpp:4302
#11 0x00007f871b75a80b in QApplication::notify (this=0x7fff0d15c1d0, receiver=0x3132120, e=0x7fff0d15bd60) at kernel/qapplication.cpp:4185
#12 0x00007f871dcef836 in KApplication::notify (this=0x7fff0d15c1d0, receiver=0x3132120, event=0x7fff0d15bd60) at ../../kdeui/kernel/kapplication.cpp:302
#13 0x00007f871c3b415c in QCoreApplication::notifyInternal (this=0x7fff0d15c1d0, receiver=0x3132120, event=0x7fff0d15bd60) at kernel/qcoreapplication.cpp:726
#14 0x00007f871c3e0ed2 in QCoreApplication::sendEvent (this=0x2302880) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#15 QTimerInfoList::activateTimers (this=0x2302880) at kernel/qeventdispatcher_unix.cpp:603
#16 0x00007f871c3dda48 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#17 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#18 0x00007f87129936c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#19 0x00007f8712997538 in ?? () from /lib/libglib-2.0.so.0
#20 0x00007f87129976ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#21 0x00007f871c3dd713 in QEventDispatcherGlib::processEvents (this=0x21b2840, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#22 0x00007f871b80414e in QGuiEventDispatcherGlib::processEvents (this=0x2ea07d0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#23 0x00007f871c3b2a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#24 0x00007f871c3b2e5c in QEventLoop::exec (this=0x7fff0d15c000, flags=) at kernel/qeventloop.cpp:201
#25 0x00007f871c3b7aeb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#26 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 169048.

Possible duplicates by query: bug 245793, bug 244425, bug 242318, bug 238884, bug 232678.

Reported using DrKonqi
Comment 1 envite 2010-08-02 16:01:05 UTC
Suggestion: make Kmail check if action is empty and substitute it with Command action -> /bin/true
Comment 2 Björn Ruberg 2010-08-08 01:24:51 UTC

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