How can I determine why gdb throws unknown exceptions when debugging programs with threads on my Cygwin installation?

Jon Turney jon.turney@dronecode.org.uk
Fri Oct 25 13:32:00 GMT 2019


On 23/10/2019 18:25, Jay P. Elston wrote:
> Hi all,
> 
> I developed a problem debugging threads on my Cygwin installed on a Window 7 PC -- gdb throws an unknown target exception when it gets to the pthread_crreate() call.

This seems to be saying that the exception isn't thrown when not run 
under gdb?

> This problem seems localized to my PC (even after reinstalling Cygwin), and I am wondering what my next trouble shooting steps might be.
> 
> Here are the relevant lines from the gdb session:
> 
> $ gdb a.exe
> GNU gdb (GDB) (Cygwin 8.1.1-1) 8.1.1
> . . .
> This GDB was configured as "x86_64-pc-cygwin".
> . . .
> Reading symbols from a.exe...done.
> (gdb) run
> Starting program: /home/jay.elston/threadTest/a.exe [New Thread 12908.0xc38] [New Thread 12908.0x25b4] [New Thread 12908.0x182c] [New Thread 12908.0x2958] [New Thread 12908.0x2ce4] [New Thread 12908.0x2878] [New Thread 12908.0x3044]
> gdb: unknown target exception 0x80000001 at 0x778e7b97

0x80000001 is STATUS_GUARD_PAGE_VIOLATION

gdb reports this as 'unknown', as there's no unix signal this can be 
mapped to (for example, STATUS_ACCESS_VIOLATION is mapped to SIGSEGV)

Firstly, I'd suggest you do a 'bt' here, and see if any third party DLLs 
are in the call stack (e.g. AV products, etc.)

> Thread 7 received signal ?, Unknown signal.
> [Switching to Thread 12908.0x3044]
> 0x00000000778e7b97 in ntdll!RtlAllocateHeap ()
>     from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
> (gdb) c
> Continuing.
> [Thread 12908.0x182c exited with code 2147483649] [Thread 12908.0x25b4 exited with code 2147483649] [Thread 12908.0x2878 exited with code 2147483649] [Thread 12908.0x2958 exited with code 2147483649] [Thread 12908.0x2ce4 exited with code 2147483649] [Inferior 1 (process 12908) exited with code 020000000001]
> 

Thanks for the simple test case.

Unfortunately, this doesn't reproduce for me.

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