
#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/842070fe78f07e2fb0bce829505d... 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