[Postfixbuch-users] Amavis-Probleme - "SA TIMED OUT" bei manchen Mails

Christian Boltz postfixbuch at cboltz.de
Mo Jul 18 16:37:06 CEST 2011


Hallo zusammen,

ich habe seit 3 Tagen recht unerklärliche Ausfälle eines Servers
(openSUSE 11.1 + Evergreen). Das ganze begann mit einem nächtlichen
"Hänger", heute hat sich der Server dann im Stundentakt verabschiedet :-(
Die Logs hören immer plötzlich auf, was bei der Fehlersuche natürlich
hilfreich ist :-/

Nach einiger Ursachensuche ist mir irgendwann ein amavis-Child-Prozess 
aufgefallen, der knapp 100% CPU-Last erzeugt und für amavis-Verhältnisse
"ewig" lang läuft (über mehrere Minuten).

Das Problem taucht nur bei einzelnen Mails auf (wobei die betroffenen 
Mails keinem erkennbaren Muster folgen), der Großteil geht problemlos 
durch.

Beispielhafter Logauszug (systhematisch ;-) anonymisiert):

Jul 18 16:03:54 server amavis[24332]: (24332-03) ESMTP::10024 /var/spool/amavis/tmp/amavis-20110718T160044-24332: 
<user at domain.tld> -> <foo at example.com> SIZE=11350 Received: from mail.cboltz.de ([127.0.0.1]) by localhost (mail.cboltz.de 
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP for <foo at example.com>; Mon, 18 Jul 2011 16:03:54 +0200 (CEST)
Jul 18 16:03:55 server amavis[24332]: (24332-03) Checking: a9X-CgzDesS9 [12.34.56.78] <user at domain.tld> -> <foo at example.com>
Jul 18 16:09:15 server amavis[24332]: (24332-03) (!)SA TIMED OUT, backtrace: at 
/usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/BayesStore/DBM.pm line 630\n\teval {...} called at 
/usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/BayesStore/DBM.pm line 
630\n\tMail::SpamAssassin::BayesStore::DBM::calculate_expire_delta('Mail::SpamAssassin::BayesStore::DBM=HASH(0x26ad508)', 
1310997804, 43200, 512) called at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/BayesStore.pm line 
322\n\tMail::SpamAssassin::BayesStore::expire_old_tokens_trapped('Mail::SpamAssassin::BayesStore::DBM=HASH(0x26ad508)', undef) 
called at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/BayesStore.pm line 215\n\teval {...} called at 
/usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/BayesStore.pm line 
212\n\tMail::SpamAssassin::BayesStore::expire_old_tokens('Mail::SpamAssassin::BayesStore::DBM=HASH(0x26ad508)', undef) called at 
/usr/lib/perl5/vendor_perl/5.10.0/Mail[...]
Jul 18 16:10:03 server amavis[24332]: (24332-03) SpamControl: rundown_child on SpamAssassin done
Jul 18 16:10:03 server amavis[24332]: (24332-03) (!)TempDir removal: tempdir is to be PRESERVED: 
/var/spool/amavis/tmp/amavis-20110718T160044-24332

Wenn ich die betroffene Mail manuell durch SA jage, kommt folgendes:
(Laufzeit ca. 14s - manchmal taucht die "warn"-Zeile auch mehrfach auf 
und verlängert die Laufzeit um jeweils ca. 10s)

vscan at server:~/tmp/amavis-20110718T160044-24332> spamassassin email.txt  |head -n30
[3783] warn: bayes: cannot open bayes databases /var/spool/amavis/.spamassassin/bayes_* R/W: lock failed: File exists
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mail.cboltz.de
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,HTML_IMAGE_RATIO_06,
        HTML_MESSAGE autolearn=unavailable version=3.2.5
X-Greylist: from auto-whitelisted by SQLgrey-1.6.8
[...]

Hat jemand eine Idee, was das Problem verursacht und was ich dagegen 
tun kann? (Google war nicht wirklich hilfreich.)

Momentan habe ich übrigens einen Cronjob, der alle 10 Minuten amavis
neu startet - nicht wirklich schön, es hält mir aber immerhin die 
100% CPU-Jobs in Schach ;-)


Gruß

Christian Boltz
-- 
"Die meisten Menschen pflegen im Kindesalter vom Zeigen auf Gegenstände
(Mausbewegung) und 'ga' sagen (Mausklick) abzukommen, zugunsten eines
mächtigeren und langwierig zu erlernenden Tools (Sprache)".
[Achim Linder in de.comp.os.unix.linux.misc]



Mehr Informationen über die Mailingliste Postfixbuch-users