[Mimedefang] Mimedefang crashes on FreeBSD 6 STABLE, amd64

Martin Blapp mb at imp.ch
Fri Oct 19 03:56:29 EDT 2007


Hi everybody,

I'm trying to get mimedefang running on amd64. But unfortunatly the threaded
milter part ('mimedefang') does segfault after some time, normally 1-2 minutes.

pid 2331 (mimedefang), uid 1001: exited on signal 11 (core dumped)

gdb /idms/bin/mimedefang mimedefang-2331.core
#0  0x000000080066389c in pthread_testcancel () from /lib/libpthread.so.2
[New Thread 0x560000 (runnable)]
[New Thread 0x599800 (runnable)]
[New Thread 0x546c00 (runnable)]
[New Thread 0x5ad400 (runnable)]
[New Thread 0x5ad000 (runnable)]
[New Thread 0x599c00 (runnable)]
[New Thread 0x560800 (runnable)]
[New Thread 0x55e800 (runnable)]
[New Thread 0x55ec00 (runnable)]
[New Thread 0x55e400 (runnable)]
[New Thread 0x560c00 (runnable)]
[New Thread 0x58fc00 (runnable)]
[New Thread 0x57fc00 (runnable)]
[New Thread 0x599000 (runnable)]
[New Thread 0x52ac00 (runnable)]
[New Thread 0x57f800 (runnable)]
[New Thread 0x58f000 (runnable)]
[New Thread 0x57f400 (runnable)]
[New Thread 0x58f800 (runnable)]
[New Thread 0x52a800 (runnable)]
[New Thread 0x57f000 (runnable)]
[New Thread 0x546800 (runnable)]
[New Thread 0x52a400 (sleeping)]
[New Thread 0x52a000 (LWP 100058)]
[New Thread 0x524000 (runnable)]
[New LWP 100266]

Unfortunaltly the stack trace doesn't seem to be very usable:

(gdb) where
#0  0x000000080066c3fc in kse_thr_interrupt () at kse_thr_interrupt.S:2
#1  0x000000080065390a in sig_daemon (arg=0x0) at /usr/src/lib/libpthread/thread/thr_sig.c:214
#2  0x0000000800661e2e in kse_sched_single (kmbx=0x521318) at /usr/src/lib/libpthread/thread/thr_kern.c:886
#3  0x0000000000000000 in ?? ()
Cannot access memory at address 0x7fffffbff000

(gdb) frame 2
#2  0x0000000800661e2e in kse_sched_single (kmbx=0x521318) at 
/usr/src/lib/libpthread/thread/thr_kern.c:886
886                     pthread_exit(curthread->start_routine(curthread->arg));
(gdb) p kmbx

$1 = (struct kse_mailbox *) 0x521318

(gdb) p *kmbx
$2 = {km_version = 0, km_curthread = 0x0, km_completed = 0x0, km_sigscaught = 
{__bits = {0, 0, 0, 0}}, km_flags = 19,
   km_func = 0x800661560 <kse_sched_single>, km_stack = {ss_sp = 0x7fffff9ff000 
<Address 0x7fffff9ff000 out of bounds>,
     ss_size = 2097152, ss_flags = 0}, km_udata = 0x51c600, km_timeofday = 
{tv_sec = 0, tv_nsec = 0}, km_quantum = 0, km_lwp = 100058,
   __spare2__ = {0, 0, 0, 0, 0, 0, 0}}

I've tried to replace libpthread.so.2 with libc_r.6 or libthr.2, but
this doesn't help at all, I get smiliar segfaults. libc_r.6 is a userland
threading library, so it's definitly not the kernel which has a problem.

Are there known bugs with mimedefang on 64bit architectures ?

--
Martin

Martin Blapp, <mb at imp.ch> <mbr at FreeBSD.org>
------------------------------------------------------------------
ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
Phone: +41 61 826 93 00 Fax: +41 61 826 93 01
PGP: <finger -l mbr at freebsd.org>
PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
------------------------------------------------------------------




More information about the MIMEDefang mailing list