
#8834: 64-bit windows cabal.exe segfaults in GC ----------------------------------+---------------------------------- Reporter: awson | Owner: Type: bug | Status: patch 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):
Simon M says "here is the broken bit of code" (comment 35), and then says "I misread" (comment 38). Does that mean that the broken bit of code isn't broken?
If we use Karel's reversion patch (between comments 2 and 3 above) does
Correct, we still don't know what's broken. that cure all known crashes? I confirm that it does fix my own "ghc-stage2 segfaults" problem, reported in #8870. But what about the hello-world problem in #8834, and Ganesh's new report in #8890?
If reverting the CmmSink change does in fact solve the problem, we should probably go ahead and revert it, and un-block the GHC 7.8 release.
But even if we do that we are still stuck with not knowing WHY it solves the problem. Perhaps the patch was fine, but it exposes a problem somewhere else? And we really want the CmmSink improvements. We really need someone to dig into it with GDB. Austin, can you get a Windows box on the network that exhibits the bug, so that Simon M can crank up gdb?
I doubt that the patch actually introduced the bug, since @awson said that just the single change to `isTrivial` is enough to trigger the crash. Still, this patch isn't really essential - it made it possible to run `CmmSink` before stack layout, but measurements showed that it didn't buy anything to do that, so we're not currently using that functionality. The other thing in the patch is the `isTrivial` change that makes it more keen to inline `GlobalReg`s and literals; this is a very small win (<1%, IIRC). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8834#comment:44 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler