[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: spass-milter core dump, Dan Nelson
From: |
James Lees Vodanovich |
Subject: |
Re: spass-milter core dump, Dan Nelson |
Date: |
Wed, 28 Mar 2007 11:51:15 +1000 |
User-agent: |
Mail/News 1.5.0.10 (X11/20070323) |
/
Thank you for the pointers.
I got the following error.
Error detected by libpthread: Invalid mutex.
Detected by file "/home/builds/ab/netbsd-3-1-RELEASE/src/lib/libpthread/pthread_mutex.c",
line 334, function "pthread_mutex_unlock".
See pthread(3) for information.
After Some digging around, I found this occurs when performing an invalid
function, such as unlocking a previously unlocked lock.
I cant see any reference to these functions in the code,
I even took the step of deleting the FreeBSD lines from the code prior to compilation
But still I find them in the Binary.
nm work/spamass-milter-0.3.1/spamass-milter | grep thread
08050a40 t _Z18__gthread_active_pv
080509c4 t _Z20__gthread_mutex_lockP18__pthread_mutex_st
080509e8 t _Z22__gthread_mutex_unlockP18__pthread_mutex_st
08056b0c r _ZZ18__gthread_active_pvE20__gthread_active_ptr
U pthread_create
U pthread_detach
built with the following
c++ -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -O2 -I/usr/include -Wall
-fno-default-inline -fno-inline -pthread -c -o spamass-milter.o
spamass-milter.cpp
c++ -O2 -I/usr/include -Wall -fno-default-inline -fno-inline -pthread
-L/usr/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -o spamass-milter
spamass-milter.o -lmilter
For the meantime I have set PTHREAD_DIAGASSERT=A
which ignores the error, but this doesn't make me feel too comfortable.
/>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.
/ 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
- Re: spass-milter core dump, Dan Nelson,
James Lees Vodanovich <=