This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug record/19187] running with process record over a fork causes GDB internal error
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Wed, 10 Aug 2016 22:06:09 +0000
- Subject: [Bug record/19187] running with process record over a fork causes GDB internal error
- Auto-submitted: auto-generated
- References: <bug-19187-4717@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=19187
--- Comment #8 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Pedro Alves <palves@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=01d3dedf60912cee478c242d575f4683adada1d2
commit 01d3dedf60912cee478c242d575f4683adada1d2
Author: Pedro Alves <palves@redhat.com>
Date: Wed Aug 10 23:03:29 2016 +0100
Fix PR gdb/19187 (process record over a fork causes internal error)
Right after a fork is detected, we detach breakpoints from the child
(detach_breakpoints), which calls into target_remove_breakpoint with
inferior_ptid pointing at the child process, but leaves the breakpoint
marked inserted (in the parent).
The problem is that record-full.c always deletes all knowledge of the
breakpoint. Then when we later really delete the breakpoint from the
parent, we fail the assertion, since the breakpoint is unexpectedly
not found in the record-full.c breakpoint table.
The fix is simply to not forget about the breakpoint if we're
detaching it from a fork child.
gdb/ChangeLog:
2016-08-10 Pedro Alves <palves@redhat.com>
PR gdb/19187
* record-full.c (record_full_remove_breakpoint): Don't remove the
breakpoint from the record_full_breakpoints VEC if we're detaching
the breakpoint from a fork child.
gdb/testsuite/ChangeLog:
2016-08-10 Pedro Alves <palves@redhat.com>
PR gdb/19187
* gdb.reverse/waitpid-reverse.exp: Add comment and remove
setup_kfails.
--
You are receiving this mail because:
You are on the CC list for the bug.