Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: Michael Snyder <msnyder@vmware.com>
Subject: Re: GDB hangs on kill or quit (after following a fork child, not detaching from the parent)
Date: Thu, 18 Dec 2008 21:26:00 -0000	[thread overview]
Message-ID: <200812182125.17188.pedro@codesourcery.com> (raw)
In-Reply-To: <200812182103.42148.pedro@codesourcery.com>

On Thursday 18 December 2008 21:03:41, Pedro Alves wrote:

> Yeah, I should have mentioned it before:  At first I also
> thought it was checkpoints related, then I noticed that
> when 'set follow-fork-mode' is child, checkpoints are broken
> for other reasons.  It may well be that it always was (broken):
> 
> gdb-6.8:
> 
>  (top-gdb) set follow-fork-mode child
>  (top-gdb) start
>  Breakpoint 3 at 0x4509a7: file ../../src/gdb/gdb.c, line 28.
>  Starting program: /home/pedro/gdb/baseline/build/gdb/gdb
>  [Thread debugging using libthread_db enabled]
>  [New Thread 0x7ffff7fd36e0 (LWP 24392)]
>  [Switching to Thread 0x7ffff7fd36e0 (LWP 24392)]
>  main (argc=1, argv=0x7fffffffe3f8) at ../../src/gdb/gdb.c:28
>  28        memset (&args, 0, sizeof args);
>  (top-gdb) checkpoint
>  warning: Can't attach process 24400: Operation not permitted
>  /build/buildd/gdb-6.8/gdb/linux-thread-db.c:302: internal-error: thread_get_info_callback: Assertion `thread_info != NULL' failed.
>  A problem internal to GDB has been detected,
>  further debugging may prove unreliable.
>  Quit this debugging session? (y or n)  
> 

That was a thread-db related issue, which you could claim is a bit
undefined for the current checkpoints support.

For completeness, here's a non-threaded example showing how
following the child behaved:

>gdb /home/pedro/gdb/tests/test
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
Setting up the environment for debugging gdb.
Function "internal_error" not defined.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
Function "info_command" not defined.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
/home/pedro/gdb/baseline/build/gdb/.gdbinit:8: Error in sourced command file:
No breakpoint number 0.
(gdb) start
Breakpoint 1 at 0x40044c: file main.c, line 5.
Starting program: /home/pedro/gdb/tests/test
main () at main.c:5
5         return 0;
(gdb) maint print target-stack
The current target stack is:
  - child (Unix child process)
  - exec (Local exec file)
  - None (None)
(gdb) set follow-fork-mode child
(gdb) checkpoint
[Switching to process 28696]
checkpoint: fork returned pid 0.
Failed to find new fork
(gdb)  

-- 
Pedro Alves


  reply	other threads:[~2008-12-18 21:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-12 21:14 Pedro Alves
2008-12-18 19:26 ` Michael Snyder
2008-12-18 21:04   ` Pedro Alves
2008-12-18 21:26     ` Pedro Alves [this message]
2008-12-18 21:47     ` Michael Snyder
2008-12-19  5:17 ` teawater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200812182125.17188.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=msnyder@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox