A threading deadlock in perl's C code -- that's a perl bug ;) --j.
SZALAY Attila writes: > Hi All! > > I don't know if the problem is in spamassassin or perl or both but I > have a bad experience with spamassassin. And this problems have occured > when I upgraded spamassassin from 3.0.3-2sarge1 to 3.1.7-1~bpo.1. > > And it's look like if nothing else is changed. > > I use pyzor and razor. > > (gdb) bt > #0 0x40046604 in __pthread_sigsuspend (set=0x4004cd00) at > ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 > #1 0x400463c8 in __pthread_wait_for_restart_signal (self=0x4004bf20) at > pthread.c:1203 > #2 0x40047d99 in __pthread_alt_lock (lock=0x401bf350, self=0x4004bf20) at > restart.h:34 > #3 0x40044ba5 in *__GI___pthread_mutex_lock (mutex=0x401bf340) at mutex.c:123 > #4 0x40100262 in __libc_realloc (oldmem=0x9f82ad8, bytes=56) at malloc.c:3434 > #5 0x080aa290 in Perl_safesysrealloc () > #6 0x080c5b28 in Perl_sv_grow () > #7 0x080ca093 in Perl_sv_setpvn () > #8 0x080ebb96 in Perl_die_where () > #9 0x080abb93 in Perl_vdie () > #10 0x080abde5 in Perl_die () > #11 0x080f2ea1 in Perl_pp_die () > #12 0x080bbd69 in Perl_runops_standard () > #13 0x080640c9 in Perl_call_sv () > #14 0x08063ec1 in Perl_call_sv () > #15 0x080b4b27 in Perl_sighandler () > #16 0x40049825 in __pthread_sighandler (signo=14, ctx= > {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, > __dsh = 0, edi = 166750360, esi = 1075573568, ebp = 3221224072, esp = > 3221224060, ebx = 1074056448, edx = 1075573584, ecx = 72, eax = 1075573584, > trapno = 0, err = 0, eip = 1074036598, cs = 35, __csh = 0, eflags = 582, > esp_at_signal = 3221224060, ss = 43, __ssh = 0, fpstate = 0xbffff800, oldmask > = 2147483648, cr2 = 0}) at sighandler.c:39 > #17 <signal handler called> > #18 0x40047f76 in __pthread_alt_unlock (lock=0x401bf350) at spinlock.c:515 > #19 0x40044d7a in *__GI___pthread_mutex_unlock (mutex=0x401bf340) at > mutex.c:199 > #20 0x400fff52 in __libc_malloc (bytes=24) at malloc.c:3319 > #21 0x080aa1bf in Perl_safesysmalloc () > #22 0x080cad32 in Perl_sv_magicext () > #23 0x080caf8c in Perl_sv_magic () > #24 0x080d0463 in Perl_sv_taint () > #25 0x080ce759 in Perl_sv_mortalcopy () > #26 0x080ed5fc in Perl_pp_return () > #27 0x080bbd69 in Perl_runops_standard () > #28 0x080635e8 in perl_run () > #29 0x080633f5 in perl_run () > #30 0x0805fb9f in main () > > The main problem is obvious, calling realloc from signal handler is not > safe but I don't know who do this. > > Is this a known problem? > Which one I have to upgrade? Perl or spamassassin? May I disable pyzor > and razor?