You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by SZALAY Attila <sa...@balabit.hu> on 2007/01/17 07:19:25 UTC

Deadlock in spamassassin

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?