[GHC] #10218: GHC creates incorrect code which throws <<loop>>
GHC
ghc-devs at haskell.org
Mon Mar 30 08:46:28 UTC 2015
#10218: GHC creates incorrect code which throws <<loop>>
-------------------------------------+-------------------------------------
Reporter: yongqli | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple | Blocked By:
Test Case: yes | Related Tickets:
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
My co-worker and I have spent almost two weeks tracking down this bug. We
have finally produced a reasonably small test case... please take a look:
https://github.com/yongqli/ghctestcase
Under certain circumstances GHC generates incorrect code which goes into
<<loop>>.
When you compile and run the project without profiling and with eager
black-holing, it will throw <<loop>> and exit.
If you compile either without eager black-holing or with profiling, it
will run correctly.
See setup.hs for further details.
This bug can be delicate to trigger, inlining certain things will prevent
it from occurring. However, we've encountered this in production, and it
is much harder to work-around in an actual project. We've had to resort to
inlining every function in the affected module, which slows down
compilation considerably.
We've found that this bug triggers on 7.10.1 and 7.8.4. The test case will
only compile on 7.10.1.
Please let me know if there are any questions.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10218>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list