[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