[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: spass-milter core dump
From: |
Dan Nelson |
Subject: |
Re: spass-milter core dump |
Date: |
Tue, 27 Mar 2007 11:03:56 -0500 |
User-agent: |
Mutt/1.5.14 (2007-02-12) |
In the last episode (Mar 27), James Lees Vodanovich said:
> I am running
> Spamassasin 3.1.8
> Spamass-milter 0.3.1
> Sendmail 8.13.5
> on NetBSD 3.1
>
> The load is about 170 messages per hour
>
> Spamass-milter crashes about intermittently
> Command line
> is -u nobody -p /var/run/spamass.sock -f
> Nothing in spamassin's log or sendmail's log give any sense of what went
> wrong.
>
> The relevant section from my mc config file is
> #Spassassian Stuff
> #Improve Milter performance
> define(`confSEPARATE_PROC', `True')dnl
> define(`confMAX_DAEMON_CHILDREN', `24')dnl
> #The Milter
> INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass.sock, F=T,
> T=C:20m;S:20m;R:20m;E:20m')
> define(`confINPUT_MAIL_FILTERS', `spamassassin')dnl
> define(`confMILTER_MACROS_ENVRCPT',`r, v, Z')dnl
> define(`confMILTER_MACROS_CONNECT',`t, b, j, _, {daemon_name}, {if_name},
> {if_addr}')dnl
> define(`confMILTER_MACROS_HELO',`s, {tls_version}, {cipher}, {cipher_bits},
> {cert_subject}, {cert_issuer}')dnl
>
>
> Here is the backtrace from spamass-milter.core (28MB) it had been
> running only a few hours
> Any idea's
> (gdb) bt
> #0 0xbda5e0fb in kill () from /usr/lib/libc.so.12
> #1 0xbdb103b5 in pthread__errorfunc () from /usr/lib/libpthread.so.0
> #2 0xbdb0d441 in pthread_mutex_unlock () from /usr/lib/libpthread.so.0
> #3 0x0805336a in std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > std::operator+<char, std::char_traits<char>,
> std::allocator<char> >(char const*, std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) ()
> #4 0x0805291a in std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > std::operator+<char, std::char_traits<char>,
> std::allocator<char> >(char const*, std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) ()
> #5 0x080529bb in std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > std::operator+<char, std::char_traits<char>,
> std::allocator<char> >(char const*, std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) ()
> #6 0xbdb0f17d in pthread_create () from /usr/lib/libpthread.so.0
That's an odd stack trace, since I don't see any frames belonging to
spamass-milter itself, and I don't think the standard C++ string
methods use mutexes :) It looks like pthread_mutex_unlock found
something wrong and called pthread__errorfunc to print a message, which
then called kill(getpid(), SIGABRT). To get that error message, you
can either run spamass-milter in a terminal window without background
it, or you can set the environment variable PTHREAD_DIAGASSERT to "l",
which should cause the error to get sent to syslog.
Spamass-milter doesn't use any mutexes itself except when running on
FreeBSD (to work around a popen bug in old versions of 4.x), so I'm not
sure what the underlying cause would be.
--
Dan Nelson
address@hidden