From: James Cownie <jcownie@etnus.com>
To: Eric Paire <paire@ri.silicomp.fr>
Cc: "H . J . Lu" <hjl@lucon.org>, Andrew Cagney <ac131313@cygnus.com>,
Mark Kettenis <kettenis@science.uva.nl>,
GDB <gdb@sourceware.cygnus.com>
Subject: Re: Is the current gdb 5.1 broken for Linuxthreads?
Date: Fri, 21 Sep 2001 05:25:00 -0000 [thread overview]
Message-ID: <15kPM8-1OK-00@etnus.com> (raw)
In-Reply-To: <200109211153.f8LBrww08032@mailhost.ri.silicomp.fr>
> == Eric
> > == Me,
> > That seems a somewhat perverse approach, given that
> >
> > 1) the ELF core dump format easily handles a genuine multi-threaded
> > core dump (cf Solaris, IRIX, ...)
> >
> This is not feasible in Linux as Linus does not want to implement any
> specific pthread feature in the kernel (and the core dump is 100%
> kernel code), e.g. why a thread doing a fault should kill the other,
> perhaps the application is written in such a way that it can recover
> from it.
It remains perverse no matter what Linus' view of it is. (I'm sure he
would be happy to own to being perverse under some circumstances !).
The argument you outline (that there are threaded codes for which
dumping the whole process as a result of a failure in one thread would
be the wrong behaviour) does not imply that there are no codes for
which dumping the whole process on thread failure would be the
_correct_ behaviour. All it argues is that the behaviour on thread
error needs to be configurable on a per-proces basis; that is not a
big surprise.
Whether you view such a per-process piece of state and behaviour as
being "pthread specific" is a political (not a technical) choice. Were
such an implementation to exist it would be useful to pthread code,
but would also be equally useful to codes which create threads with
naked clone but want to dump all threads on error.
After all, the kernel implements clone, and pthreads uses that but
no-one seems to think clone should go away because it's "pthread
support in the kernel".
> If you look carefully at it, it only dumps the first thread, and the
> dump is no longer allowed for any thread of this process.
In which case it is still _not_ a multi-threaded core dump, which is
what you started off by asking for. It's just a normal core dump of
one thread. (And information about all other threads is lost). While
this may be more useful than the previous state (dump a core file from
a thread which you almost certainly weren't interested in), no matter
how you look at it it's not a multi-threaded core dump.
> > 2) debuggers already know how to read such multi-threaded core dumps
> > and present them as a process with multiple threads.
> >
> The point is that debugger should understand the way MT core dumps are
> done
But you just said that there still are _no_ MT core dumps for the
debugger to understand. What's new to understand about a normal single
threaded core dump from one thread ?
> > What is wanted is a genuine multi-threaded core dump, not this
> > horror...
> >
> I would not say that it is, because it exists,
Where ? You just told me it didn't and that all that gets dumped is
one single-threaded core file.
> and we have been living without anything for years.
This is just another spin on "Eat sh*t, 10 billion flies can't be
wrong", an argument I have never found very convincing.
-- Jim
James Cownie <jcownie@etnus.com>
Etnus, LLC. +44 117 9071438
http://www.etnus.com
next prev parent reply other threads:[~2001-09-21 5:25 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-21 2:27 James Cownie
2001-09-21 5:04 ` Eric Paire
2001-09-21 5:25 ` James Cownie [this message]
2001-09-21 8:35 ` H . J . Lu
2001-09-21 8:39 ` Andrew Cagney
-- strict thread matches above, loose matches on Subject: below --
2001-09-17 12:47 H . J . Lu
[not found] ` <20010917161350.A25349@lucon.org>
2001-09-17 19:13 ` H . J . Lu
2001-09-18 13:56 ` H . J . Lu
2001-09-19 0:46 ` Eli Zaretskii
2001-09-19 8:43 ` H . J . Lu
2001-09-19 6:56 ` Mark Kettenis
2001-09-19 7:39 ` Eric Paire
2001-09-19 9:05 ` H . J . Lu
2001-09-20 0:59 ` Eric Paire
2001-09-19 13:39 ` Andrew Cagney
2001-09-20 1:36 ` Eric Paire
2001-09-20 8:03 ` H . J . Lu
2001-09-20 21:49 ` Eric Paire
2001-09-19 9:10 ` H . J . Lu
2001-09-19 6:32 ` Mark Kettenis
2001-09-19 9:16 ` H . J . Lu
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=15kPM8-1OK-00@etnus.com \
--to=jcownie@etnus.com \
--cc=ac131313@cygnus.com \
--cc=gdb@sourceware.cygnus.com \
--cc=hjl@lucon.org \
--cc=kettenis@science.uva.nl \
--cc=paire@ri.silicomp.fr \
/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