This is the mail archive of the
mailing list for the GDB project.
Re: [RFA] fix crasher on detach command
- From: Michael Snyder <msnyder at vmware dot com>
- To: Pedro Alves <pedro at codesourcery dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Mon, 07 Jun 2010 11:31:26 -0700
- Subject: Re: [RFA] fix crasher on detach command
- References: <4C0D3636.firstname.lastname@example.org> <email@example.com>
Pedro Alves wrote:
On Monday 07 June 2010 19:11:02, Michael Snyder wrote:
The circumstances are, detach from a remote target that doesn't have
threads. Remote.c leaves the PID arbitrarily as "42000", and
target_detach calls remove_breakpoints_pid, which crashes because
find_inferior_pid returns NULL.
It shouldn't matter that the PID is arbitrary; there should be an
inferior with that PID in the inferior list. This probably means
that the inferior got its PID cleared to 0 already when you get here?
It was a bad connect, which aborted part way through.
So yes, we're in an inconsistent internal state.
What's the backtrace like at the time of the crash? I assume
the remove_breakpoints_pid call is coming from within target_detach?
It's fairly normal, target_detach is called by detach_command.