This is the mail archive of the
frysk@sourceware.org
mailing list for the frysk project.
Re: libunwind Cursor.step() return values
- From: Mark Wielaard <mark at klomp dot org>
- To: Phil Muldoon <pmuldoon at redhat dot com>
- Cc: Frysk Hackers <frysk at sourceware dot org>
- Date: Thu, 06 Dec 2007 19:02:08 +0100
- Subject: Re: libunwind Cursor.step() return values
- References: <475821DC.3030801@redhat.com>
Hi Phil,
On Thu, 2007-12-06 at 16:22 +0000, Phil Muldoon wrote:
> I see that step == 0 means no more or unknown frames. Further down the:
>
> step = newCursor.step()
>
> returns -1 in this case. What does that mean in this case?
A mixup of error codes... It is the result of an open() call passed
around as libunwind error code, which it isn't.
I am in the middle of rewriting this code.
But -1 could be returned in theory and then would mean:
UNW_EUNSPEC, /* unspecified (general) error */
If so a new cursor couldn't be created, but that should still not lead
to the closing of fd 0 by some other code.
On irc (and a quick pair programming on vnc - that is actually pretty
cute) we tried to get the right error code across. Which seems to happen
(then -10 UNW_ENOINFO is returned), but that didn't fix bad file
descriptor closing. So I think it is unrelated, but actually some code
trying to shut down and messing up the tty.
Maybe one of the places found in the System.exit() bugzilla?
http://sourceware.org/bugzilla/show_bug.cgi?id=4299
Cheers,
Mark