[GHC] #12843: Simplifier ticks exhausted When trying UnfoldingDone $

GHC ghc-devs at haskell.org
Wed Nov 16 07:11:14 UTC 2016


#12843: Simplifier ticks exhausted When trying UnfoldingDone $
-------------------------------------+-------------------------------------
           Reporter:                 |             Owner:
  MikolajKonarski                    |
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.0.1
           Keywords:                 |  Operating System:  Linux
       Architecture:                 |   Type of failure:  Compile-time
  Unknown/Multiple                   |  crash or panic
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 {{{
 [14 of 15] Compiling TieKnot          ( GameDefinition/TieKnot.hs,
 dist/build/LambdaHack/LambdaHack-tmp/TieKnot.dyn_o )
 ghc: panic! (the 'impossible' happened)
   (GHC version 8.0.1 for x86_64-unknown-linux):
         Simplifier ticks exhausted
   When trying UnfoldingDone $
   To increase the limit, use -fsimpl-tick-factor=N (default 100)
   If you need to do this, let GHC HQ know, and what factor you needed
   To see detailed counts use -ddump-simpl-stats
   Total ticks: 8813

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
 }}}

 when compiling in profiling mode the following commit (tons of INLINE and
 INLINABLE to ensure specialization and a couple more to debug
 irregularities in the output of the profiler)

 https://github.com/LambdaHack/LambdaHack/commit/842070fe78f07e2fb0bce829505dcfa8465ef40f

 Steps to reproduce:

 {{{
 1. make configure-prof
 2. cabal build
 }}}

 when I instead do

 {{{
 cabal build --ghc-option=-fsimpl-tick-factor=200
 }}}

 it compiles, though when I touch only `GameDefinition/Main.hs` I always
 get

 {{{
 ~/r/LambdaHack$ cabal build --ghc-option=-fsimpl-tick-factor=200
 Building LambdaHack-0.5.1.0...
 Preprocessing library LambdaHack-0.5.1.0...
 Preprocessing executable 'LambdaHack' for LambdaHack-0.5.1.0...
 [15 of 15] Compiling Main             ( GameDefinition/Main.hs,
 dist/build/LambdaHack/LambdaHack-tmp/Main.dyn_o )
 The interface for ‘TieKnot’
 Declaration for tieKnot
 Unfolding of tieKnot:
   Iface id out of scope:  standardKeys1
 [15 of 15] Compiling Main             ( GameDefinition/Main.hs,
 dist/build/LambdaHack/LambdaHack-tmp/Main.p_o )
 The interface for ‘TieKnot’
 Declaration for tieKnot
 Unfolding of tieKnot:
   Iface id out of scope:  standardKeys1
 Linking dist/build/LambdaHack/LambdaHack ...
 }}}

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


More information about the ghc-tickets mailing list