Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: Randolph Chung <tausq@debian.org>
Cc: gdb@sources.redhat.com
Subject: Re: "run", and executable file/symtab association?
Date: Wed, 15 Feb 2006 03:09:00 -0000	[thread overview]
Message-ID: <20060215030909.GB8700@nevyn.them.org> (raw)
In-Reply-To: <dsu1q7$93m$1@sea.gmane.org>

On Wed, Feb 15, 2006 at 09:57:31AM +0800, Randolph Chung wrote:
> I've been debugging the new checkpoint feature on hppa-linux, and came
> across an unexpected "feature" of gdb.
> 
> See the transcript below - when the program being debugged dies, I
> expect to be able to restart it with "run", but gdb reports an error.
> Interestingly, I can still set breakpoints so gdb has not completely
> disassociated the program.

Looks to me like a bug, specifically here:

> The code that outputs the error is corefile.c:get_exec_file(), where
> exec_bfd was previously set to NULL by a call to exec_close
> 
> Breakpoint 3, exec_close (quitting=0) at ../../gdb-cvs/gdb/exec.c:103
> 103       int need_symtab_cleanup = 0;
> (top-gdb) bt
> #0  exec_close (quitting=0) at ../../gdb-cvs/gdb/exec.c:103
> #1  0x0016c888 in target_close (targ=0x3a251c, quitting=0)
>     at ../../gdb-cvs/gdb/target.c:1881
> #2  0x00169a9c in pop_target () at ../../gdb-cvs/gdb/target.c:745
> #3  0x00073cb0 in kill_inferior () at ../../gdb-cvs/gdb/linux-nat.c:619
> #4  0x0012957c in kill_if_already_running (from_tty=1)
>     at ../../gdb-cvs/gdb/infcmd.c:449
> #5  0x001295d0 in run_command_1 (args=0x0, from_tty=1, tbreak_at_main=0)
>     at ../../gdb-cvs/gdb/infcmd.c:468
> #6  0x001298f0 in run_command (args=0x0, from_tty=1)
>     at ../../gdb-cvs/gdb/infcmd.c:559
> 
> I haven't debugged this more yet - is this considered "works as
> designed"? or is it a bug?

If kill_inferior calls pop_target it'd better be expecting to close a
native target, not the exec target further down the stack.  This looks
like a bug in the checkpoint code somewhere.  Ugh, the bits in
kill_inferior are a little scary.  First thing to do: figure out what's
on the target stack (follow current_target.beneath), and why it's got
execution if it's popping exec_close.

-- 
Daniel Jacobowitz
CodeSourcery


  reply	other threads:[~2006-02-15  3:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-15  1:57 Randolph Chung
2006-02-15  3:09 ` Daniel Jacobowitz [this message]
2006-02-18 11:10   ` Randolph Chung
2006-02-18 16:23     ` Daniel Jacobowitz
2006-02-18 17:42       ` Randolph Chung
2006-02-18 18:27         ` Daniel Jacobowitz
2006-02-20 19:12       ` Michael Snyder
2006-02-21  6:52         ` Randolph Chung

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=20060215030909.GB8700@nevyn.them.org \
    --to=drow@false.org \
    --cc=gdb@sources.redhat.com \
    --cc=tausq@debian.org \
    /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