From: Joel Brobecker <brobecker@gnat.com>
To: Michael Elizabeth Chastain <mec.gnu@mindspring.com>
Cc: eliz@gnu.org, kettenis@chello.nl, cagney@gnu.org, gdb@sources.redhat.com
Subject: Re: [6.2] PROBLEMS file
Date: Thu, 22 Jul 2004 18:28:00 -0000 [thread overview]
Message-ID: <20040722151701.GA20596@gnat.com> (raw)
In-Reply-To: <20040722093553.624FF4B104@berman.michael-chastain.com>
> Mark Kettenis writes:
> > There will always be cases where GDB will get confused and lose track.
> > In that case it will possibly provide an endless or very long backtrace
> > containing garbage.
>
> I'm okay with this part, as long as the user can easily get it
> out of it at the "press space to continue" prompt.
We saw the same sort of issues on Windows as well, trying to unwind
from functions in the ntdll DLL. Unfortunately in that case, we don't
get an infinite backtrace, we get a backtrace that doesn't provide
the part that the user is probably looking for (the part refering to
his code, before the call to the ntdll services). Something like this:
#0 0x7ffe0304 in ?? ()
#1 0x77f7f4af in ntdll!ZwWaitForSingleObject () from ntdll.dll
#2 0x77e7788b in WaitForSingleObjectEx () from /WINDOWS/system32/KERNEL32.DLL
#3 0x00000778 in ?? ()
#4 0x00000000 in ?? () from
#5 0x010df2c8 in ?? ()
#6 0x000003e8 in ?? ()
[snip]
#27 0x77e79d6a in WaitForSingleObject () from /WINDOWS/system32/KERNEL32.DLL
#28 0x00000778 in ?? ()
#29 0x000003e8 in ?? ()
#30 0x00000000 in ?? () from
#31 0x61074971 in siginterrupt () from /bin/cygwin1.dll
Previous frame inner to this frame (corrupt stack?)
In the backtrace above, only frame 0 to 2 are correct. After that,
GDB goes in limbo until it finally finds out that something is wrong.
The backtrace doesn't show how you got there, and I can imagine that
it could be fustrating for a user.
I have been working on and off on a small patch that would allow the
user to tell GDB to trust %ebp instead of trying to read the prologue
and guess the location of the return address for frameless functions.
The idea would be to offer this alternative when the current unwinder
fails.
I have a pretty simple minded patch that seems to be more or less
working, but I still have ~200 regressions compared to the current
unwinder. I would like to have a look at them, and if possible fix
them, before I submit what I have for review.
--
Joel
next prev parent reply other threads:[~2004-07-22 15:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-22 12:14 Michael Elizabeth Chastain
2004-07-22 18:28 ` Joel Brobecker [this message]
2004-07-22 19:26 ` Eli Zaretskii
2004-07-22 20:51 ` Mark Kettenis
2004-07-23 9:24 ` Eli Zaretskii
2004-07-23 11:22 ` Mark Kettenis
2004-07-23 12:03 ` Eli Zaretskii
2004-07-23 12:13 ` Eli Zaretskii
2004-07-23 12:16 ` Dave Korn
2004-07-23 13:36 ` Mark Kettenis
2004-07-23 16:17 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2004-07-23 5:44 Michael Elizabeth Chastain
2004-07-23 20:44 ` Andrew Cagney
2004-07-19 3:51 Andrew Cagney
2004-07-19 21:01 ` Eli Zaretskii
2004-07-21 21:12 ` Mark Kettenis
2004-07-21 22:05 ` H. J. Lu
2004-07-22 20:58 ` Mark Kettenis
2004-07-22 21:33 ` Joel Brobecker
2004-07-22 21:38 ` H. J. Lu
2004-07-21 22:17 ` Andrew Cagney
2004-07-22 7:13 ` Eli Zaretskii
2004-07-22 13:04 ` Dave Korn
2004-07-22 15:17 ` Daniel Jacobowitz
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=20040722151701.GA20596@gnat.com \
--to=brobecker@gnat.com \
--cc=cagney@gnu.org \
--cc=eliz@gnu.org \
--cc=gdb@sources.redhat.com \
--cc=kettenis@chello.nl \
--cc=mec.gnu@mindspring.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