[GHC] #8834: 64-bit windows cabal.exe segfaults in GC
GHC
ghc-devs at haskell.org
Mon Mar 31 08:20:43 UTC 2014
#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
More information about the ghc-tickets
mailing list