From: gdb@dontknow.org
To: Mark Kettenis <kettenis@wins.uva.nl>
Cc: gdb@sourceware.cygnus.com
Subject: Re: Linux threads support in GDB
Date: Mon, 02 Oct 2000 16:15:00 -0000 [thread overview]
Message-ID: <0ebcb72bb01d6229ff6a6522125653d0@NO-ID-FOUND.mhonarc.org> (raw)
In-Reply-To: <200010021257.e92CvRm16644@debye.wins.uva.nl>
On 02-Oct-00 Mark Kettenis wrote:
> Date: Wed, 13 Sep 2000 18:25:21 -0600 (MDT)
> From: gdb@dontknow.org
>
> Appologies for the this late reply. Meanwhile, the particular failing
> assertions you were seeing should be gone.
I actually tested it, and it gets rid of the assertion, though the application
still exits when the SIGALRM happens while the processes is STOP'ed. Is there
any way to queue up the signals and send them upon program/thread resumption?
I did however realize that part of what I was missing about the problem is
that all threads are stopped during program breakpoints. So I guess that I can
kinda see how signals happening while the program is stopped. Can the itimer be
suspended somehow when trying to stop all threads? (Yes I know, timers are only
one possible cause, and finding all causes would be impossible since user
applications could cause the problem, however itimer might be the most common.
And something special must be happening for SIGUSR1 which pthread uses, but I
haven't looked at too many of the GDB threading internals.)
> Ok, here is a test case that will reproduce the problem (to some
> extent anyways). I guess for some of my testing trying to reproduce
> the problem with something similiar I was using GDB 5.0, not the
> cvs version. However that version also has problems with the
> following code.) Normally when I run the real application I have
> SIGSTOP and SIGCONT set to nostop, which may be why it isn't seen
> until a breakpoint is used, whereas here it happens after the
> implicit SIGCONT breakpoint.
>
> Hmm. GDB heavily relies on SIGSTOP itself. There is no other way to
> stop threads in Linux :-(. Due to the nature of signals (particularly
> the fact that multiple signals might be merged into one), this rather
> hoplessly interferes with the SIGSTOPs you're using in your program.
> I really don't intend to fix this. Sorry.
>
> Mark
>
> PS Please keep CC'ing the GDB mailing list. These discussions could
> be useful for other people too.
Contrary to popular belief, UNIX is user friendly.
It just happens to be selective about who it makes friends with.
next prev parent reply other threads:[~2000-10-02 16:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200009140024.e8E0OCK13917@mbox.wins.uva.nl>
2000-10-02 5:57 ` Mark Kettenis
2000-10-02 16:15 ` gdb [this message]
2000-10-04 17:12 ` gdb
[not found] <200010050012.CAA26158@mailhost.ri.silicomp.fr>
2000-10-04 22:50 ` Eric Paire
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=0ebcb72bb01d6229ff6a6522125653d0@NO-ID-FOUND.mhonarc.org \
--to=gdb@dontknow.org \
--cc=gdb@sourceware.cygnus.com \
--cc=kettenis@wins.uva.nl \
/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