Amavisd routinely fails to correctly tag Spam via SpamAssassin calls

Mark Martinec via amavis-users amavis-users at amavis.org
Wed May 7 16:15:07 CEST 2014


Quanah,

>>> If not, try turning it on: it makes SpamAssassin run in a forked
>>> subprocess, which takes more memory, but isolates catastrophic 
>>> failures
>>> in SpamAssassin from taking down the amavisd process.
> 
> Ok, I don't currently do that but can give it a try.

But first check for any process crashes in system's log.

Another option to try when there is a suspicion that a perl
process may be crashing is to add a line:

   use sigtrap qw(stack-trace BUS SEGV EMT FPE ILL SYS);

somewhere near the beginning of the amavisd file, perhaps
just before the first 'use strict'.  (or use 2.9.0,
which already contains this line).  Then start amavisd from
a command line and prevent it from daemonizing. This way
the STDERR will stay connected to the terminal, and any
catastrophic signals captured by the sigtrap pragma will
cause a perl's stack trace to be written to stderr.
Like this:

   # amavisd foreground

or

   # amavisd foreground >err.log 2>&1 &


>>> Is your perl compiled with threads support?
> SA 3.4.0, perl5 (revision 5 version 10 subversion 1)
> Yes: -Duseithreads

Thanks.

   Mark


More information about the amavis-users mailing list