This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Stack trace question


On Nov  8 05:55, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin wrote:
> Hi all,
> 
> I have the following stack trace (64 bit Cygwin app), and I can't
> figure how the same frame RBP at 000FFFFC7B0 can be listed 3
> consecutive times for various functions (RIPs).

The functions in question are signal handling stuff, partially written in
assembler.  They don't change $rbp at all.

> Also if I follow the
> stack trace with gdb (and the trace is all within Cygwin.dll based at
> 180040000), it does not make any sense (it was a simple abort() in the
> application due to some external condition; no segfault or any other
> nasty kind of stuff)...  The program does not use SYSV IPC at all (so
> the appearance of shmat() is highly suspicious).
> 
> Can there be something wrong as to how the stack trace gets generated?

If so, I'm not aware of that.  Cygwin uses the ntdll RtlVirtualUnwind and
RtlLookupFunctionEntry functions on 64 bit to iterate over the stack.

One problem in your stackdump may be that, apparently, a longjmp has
been performed (sigsetjmp is on the stack which is weird anyway).  Stuff
like that *may* indicate that the stack is broken.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]