bug-glibc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: malloc/killpg bug?


From: Wolfram Gloger
Subject: Re: malloc/killpg bug?
Date: Mon, 18 Nov 2002 15:45:52 +0100 ("MET)

Hi,

> I am using a version of glib, supplied as an rpm called 
> glibc-2.2.2-6.1mdk,

If that is really based on glibc-2.2.2, it is truely ancient software.
You should use at least glibc-2.2.5.  But anyway..

> is intermittent. Attaching gdb to the running process allows the 
> following stack trace to be generated.
> 
> 0x402c5da2 in sigsuspend () from /lib/libc.so.6
> (gdb) bt
> #0  0x402c5da2 in sigsuspend () from /lib/libc.so.6
> #1  0x4002f850 in __pthread_wait_for_restart_signal (self=0x40039440)
>       at pthread.c:928
> #2  0x400317b7 in __pthread_alt_lock (lock=0x403bf8c0, self=0x0)
>       at restart.h:34
> #3  0x4002dbe5 in __pthread_mutex_lock (mutex=0x403bf8b0) at mutex.c:120
> #4  0x40316e88 in free () from /lib/libc.so.6
> #5  0x080a5824 in ?? ()
> #6  0x080a29a6 in ?? ()
> #7  0x080a3006 in ?? ()
> #8  0x080c2c63 in ?? ()
> #9  0x080c3a55 in ?? ()
> #10 0x080a75d5 in ?? ()
> #11 0x400300fe in pthread_sighandler (signo=14, ctx=
>         {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds =
> 43, __dsh = 49168, edi = 12, esi = 169684248, ebp = 3221207288, esp =
> 3221207200, ebx = 1077677868, edx = 1077671168, ecx = 105, eax =
> 1077671176, trapno = 0, err = 0, eip = 1076979034, cs = 35, __csh = 0,
> eflags = 643, esp_at_signal = 3221207200, ss = 43, __ssh = 0, fpstate =
> 0xbfffb620, oldmask = 2147483648, cr2 = 0})
>       at signals.c:97
> #12 0x402c5b68 in killpg () from /lib/libc.so.6
> #13 0x4031620a in malloc () from /lib/libc.so.6
> #14 0x4015241e in TclpAlloc () from /usr/lib/libtcl.so
> #15 0x401574e1 in Tcl_Alloc () from /usr/lib/libtcl.so
> #16 0x40197ea0 in Tcl_NewStringObj () from /usr/lib/libtcl.so
> #17 0x4019f754 in Tcl_ArrayObjCmd () from /usr/lib/libtcl.so
> #18 0x4016f230 in TclExecuteByteCode () from /usr/lib/libtcl.so
> #19 0x401541c0 in Tcl_EvalObjEx () from /usr/lib/libtcl.so
> #20 0x40194422 in TclObjInterpProc () from /usr/lib/libtcl.so

This looks like you are indirectly calling free() from within a signal
handler for SIGALARM in your own code (0x080a75d5).  _If_ that is the
case, well, you can't do that.

Regards,
Wolfram.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]