Bug 5679 - spamd problem possibly caused by child processing timeout
Summary: spamd problem possibly caused by child processing timeout
Status: NEW
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: spamc/spamd (show other bugs)
Version: 3.2.3
Hardware: HP Linux
: P3 major
Target Milestone: Undefined
Assignee: SpamAssassin Developer Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-12 00:25 UTC by Viktoria Lane
Modified: 2008-03-07 10:56 UTC (History)
1 user (show)



Attachment Type Modified Status Actions Submitter/CLA Status

Note You need to log in before you can comment on or make changes to this bug.
Description Viktoria Lane 2007-10-12 00:25:10 UTC
We have the 2 servers using Suse Linux Enterprise 10, spamassassin 3.2.3, perl 
5.8.8. Bayes’s base is located on remote mysql server (v. 5.0.27).
It was noticed that when the server becomes busy and spamassassin begins
to expire old tokens , spamassassin was parsing mail queue very slowly, though 
prefork child states show  that the spamd processes exist. 

The log file shows:
bayes: expire_old_tokens: child processing timeout at /usr/bin/spamd 
line 1246, <$tmpfile> line 1
spamd processes, for example:
spamd[13379]: rules: failed to run BAYES_99 test, skipping:
spamd[13379]:  (child processing timeout at /usr/bin/spamd line 1246, 
<GEN235> line 63.
spamd[13379]: )
spamd[13382]: Argument "M-IM-~M-{M-`s" isn't numeric in addition (+) at 
/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Bayes.pm line 1348, 
<$tmpfile> line 1.
spamd[13390]: Argument "M-^[=AM-^\^G" isn't numeric in addition (+) at 
/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Bayes.pm line 1348, 
<$tmpfile> line 1.
spamd[13318]: spamd: handled cleanup of child pid 13385 due to SIGCHLD
spamd[13318]: spamd: handled cleanup of child pid 13387 due to SIGCHLD

After spamassassin had restarted his processes it continued to work normally 
but some messages were lost during this incident.
Comment 1 Tom Schulz 2007-10-12 06:29:38 UTC
This looks a lot like bug 5671, although there is no indication that an
expire was involved in that bug.
Comment 2 Viktoria Lane 2007-10-17 07:10:55 UTC
(In reply to comment #1)
> This looks a lot like bug 5671, although there is no indication that an
> expire was involved in that bug.
 
Maybe. Messages 
expire_old_tokens: child processing timeout at /usr/bin/spamd
appears periodically, but not always are accompanied by other errors. It seems 
our problem appears, when a lot of messages fall into mail queue at short 
time. Today where were a another error:
rules: failed to run BAYES_99 test, skipping:
(panic: sv_setpvn called with negative strlen 
at /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/BayesStore/SQL.pm line 
587, <$tmpfile> line 1.
prepare_cached(SELECT spam_count, ham_count, token_count, last_expire, 
last_atime_delta, last_expire_reduce,oldest_token_age, 
newest_token_age
FROM bayes_vars
WHERE id= ?) statement handle DBI::st=HASH(0x8e31954) still Active 
at /usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/BayesStore/SQL.pm line 
1348, <$tmpfile> line 1.

But all other error messages still exists. Do you get errors in Bayes.pm and 
Sql.pm modules?