From: Uli H. <ul...@xd...> - 2008-09-11 06:02:58
|
Hi all, has anyone else experienced a crash related to 'emutls_destroy()' on exit from programs that use exceptions and are compiled with '-mthreads'? I'm getting a popup at exit that says: ---------- The instruction at "0x004147af" referenced memory at "0x4f003139". The memory could not be "read". Click on blahblah... ---------- gdb is giving me the following stack trace: ---------- Program received signal SIGSEGV, Segmentation fault. 0x004147af in emutls_destroy () (gdb) where #0 0x004147af in emutls_destroy () #1 0x6fbc1313 in __mingwthr_run_key_dtors () from c:\mingw\bin\mingwm10.dll #2 0x6fbc1358 in DllMain@12 () from c:\mingw\bin\mingwm10.dll #3 0x6fbc10e6 in DllMainCRTStartup@12 () from c:\mingw\bin\mingwm10.dll #4 0x7c9011a7 in ntdll!LdrSetAppCompatDllRedirectionCallback () from C:\WINDOWS\system32\ntdll.dll #5 0x6fbc0000 in ?? () #6 0x00000000 in ?? () ---------- It works fine when compiling without '-mthreads' but this is not an option for the application I'm working on as it uses threads heavily. I've attached a demonstrator that reproduces the problem; it's only a few lines of try/catch with a throw. My environment is: g++.exe (GCC) 4.3.0 20080305 (alpha-testing) mingw-20080502 binutils-2.18.50-20080109-2 mingwrt-3.15 w32api-3.12 -- Uli Hertlein Research and Development Phone: +61-3-9549-1122 XDT Pty Ltd Web: www.xdt.com.au |