[Akonadi] [Bug 319226] produces 1-byte-sized on processing crm114 spam filter rules

Martin Steigerwald Martin at Lichtvoll.de
Sat May 4 12:30:58 BST 2013


https://bugs.kde.org/show_bug.cgi?id=319226

--- Comment #16 from Martin Steigerwald <Martin at Lichtvoll.de> ---
I found a grave mistake in one of my crm114 spam filter rules, which may
explain these one-byte-sized files. I did some testing and it seems it doesn´t
cause that harm, but well, maybe it still does:

It may have been this grave misconfiguration causing all the havoc. If so,
please accept my apology!

I will take time to compare my crm114 rules with Sinclair, and with my old one
and think of safe ways to test with new filter rules.


>From a posting from me from this thread:
http://lists.kde.org/?l=kdepim-users&m=136750887020427&w=2

> For comparison of rules with O. Sinclair, a another CRM114 user on kdepim-
> users, I pasted them. During that I found a grave error in one of those
> rules:
> 
> [Filter #39]
> Applicability=0
> AutomaticName=false
> ConfigureShortcut=true
> ConfigureToolbar=true
> Enabled=true
> Icon=mail-mark-notjunk
> StopProcessingHere=true
> ToolbarName=crm114: Als Gut einstufen
> accounts-set=akonadi_pop3_resource_0,akonadi_maildir_resource_0
> action-args-0=H
> action-args-1=crm -u ~/.crm114 mailreaver.crm --good
> action-args-2=rm -u ~/.crm114 mailreaver.crm
                          ^ ^ ^
> 
> GOSH! That rm -u should be a "crm", a copy and paste error. I think I
> noticed an error like this and fixed it.
> 
> That might explain what I am seeing.
> 
> 
> action-name-0=unset status
> action-name-1=execute
> action-name-2=filter app
> actions=3
> apply-on=manual-filtering
> identifier=XOzgjB9dqty8V2Zn
> name=crm114: Als Gut einstufen
> operator=all
> rules=0
> 
> 
> This may explain the issues I have experienced, although …
> 
> … still that filter was after all mailing list based filters and the
> one-byte sized files where sorted into mailing lists by previous filters
> which have StopProcessingHere.
> 
> I will look at newer revisions of my filter rules.
> 
> 
> And well, I also had one-byte sized files with imported filter rules from
> KDEPIM-1, which were not having this "rm" in it. Just checked it.
> 
> But still:
> 
> merkaba:/tmp> echo "test" > test
> merkaba:/tmp> LANG=C rm -u test
> rm: invalid option -- 'u'
> Try 'rm --help' for more information.
> merkaba:/tmp#1> cat test
> test
> merkaba:/tmp>
> 
> 
> So if Akonadi pipes the mail through rm -u, it should get back "rm: invalid
> option -- 'u'
> Try 'rm --help' for more information."
> 
> or something like that.
> 
> Well, that could somehow have lead to a one byte sized file.

I tried just this misconfigured filter rule a ton of time with Ctrl-J and
triggering via filter actions menu on two test mails. These are still there.

I thought they would be gone. Maybe Akonadi doesn´t accept the pipe result, if
the command returns an error code?

I don´t even see the rm to be called, but may be to quick to notice.

While thats no prove that the rule did not cause any havoc, I have an idea on
how to test crm114 filter rules for one-byte sized files (with crm    114 rules
enabled) safely:

1) create a pop3 test account

2) stuff a lots of mails to this mail account via a for loop and mail command.

3) retrieve mails only from that test account.

I think I will try this way.


I found another mistake with the mark as good rule: It should not be called on
manual filtering, only by being called from filter action menu or icon.

While this should not cause one-byte sized files, it might have contributed to
several filters being called quickly one after another and possible race
conditions relating that.


martin at merkaba:~> while true; do ps aux | grep rm | egrep -v
"(grep|btrfs|dirmngr)" ; sleep 0.01 ; done
martin    6208  0.0  0.0   4180   576 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentD29042.tmp
martin    6209  0.0  0.0  89148  1480 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6263  0.0  0.0   4180   580 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentL29042.tmp
martin    6264  0.0  0.0  89144  1468 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6311  0.0  0.0   4180   580 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentF29042.tmp
martin    6312  0.0  0.0  89016  1416 ?        R    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6311  0.0  0.0   4180   580 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentF29042.tmp
martin    6312  0.0  0.0  89148  1476 ?        R    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6361  0.0  0.0   4180   580 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentj29042.tmp
martin    6362  0.0  0.0  89152  1480 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6416  0.0  0.0   4180   576 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentg29042.tmp
martin    6417  0.0  0.0  89152  1480 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6464  0.0  0.0   4180   576 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agenta29042.tmp
martin    6465  0.0  0.0  89152  1480 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6515  0.0  0.0   4180   576 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agents29042.tmp
martin    6516  0.0  0.0  89020  1408 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6515  0.0  0.0   4180   576 ?        S    13:11   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agents29042.tmp
martin    6516  0.0  0.0  89152  1472 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6533  0.0  0.0  89152   648 ?        S    13:11   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    6534  0.0  0.0   4180   576 ?        S    13:11   0:00 sh -c
.\/mailtrainer.crm --fileprefix=
--good=reaver_cache/known_good/20130504_131157_862193_C8DEACBE
--spam=reaver_cache/empty/ 
martin    6535  0.0  0.0  93208  1420 ?        R    13:11   0:00 /usr/bin/crm
./mailtrainer.crm --fileprefix=
--good=reaver_cache/known_good/20130504_131157_862193_C8DEACBE
--spam=reaver_cache/empty/
martin    7390  0.0  0.0   4180   576 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentQ29042.tmp
martin    7392  0.0  0.0  89152  1428 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7390  0.0  0.0   4180   576 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentQ29042.tmp
martin    7392  0.0  0.0  89152  1488 ?        R    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7445  0.0  0.0   4180   576 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agenta29042.tmp
martin    7447  0.0  0.0  89152  1480 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7445  0.0  0.0   4180   576 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agenta29042.tmp
martin    7447  0.0  0.0      0     0 ?        R    13:12   0:00 [crm]
martin    7496  0.0  0.0   4180   580 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agente29042.tmp
martin    7498  0.0  0.0  89148  1420 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7548  0.0  0.0   4180   580 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentA29042.tmp
martin    7549  0.0  0.0  89016  1292 ?        R    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7548  0.0  0.0   4180   580 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentA29042.tmp
martin    7549  0.0  0.0  89148  1472 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7566  0.0  0.0  89148   652 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7567  0.0  0.0   4180   580 ?        S    13:12   0:00 sh -c
.\/mailtrainer.crm --fileprefix=
--good=reaver_cache/known_good/20130504_131206_383516_C8DEACBE
--spam=reaver_cache/empty/ 
martin    7568  0.0  0.0 122148  4948 ?        R    13:12   0:00 /usr/bin/crm
./mailtrainer.crm --fileprefix=
--good=reaver_cache/known_good/20130504_131206_383516_C8DEACBE
--spam=reaver_cache/empty/
martin    7603  0.0  0.0   4180   580 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentb29042.tmp
martin    7604  0.0  0.0  89016  1408 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7603  0.0  0.0   4180   580 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agentb29042.tmp
martin    7604  0.0  0.0  89148  1472 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7621  0.0  0.0  89148   652 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good
martin    7622  0.0  0.0   4180   576 ?        S    13:12   0:00 sh -c
.\/mailtrainer.crm --fileprefix=
--good=reaver_cache/known_good/20130504_131206_586995_C8DEACBE
--spam=reaver_cache/empty/ 
martin    7623  0.0  0.0  93208  1444 ?        R    13:12   0:00 /usr/bin/crm
./mailtrainer.crm --fileprefix=
--good=reaver_cache/known_good/20130504_131206_586995_C8DEACBE
--spam=reaver_cache/empty/
martin    7653  0.0  0.0   4180   576 ?        S    13:12   0:00 /bin/sh -c
(crm -u ~/.crm114 mailreaver.crm --good)
</tmp/kde-martin/akonadi_mailfilter_agents29042.tmp
martin    7655  0.0  0.0  89148  1472 ?        S    13:12   0:00 crm -u
/home/martin/.crm114 mailreaver.crm --good

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Kdepim-bugs mailing list