On 2021-11-15 at 18:08:20 UTC-0500 (Mon, 15 Nov 2021 16:08:20 -0700)
Philip Prindeville <philipp_s...@redfish-solutions.com>
is rumored to have said:

On Nov 12, 2021, at 8:49 PM, John Hardin <jhar...@impsec.org> wrote:

On Fri, 12 Nov 2021, Philip Prindeville wrote:

I got the message, saved it to a flat file, and ran "spamassassin -t -D rules < netdev.eml" and saw:

...
Nov 12 11:45:38.048 [36367] dbg: rules: ran eval rule __ANY_TEXT_ATTACH_DOC ======> got hit (1)
...
Nov 12 11:45:38.063 [36367] dbg: rules: ran eval rule __ANY_TEXT_ATTACH ======> got hit (1) Nov 12 11:49:58.565 [36367] info: check: exceeded time limit in Mail::SpamAssassin::Plugin::Check::_eval_tests_type11_pri0_set1, skipping further tests
...

Am I correct that __ANY_TEXT_ATTACH alone took 4:30s?

"ran ... got hit" is past tense. And it needs to complete the rule to know whether it got a hit.

11:45:38.048 -> 11:45:38.063 = less than 20 msec.

The next rule, whatever that was, is the one that timed out after 4m20s.


Ah, the rule _eval_tests_type11_pri0_set1() took 4:20.

Why can't I even find the rule?

That "rule" is actually a subroutine that is assembled and named at runtime in M:SA:Check from set 1 (probably the only set) of the "body eval" (type 11) rules running at priority 0.

Which suggests a tough bit of troubleshooting.

Could there be rules that *aren't* matching but are taking a while?

It's timing out on a rule that's running away. The timeout triggers before "hit/no hit" is known.

What would be helpful here would be logging of when a rule *starts* evaluation. Normally that would be painful, but for tracking a runaway it would be useful. Perhaps I can code up something to capture that and log it on a timeout...


Whenever a rule gets started, you could save the name and start time, and then burp that during timeout handling, right?

I like that idea. I have no idea how feasible it is.




--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire

Reply via email to