SA Bugzilla – Bug 5120
run-away/never-ending message check
Last modified: 2006-12-30 19:16:30 UTC
This is a possible DOS attack (at least as far as I am affected). I upgraded to v3.1.6 since I was getting this problem on v3.0.2 both running Perl 5.8.3 on FreeBSD 4.9, dual P3Xeon-500 intel. Spamassassin is being invoked from user-specific .procmailrc using spamc/spamd an user-specific config/options coming from mysql. I'm getting never-ending spamd child processes. The messages being analyzed are all types. I have not seen a pattern yet. Since the never-ending processes eventually use up all available spamd child processes, eventually no checking is done. I had let 3.1.6 manage the child processes but it ran out of processes. Both default and explicitly specified timeout-child did NOT trigger killing of the child pid. I set the max-message per child to 1 and timeout-child also did not trigger. I am now running a periodic checker to kill any child pids that exceed 5 mins of CPU time.
Please attach a sample message that causes the problem. You'll also want to debug what is going on. running with -D or using strace would be useful. my first reaction is that you're having a bayes expiry done, which may take a long time, especially on older/slower hardware.
See bug 4650 comment 2 and bug 3532 comment 7. It really would be good if the bayes housekeeping were not done by the noramal spamd children.
Hearing nothing, I'm closing this ticket.