
#14669: 32-bit binaries sometimes throw a stack overflow on shutdown. -----------------------------------+---------------------------------- Reporter: sergv | Owner: (none) Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Runtime System | Version: 8.2.1 Resolution: | Keywords: Operating System: Windows | Architecture: x86 Type of failure: Runtime crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+---------------------------------- Comment (by sergv): Unfortunately, there's no informative backtrace to speak of: {{{ sergey@box /c/home/ghc/bugs/rts-investigations$ gdb --quiet -ex run --args ./HW.exe Reading symbols from ./HW.exe...done. Starting program: C:\home\ghc\bugs\rts-investigations\HW.exe [New Thread 2916.0x360] warning: `C:\Windows\SYSTEM32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386. warning: `C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386. warning: `C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386. warning: `C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386. warning: Could not load shared library symbols for WOW64_IMAGE_SECTION. Do you need "set solib-search-path" or "set sysroot"? warning: Could not load shared library symbols for WOW64_IMAGE_SECTION. Do you need "set solib-search-path" or "set sysroot"? warning: Could not load shared library symbols for NOT_AN_IMAGE. Do you need "set solib-search-path" or "set sysroot"? warning: Could not load shared library symbols for NOT_AN_IMAGE. Do you need "set solib-search-path" or "set sysroot"? [New Thread 2916.0x100] [New Thread 2916.0xe44] [New Thread 2916.0xdb0] Situation normal Thread 1 received signal SIGSEGV, Segmentation fault. 0x0000002b in ?? () (gdb) where #0 0x0000002b in ?? () #1 0x00788140 in n_capabilities () #2 0x01bde848 in ?? () #3 0x00000000 in ?? () (gdb) }}} However, I did narrow down the problem. Compiling `rts/StgCRun.c` with `-O0` fixes the issue, while compiling it with `-O1` reproduces the crash. Is there anything I can do to `StgCRun.c` to make locating the crash easier? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14669#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler