[PATCH] remote: Fix a crash on longjmp breakpoint removal
Tom Tromey
tromey@redhat.com
Tue Dec 20 16:00:00 GMT 2011
>>>>> "Maciej" == Maciej W Rozycki <macro@codesourcery.com> writes:
Maciej> I have observed a crash, where GDB attempts to send a packet to
Maciej> gdbserver after the remote target has already exited (and the
Maciej> gdbserver process terminated) -- here's the tail of an example
Maciej> remote session transcript:
Maciej> I have tracked it down to remote_close calling
Maciej> discard_all_inferiors, which in turn eventually calls
Maciej> delete_thread_of_inferior, which calls
Maciej> clear_thread_inferior_resources, which calls
Maciej> delete_longjmp_breakpoint, which calls remote_remove_breakpoint,
Maciej> which needs to send some packets to the remote target to get the
Maciej> breakpoint removed. But at this point the remote file
Maciej> descriptor has already been closed; after a W00 stop reply
Maciej> gdbserver does not expect any further input anyway.
You and Keith both came to the same diagnosis, but you have different
patches:
http://sourceware.org/ml/gdb-patches/2011-11/msg00212.html
... our patch review delays seem to have bitten us this time.
Or anyway bitten the two of you, sorry about that.
I am not sure which approach is better. I don't think I know enough
about remote.c to say.
Tom
More information about the Gdb-patches
mailing list