Fwd: gdb on Cygwin cannot give correct call stacks for segment faults
Christopher Faylor
cgf-use-the-mailinglist-please@sourceware.org
Mon Oct 28 20:26:00 GMT 2013
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
>
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list