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

Christopher Faylor <[email protected]>
Newsgroups gmane.os.cygwin,gmane.comp.gdb.devel
Message-ID <[email protected]>
On Mon, Oct 28, 2013 at 12:00:17PM +0800, Pan ruochen wrote:
>Hi All,
>
>I find that my gdb on Cygwin cannot dump correct call stacks while
>segment faults arise.

This isn't a failing of gdb.  It's a Cygwin problem.  It can't reliably
show backtraces when a SEGV happens in Cygwin DLL code.  This is a known
issue.

cgf

>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.