[GHC] #12776: Panic Simplifier ticks exhausted since ghc 8

GHC ghc-devs at haskell.org
Mon Nov 28 08:36:51 UTC 2016


#12776: Panic Simplifier ticks exhausted since ghc 8
-------------------------------------+-------------------------------------
        Reporter:  sjcjoosten        |                Owner:
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #12843 #12675     |  Differential Rev(s):
  #12789                             |
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"6ec2304f46c9a5423943c5bf29bd8a8c062b6560/ghc"
 6ec2304f/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="6ec2304f46c9a5423943c5bf29bd8a8c062b6560"
 Fix an long-standing bug in OccurAnal

 This bug was beautifully characterised in Trac #12776,
 which showed a small program for which the inliner went
 into an infinite loop.  Eeek.

 It turned out to be a genuine and long-standing bug in
 the occurrence analyer, specifically in the bit that
 identifies loop breakers.  In this line

   pairs | isEmptyVarSet weak_fvs
         = reOrderNodes   0 bndr_set weak_fvs tagged_nodes []
         | otherwise
         = loopBreakNodes 0 bndr_set weak_fvs loop_breaker_edges []

 the 'tagged_nodes' should be 'loop_breaker_edges'.
 That's it!

 The diff looks a lot bigger because I did some work on
 comments and variable naming, but that's all it is.  We
 were using the wrong set of dependencies!

 I'm astonished that this bug has not caused more trouble.
 It dates back to at least 2011 and maybe further.
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12776#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list