This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: threads/1154: gdb-5.3 + glibc-2.3.2 fail for my multithreaded program
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 27 Mar 2003 16:38:00 -0000
- Subject: Re: threads/1154: gdb-5.3 + glibc-2.3.2 fail for my multithreaded program
- Reply-to: Daniel Jacobowitz <drow at mvista dot com>
The following reply was made to PR threads/1154; it has been noted by GNATS.
From: Daniel Jacobowitz <drow at mvista dot com>
To: Mat Hostetter <mat at curl dot com>
Cc: gdb-gnats at sources dot redhat dot com
Subject: Re: threads/1154: gdb-5.3 + glibc-2.3.2 fail for my multithreaded program
Date: Thu, 27 Mar 2003 11:28:47 -0500
On Thu, Mar 27, 2003 at 11:23:53AM -0500, Mat Hostetter wrote:
> FWIW this is still broken in gdb-20030327.
>
> If I change selected_frame to get_selected_frame() as you suggest, it
> does indeed fix the segfault:
Thanks for checking.
> GNU gdb 20030327
> Copyright 2003 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu"...
> (gdb) handle SIG32 noprint
> Signal Stop Print Pass to program Description
> SIG32 No No Yes Real-time event 32
> (gdb) run -s
> Starting program: /local/scratch/mat/trunk/bin/curl-builder -s
> Couldn't get registers: Operation not permitted.
> (gdb) info threads
> Couldn't get registers: Operation not permitted.
> (gdb) info threads
> Couldn't get registers: Operation not permitted.
> (gdb) quit
> The program is running. Exit anyway? (y or n) y
> [hangs forever]
>
>
> Trying to quit gdb after the EPERM still hangs forever.
> Here is the backtrace where it's hung:
>
> (gdb) bt 10
> #0 0x400fd138 in wait () from /lib/libc.so.6
This does suggest to me that you've ended up with NPTL.
I know why the wait is hanging; I have been discussing a kernel
behavior change to fix this but I haven't gotten around to finding out
who in Red Hat is working on their NPTL debug support, and I don't want
to break whatever they're doing.
> #1 0x08105adc in ptrace_wait (ptid={pid = 0, lwp = 0, tid = 0}, status=0xffffffff) at infptrace.c:206
> #2 0x08105b53 in kill_inferior () at infptrace.c:229
> #3 0x080f5196 in quit_force (args=0x0, from_tty=1) at top.c:1715
> #4 0x08078626 in do_cfunc (c=0xfffffe00, args=0x0, from_tty=1) at cli/cli-decode.c:53
> #5 0x08079ef6 in cmd_func (cmd=0x82648e8, args=0x0, from_tty=1) at cli/cli-decode.c:1531
> #6 0x080f3dfe in execute_command (p=0x823fbfc "", from_tty=1) at top.c:711
> #7 0x080baf01 in command_handler (command=0x823fbf8 "quit") at event-top.c:502
> #8 0x080bb320 in command_line_handler (rl=0x829a930 " ?)\b") at event-top.c:797#9 0x08191f45 in rl_callback_read_char () at callback.c:123
>
> -Mat
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer