[GHC] #9583: Simplifier ticks exhausted while compiling Cabal HEAD

GHC ghc-devs at haskell.org
Fri Sep 19 13:41:56 UTC 2014


#9583: Simplifier ticks exhausted while compiling Cabal HEAD
-------------------------------------+-------------------------------------
              Reporter:  ezyang      |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  highest     |        Milestone:
             Component:  Compiler    |          Version:  7.9
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  Compile-    |       Blocked By:
  time crash                         |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 I thought this was going to be very complicated but it turned out to be
 very simple!  The occurrence analyser does something called "glomming" if
 the application of imported RULES means that something that didn't look
 recursive becomes recursive.  See `Note [Glomming]` in `OccurAnal`.  Under
 these circumstances we group all the top-level bindings into a single
 massive `Rec`.

 But, crucially, I failed to repeat the occurrence analysis on this glommed
 set of bindings.  That means that we weren't establishing the right loop
 breakers (indeed there were no loop breakers whatsoever), and that led
 immediately to the loop. The only surprising this is that it didn't happen
 before.

 Patch coming

 Simon

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


More information about the ghc-tickets mailing list