This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: RFA/gdbserver: GDB internal-error debugging threaded program with breakpoint and forks
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 24 Jun 2016 15:36:16 -0700
- Subject: Re: RFA/gdbserver: GDB internal-error debugging threaded program with breakpoint and forks
- Authentication-results: sourceware.org; auth=none
- References: <20160512171650 dot GC26324 at adacore dot com> <5734C06C dot 8040008 at codesourcery dot com> <20160623225935 dot GC3295 at adacore dot com> <20160624181152 dot GD3295 at adacore dot com> <31daa4d2-359d-db9a-e9c8-d7bfbb327570 at redhat dot com>
> I haven't gone through this with fine-tooth comb yet, but,
> will we still have the same problem if _two_ threads (or inferiors...)
> fork at the "same" time, and we end up reporting one fork, while
> leaving the another one pending?
At the moment, I do not think so, because we seem to just process
the fork even without requesting an update of the thread list.
This is an extract of the remote protocol transmissions that
show us resume the execution of our program (vCont;c), receive
the fork event (T05fork), do a bunch of stuff to handle the
fork event (and in particular "D"etaching from the child process),
followed by the resumption of our program's execution (vCont;c):
Sending packet: $vCont;c:p2992.-1#b4...
Packet received: T05fork:p299c.299c;01:bffff5e0;40:0fe87158;thread:p2992.2992;core:1;
Sending packet: $Hgp299c.299c#5b...Packet received: OK
Sending packet: $z0,1000224c,4#f2...Packet received: OK
Sending packet: $z0,10003218,4#c5...Packet received: OK
Sending packet: $z0,1000336c,4#f6...Packet received: OK
Sending packet: $D;299c#86...Packet received: OK
Sending packet: $vCont;c:p2992.-1#b4...Packet received: T05swbreak:;01:482009e0;40:10003218;thread:p2992.299a;core:0;
I wish I could give you a stronger justification, but at least
we seem to be OK, so the patch could give us a fix while we think
a more solid approach through.
--
Joel