From: Joel Brobecker <brobecker@adacore.com>
To: Pedro Alves <palves@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: RFA/gdbserver: GDB internal-error debugging threaded program with breakpoint and forks
Date: Mon, 27 Jun 2016 22:32:00 -0000 [thread overview]
Message-ID: <20160627223200.GF3295@adacore.com> (raw)
In-Reply-To: <9170a848-2c63-0e42-a478-23753c1f495b@redhat.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.
>
> "catch fork" would make us stop though.
:-(. Most likely. I had the weekend to mull this over. The only
possible solutions I can see are:
a. Make gdbserver "hide" the threads that are children of forks
until we've reported the corresponding fork event to GDB.
But then, I think it's unclear what to do if the user does
a "step" or "continue" while you have multiple pending
fork events. That's probably a question that's likely not
specific to forks, as you might have the same issue when
requesting an action after seeing the first of multiple
events received at the same time. Perhaps simply just return
the next event without resuming anything? Is that what we do?
b. Somehow enhance GDB to handle the extra unknown threads
more gracefully.
I don't really see how (b) could work. It seems that (a) would
be more promising. That said, I would still consider my current
patch, as reporting the forks early allow us to either detach
from them earlier.
--
Joel
next prev parent reply other threads:[~2016-06-27 22:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-12 17:16 RFH: failed assert debugging threaded+fork program over gdbserver Joel Brobecker
2016-05-12 17:42 ` Don Breazeal
2016-06-23 22:59 ` Joel Brobecker
2016-06-24 18:12 ` RFA/gdbserver: GDB internal-error debugging threaded program with breakpoint and forks (was: "Re: RFH: failed assert debugging threaded+fork program over gdbserver") Joel Brobecker
2016-06-24 21:57 ` RFA/gdbserver: GDB internal-error debugging threaded program with breakpoint and forks Pedro Alves
2016-06-24 22:36 ` Joel Brobecker
2016-06-24 22:37 ` Pedro Alves
2016-06-27 22:32 ` Joel Brobecker [this message]
2016-06-28 19:40 ` Pedro Alves
2016-07-05 16:49 ` Joel Brobecker
2016-06-24 21:52 ` RFH: failed assert debugging threaded+fork program over gdbserver Breazeal, Don
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=20160627223200.GF3295@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
/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