
#8834: 64-bit windows cabal.exe segfaults in GC ----------------------------------+---------------------------------- Reporter: awson | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: Windows | Architecture: x86_64 (amd64) Type of failure: Runtime crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ----------------------------------+---------------------------------- Comment (by simonmar): {{{ 0x02137024 <+0>: sub $0x3510,%esp 0x0213702a <+6>: mov 0x8(%ebp),%eax 0x0213702d <+9>: mov 0x4(%ebp),%ecx 0x02137030 <+12>: mov %esi,%edx => 0x02137032 <+14>: mov %eax,0x184(%esp) }}} Oh wow, this function needs a *lot* of spill space on the C stack. I bet the problem is that we're bumping `%esp` by more than one page, and Windows doesn't like that, it expect the stack to grow by one page at a time. So the fix would be to write to the intervening pages one at a time. This is another bug in the NCG. I'm also interested in why this function needs quite so much extra stack. (also, shouldn't we be discussing this on #8870? The bug in this ticket is fixed, I think). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8834#comment:82 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler