Simplifier ticks exhausted When trying UnfoldingDone $
[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 ...
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |