Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: Mark Kettenis <kettenis@chello.nl>
Cc: gdb-patches@sources.redhat.com, msnyder@redhat.com
Subject: Re: RFA: gdb/568, messy thread exits
Date: Tue, 13 Aug 2002 15:13:00 -0000	[thread overview]
Message-ID: <20020813221350.GA14555@nevyn.them.org> (raw)
In-Reply-To: <200208132200.g7DM03vH034786@elgar.kettenis.dyndns.org>

On Wed, Aug 14, 2002 at 12:00:03AM +0200, Mark Kettenis wrote:
>    Date: Mon, 12 Aug 2002 12:14:47 -0400
>    From: Daniel Jacobowitz <drow@mvista.com>
> 
>    Michael, Mark - what do you think of this patch?  A better explanation
>    of the patch is at:
>      http://sources.redhat.com/ml/gdb-patches/2002-07/msg00630.html
> 
> It's a kludge.  Therefore I'm not inclined to say that this can go in.
> We should really fix things such that lwp_from_thread isn't called
> under the circumstances where you're having problems, or we should
> modify it such that it doesn't have to call td_ta_map_id2thr() under
> those troublesome circumstances.
> 
> If we can't come up with such a patch in a timely fashion, we could
> decide to get this in, but not without a comment saying that it is a
> kludge.

Well, let me elaborate.

lwp_from_thread consults data structures in the inferior, just like the
rest of thread_db.  As such, I have to consider it... "untrusted" if
you will.  The inferior crashes unexpectedly - we can't call
lwp_from_thread any more.  The inferior gets corrupted - we can't call
lwp_from_thread any more.  As such, I think we need to be at least a
little more graceful with this function everywhere we touch it (which
is far too often, if you look at the target traffic dumps).  The same
goes for any other request we make of thread_db.  So the fixes would
not be in calling it less, but in allowing it to fail (more)
gracefully.

To be honest, I gave up on this entirely.  We don't support any
non-one-to-one threads packages via thread-db.c; we've never tested
with any unless someone's got one up their sleeve that they're not
talking about.  I dispensed with that part of the abstraction layer
completely, and got a threads package several times faster, simpler,
and more reliable (I posted some additional test cases that it passed
and thread-db.c/lin-lwp.c didn't a few months ago; no one ever
commented on them).  It's sitting in gdbserver/thread-db.c and
gdbserver/linux-low.c if you want to look at it.  I believe it'll scale
to non-one-to-one, and I tried to preserve that in the design, but
actually supporting all the mapping calls when we don't have any such
packages just seemed like a bad idea.  It's too complex for me to get
it right blind.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


  reply	other threads:[~2002-08-13 22:13 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
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 [this message]
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=20020813221350.GA14555@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=kettenis@chello.nl \
    --cc=msnyder@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