From: Randolph Chung <randolph@tausq.org>
To: Joel Brobecker <brobecker@adacore.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFC] Infinite backtraces...
Date: Fri, 03 Dec 2004 04:53:00 -0000 [thread overview]
Message-ID: <20041203045252.GU6359@tausq.org> (raw)
In-Reply-To: <20041203025737.GT994@adacore.com>
> While working on something else, I just stumbled on this (in gdb 5.3):
>
> /* If this is a threaded application, and we see the
> routine "__pthread_exit", treat it as the stack root
> for this thread. */
>
> I haven't run this through the debugger to confirm it, but it looks
> like we used to stop the unwinding by using the name of the symbol
> associated to the frame. Not very elegant, to say the least, but
> could be effective for hpux (it would no longer be just architecture
> dependent).
erk, yuck :)
> > in your particular case, i'm curious to know how we get from a pc=0
> > frame to a previous frame. that seems like a bug to me?
>
> Not sure. I haven't really looked at this in details, since this part
> of the callstack was bogus anyway. But my guess is that the fallback
> unwinder kicked in (since we shouldn't find any unwind entry for that
> PC), and just unwound blindly.
yeah, but i would have expected that you should get an error when
unwinding from 0 ("Cannot find bounds of current function ..."). this
should automatically stop the backtrace.
would you mind sending me the output of "info reg" frame frame 5 and 6,
"maint print unwind __pthread_create_system" and "disassemble
__pthread_create_system"?
> I would prefer that the new method by called in addition to the current
> logic. The reason being that, for architectures overriding the default,
> they would have to reimplement that part again in addition of doing their
> own magic.
well, they can call the default handler afterwards. but anyway, this is
just a minor detail.
> Frame #2 is a duplicate of #1, although it's hard to see if you don't
> know the GNAT encoding. Same for frame #4 being a duplicate of #3.
> Same for #5 and #6.
>
> These frames are referring to stubs. With 5.3, we skipped these stubs.
> Do you know if putting them here was intentional? I find them confusing,
> so I'd like to remove them.
yes and no.... i don't know all the history, but i believe the new frame
code in gdb 6.x is more explicit about unwinding through various frames,
including stub frames. on hpux export stubs show up in backtraces
because they occupy stack space. (hppa-linux doesn't use export stubs).
i don't like it either, but not sure what we can do about it.
see:
http://sources.redhat.com/ml/gdb-patches/2004-05/msg00741.html
another possibility is that you found a bug; we still have lots of bugs
on hpux :(
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
next prev parent reply other threads:[~2004-12-03 4:53 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-02 22:46 Joel Brobecker
2004-12-02 23:13 ` Joel Brobecker
2004-12-03 2:43 ` Randolph Chung
2004-12-03 2:57 ` Joel Brobecker
2004-12-03 4:53 ` Randolph Chung [this message]
2004-12-03 19:36 ` Joel Brobecker
2004-12-03 18:03 ` Randolph Chung
2004-12-03 18:20 ` Joel Brobecker
2004-12-03 18:22 ` Randolph Chung
2004-12-06 7:25 ` Randolph Chung
2004-12-07 10:07 ` Joel Brobecker
2004-12-07 16:31 ` Randolph Chung
2004-12-07 16:37 ` Joel Brobecker
2004-12-07 16:52 ` Randolph Chung
2004-12-08 1:51 ` Randolph Chung
2004-12-12 16:36 ` [commit] Move zero PC check to frame.c; Was: " Andrew Cagney
2004-12-03 18:22 ` Joel Brobecker
2004-12-06 4:15 ` Randolph Chung
2004-12-07 9:40 ` Joel Brobecker
2004-12-03 18:28 ` Andrew Cagney
2004-12-03 18:49 ` Joel Brobecker
2004-12-03 19:26 ` Andrew Cagney
2004-12-03 20:19 ` Joel Brobecker
2004-12-03 21:44 ` Andrew Cagney
2004-12-03 22:16 ` Joel Brobecker
2004-12-03 22:23 ` Daniel Jacobowitz
2004-12-03 22:25 ` Joel Brobecker
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=20041203045252.GU6359@tausq.org \
--to=randolph@tausq.org \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sources.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