This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH RFA] lin-lwp.c: Block SIGCHLD events when attaching


On Mon, Nov 19, 2001 at 12:30:45PM -0700, Kevin Buettner wrote:
> When doing a lin_lwp_attach_lwp(), it is sometimes possible to receive
> a SIGCHLD signal thus causing the waitpid() call to fail with EINTR. 
> This in turn causes the second assert() in lin_lwp_attach_lwp() to
> fail.
> 
> Reproducing this problem can be somewhat difficult.  I've only been
> able to reproduce it on a dual processor Linux/x86 machine.  I did
> manage to reproduce it using the linux-dp program as follows:
> 

Have you looked at

http://sources.redhat.com/ml/gdb/2001-09/msg00139.html

Specifically,

# gcc -g ex11.c -lpthread -lrt -D_GNU_SOURCE -static
# a.out
# gdb a.out
...
(gdb) att 14226
Attaching to program: /home/hjl/bugs/gdb/thread/a.out, process 14226
...
lin-lwp.c:620: gdb-internal-error: stop_wait_callback: Assertion `pid == GET_LWP (lp->ptid)' failed.
An internal GDB error was detected.  This may make further

ex11.c is from glibc and 14226 is the first thread. Your patch may fix
it also.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]