This is the mail archive of the
mailing list for the GDB project.
Re: [PATCH RFA] lin-lwp.c: Block SIGCHLD events when attaching
- From: Kevin Buettner <kevinb at cygnus dot com>
- To: "H . J . Lu" <hjl at lucon dot org>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Mon, 19 Nov 2001 17:42:30 -0700
- Subject: Re: [PATCH RFA] lin-lwp.c: Block SIGCHLD events when attaching
- References: <1011119193045.ZM16376@ocotillo.lan> <20011119113832.A8778@lucon.org>
On Nov 19, 11:38am, H . J . Lu wrote:
> 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
> # 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.
I think this might be a different problem. I haven't been able to
reproduce the exact problem that you mentioned above, either with
or without my patch.
I do occassionally see "Cannot find new threads: generic error". I'm
going to try to figure this one out...