Fwd: gdb on Cygwin cannot give correct call stacks for segment faults

Pan ruochen <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CALX7UOiD9AxWH2aqPsDdwOHQj3wAOsOXA+qSCJv4LTOuoND96g@mail.gmail.com>
Hi All,

I find that my gdb on Cygwin cannot dump correct call stacks while
segment faults arise.

Test code is as follows:
--------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>

void foo()
{
    FILE * volatile dev =NULL;
    fprintf(dev, "Hello World!\n");
}

int main()
{
    foo();
    return 0;
}
--------------------------------------------------------------

And backtrace information is as follows:
Program received signal SIGSEGV, Segmentation fault.
0x61138b61 in _fwrite_r () from /usr/bin/cygwin1.dll
(gdb) backtrace
#0  0x61138b61 in _fwrite_r () from /usr/bin/cygwin1.dll
#1  0x76bd1194 in WaitForSingleObjectEx ()
   from /cygdrive/c/windows/syswow64/kernel32.dll
#2  0x76bd1148 in WaitForSingleObject ()
   from /cygdrive/c/windows/syswow64/kernel32.dll
#3  0x610dd558 in sig_send(_pinfo*, siginfo_t&, _cygtls*) ()
   from /usr/bin/cygwin1.dll
#4  0x610303b4 in exception::handle(_EXCEPTION_RECORD*,
_exception_list*, _CONTEXT*, void*) () from /usr/bin/cygwin1.dll
#5  0x77a5b499 in ntdll!LdrRemoveLoadAsDataTable ()
   from /cygdrive/c/windows/system32/ntdll.dll
#6  0x0028a6ac in ?? ()
#7  0x77a5b46b in ntdll!LdrRemoveLoadAsDataTable ()
   from /cygdrive/c/windows/system32/ntdll.dll
#8  0x0028a6ac in ?? ()
#9  0x77a10133 in ntdll!KiUserExceptionDispatcher ()
   from /cygdrive/c/windows/system32/ntdll.dll
#10 0x0028a6ac in ?? ()
#11 0x61138c75 in fwrite () from /usr/bin/cygwin1.dll
#12 0x610d75e5 in _sigfe () from /usr/bin/cygwin1.dll
#13 0x0000000d in ?? ()
#14 0x00000000 in ?? ()

does not give any useful clues where the segment faults arise.
So what is wrong?

-- BR, Ruochen
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.