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