spamassassin-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vonlanthen, Elmar" <Elmar.Vonlant...@united-security-providers.ch>
Subject spamd-3.3.2 crash: syswrite() to parent failed
Date Wed, 19 Oct 2011 14:17:57 GMT
Hello all

I have a problem with spamd crashes on a system configured as mail
relay.

In /var/log/mail.err I see the following message:
Oct 19 09:04:00 chwitrmr02 spamd[1512]: syswrite() to parent failed:
Broken pipe at
/usr/local/lib/perl/5.14.1/Mail/SpamAssassin/SpamdForkScaling.pm line
579.

Unfortunately I'm unable to reproduce the crash. But it happens normally
once a day. I seems, that this is a known issue and was solved in 3.1.9
or 3.2.0:
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5313
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=4590 

I have a strace of the spamd main process:

write(4, "<22>Oct 19 09:03:51 spamd[31613]"..., 143) = 143
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {0x80be460, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
waitpid(-1, 0xbfeb8498, WNOHANG)        = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, {0x80be460, [], 0}, {0x80be460, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
gettimeofday({1319007831, 340882}, NULL) = 0
alarm(0)                                = 0
rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
rt_sigaction(SIGALRM, {0x80be460, [], 0}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
alarm(64)                               = 0
select(32, [5 6 8 9 10 11 13 14 17 18 20], NULL, [5 6 8 9 10 11 13 14 17
18 20], {2, 0}) = 1 (in [6], left {1, 999996})
rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
rt_sigaction(SIGALRM, {SIG_DFL}, {0x80be460, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
alarm(0)                                = 64
read(6, "", 6)                          = 0
close(6)                                = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {0x80be460, [], 0}, 8) = 0
waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGINT}], WNOHANG) = 1648
rt_sigprocmask(SIG_BLOCK, [PIPE], [CHLD], 8) = 0
rt_sigaction(SIGPIPE, {0x80be460, [], 0}, {SIG_IGN}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
time([1319007831])                      = 1319007831
time([1319007831])                      = 1319007831
select(8, [4], NULL, [4], {0, 0})       = 0 (Timeout)
write(4, "<22>Oct 19 09:03:51 spamd[31613]"..., 123) = 123
rt_sigprocmask(SIG_BLOCK, [PIPE], [CHLD], 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {0x80be460, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [CHLD], 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
waitpid(-1, 0xbfeb7d28, WNOHANG)        = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigaction(SIGCHLD, {0x80be460, [], 0}, {0x80be460, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [CHLD], NULL, 8) = 0
mmap2(NULL, 4265492480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 4265627648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE,
-1, 0) = 0xb6f07000
munmap(0xb6f07000, 1019904)             = 0
munmap(0xb7100000, 28672)               = 0
mprotect(0xb7000000, 135168, PROT_READ|PROT_WRITE) = 0
mmap2(NULL, 4265492480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = -1 ENOMEM (Cannot allocate memory)
write(2, "Out of memory!\n", 15)        = 15
rt_sigaction(SIG_0, NULL, {SIG_DFL}, 8) = -1 EINVAL (Invalid argument)
rt_sigaction(SIGHUP, NULL, {0x80be460, [], 0}, 8) = 0
rt_sigaction(SIGHUP, {SIG_DFL}, {0x80be460, [], 0}, 8) = 0
rt_sigaction(SIGINT, NULL, {0x80be460, [], 0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {0x80be460, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGILL, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTRAP, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGABRT, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGBUS, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGFPE, NULL, {SIG_IGN}, 8) = 0
rt_sigaction(SIGKILL, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGSEGV, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGUSR2, NULL, {0x80be460, [], 0}, 8) = 0
rt_sigaction(SIGUSR2, {SIG_DFL}, {0x80be460, [], 0}, 8) = 0
rt_sigaction(SIGPIPE, NULL, {SIG_IGN}, 8) = 0
rt_sigaction(SIGALRM, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, NULL, {0x80be460, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, {0x80be460, [], 0}, 8) = 0

Here some more information about my setup:
SpamAssassin: 3.3.2
Perl: 5.14.1
Exim: 4.74
Linux Kernel: 2.6.35.10 (SMP)
CPU: Intel Xeon Quad 2.40GHz
Memory: 8GB

Configuration:
required_score 5.0
report_safe 0
lock_method flock
use_bayes 1
bayes_auto_expire 0
bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn DBI:mysql:antispam:localhost
bayes_sql_username antispam
bayes_sql_password antispam
loadplugin Mail::SpamAssassin::Plugin::DBI
/usr/share/perl5/Mail/SpamAssassin/Plugin/DBI.pm
bayes_auto_learn 1
use_auto_whitelist 1
auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn DBI:mysql:antispam:localhost
user_awl_sql_username antispam
user_awl_sql_password antispam
score PYZOR_CHECK 10.0
score RAZOR2_CHECK 10.0
score PORN_15    5.0
score PORN_16    5.0
score HARDCORE_PORN 5.0
score BAYES_50   0.5
score BAYES_60   1.6
trusted_networks a.b.c.d
skip_rbl_checks 0
rbl_timeout 15
use_pyzor 1
pyzor_timeout 15
use_razor2 1

Plugins loaded by init.pre and v<version>.pre:
loadplugin Mail::SpamAssassin::Plugin::URIDNSBL
loadplugin Mail::SpamAssassin::Plugin::Hashcash
loadplugin Mail::SpamAssassin::Plugin::SPF
loadplugin Mail::SpamAssassin::Plugin::Pyzor
loadplugin Mail::SpamAssassin::Plugin::Razor2
loadplugin Mail::SpamAssassin::Plugin::SpamCop
loadplugin Mail::SpamAssassin::Plugin::AWL
loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
loadplugin Mail::SpamAssassin::Plugin::Check
loadplugin Mail::SpamAssassin::Plugin::HTTPSMismatch
loadplugin Mail::SpamAssassin::Plugin::URIDetail
loadplugin Mail::SpamAssassin::Plugin::Bayes
loadplugin Mail::SpamAssassin::Plugin::BodyEval
loadplugin Mail::SpamAssassin::Plugin::DNSEval
loadplugin Mail::SpamAssassin::Plugin::HTMLEval
loadplugin Mail::SpamAssassin::Plugin::HeaderEval
loadplugin Mail::SpamAssassin::Plugin::MIMEEval
loadplugin Mail::SpamAssassin::Plugin::RelayEval
loadplugin Mail::SpamAssassin::Plugin::URIEval
loadplugin Mail::SpamAssassin::Plugin::WLBLEval
loadplugin Mail::SpamAssassin::Plugin::VBounce
loadplugin Mail::SpamAssassin::Plugin::ImageInfo
loadplugin Mail::SpamAssassin::Plugin::DKIM
loadplugin Mail::SpamAssassin::Plugin::FreeMail

Spamd startoptions:
spamd --ipv4 -u Debian-exim --socketpath=/var/run/spamd/spamd.sock
--max-children 20

Thanks for any help.

Best regards
Elmar

Mime
View raw message