Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: Jim Blandy <jimb@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: RFA: gdb/568, messy thread exits
Date: Wed, 31 Jul 2002 13:47:00 -0000	[thread overview]
Message-ID: <20020731202940.GA16310@nevyn.them.org> (raw)
In-Reply-To: <np7kjbtzo3.fsf@zwingli.cygnus.com>

On Wed, Jul 31, 2002 at 03:23:08PM -0500, Jim Blandy wrote:
> 
> Daniel Jacobowitz <drow@mvista.com> writes:
> > Jim, what do you think about this change?  This fixes a whole class of
> > problems for me, by not longjmp'ing out of attempts to
> > kill/detach/quit/etc.
> 
> I'm not sure I can review this change very helpfully; I'm not very
> familiar with the threading code.
> 
> Can you go into more detail about why this change is adequate?  I
> mean, the ptid argument is generally not going to be an lwp, right?
> Shouldn't this function at least return a ptid that's an LWP?

The first bit of the function just returns whatever PTID it was passed
if we weren't given a thread.  As such, I'm not terribly worried about
the type of PTID we return.

> Under what situations does this error occur?

Here's the interesting part.  It occurs whenever thread_db can not look
up the LWP<->Thread mapping in the child.  If, for instance, the child
has disappeared, we can not look up its mapping any more.  Or if some
other circumstance causes the mapping to be unavailable, like an
exec(); there's another PR about that case.

If we allow this to be a fatal error here, we very easily get stuck
somewhere we can not recover from.

Of course, it is also my opinion that we perform the mapping a stupid
number of times.  ``set debug target 1'' and run a threaded program;
you'll see it happen over and over again.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


  reply	other threads:[~2002-07-31 20:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-31  9:55 Daniel Jacobowitz
2002-07-31 13:28 ` Jim Blandy
2002-07-31 13:47   ` Daniel Jacobowitz [this message]
2002-07-31 14:01     ` Jim Blandy
2002-07-31 14:04       ` Daniel Jacobowitz
2002-08-12  9:14 ` Daniel Jacobowitz
2002-08-13 15:00   ` Mark Kettenis
2002-08-13 15:13     ` Daniel Jacobowitz
2002-08-26 18:33       ` Michael Snyder
2002-08-26 19:05         ` Daniel Jacobowitz
2002-08-29 15:50           ` Jim Blandy

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=20020731202940.GA16310@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=jimb@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