[GHC] #8168: ghc "Simplifier ticks exhausted" "When trying UnfoldingDone"
GHC
ghc-devs at haskell.org
Tue Aug 27 08:50:17 UTC 2013
#8168: ghc "Simplifier ticks exhausted" "When trying UnfoldingDone"
-------------------------------------+-------------------------------------
Reporter: sp55aa | Owner:
Type: bug | Status: new
Priority: high | Milestone:
Component: Compiler | Version: 7.6.3
Resolution: | Keywords: Simplifier,
Operating System: Windows | UnfoldingDone, simpl-tick-factor
Type of failure: GHC rejects | Architecture: x86
valid program | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+-------------------------------------
Old description:
> ghc fail to compile this file:
>
> ---- begin Y.hs ----
> newtype Rec a = Rec { unRec :: Rec a -> a }
>
> y :: (a -> a) -> a
> y = \f -> (\x -> f (unRec x x)) (Rec (\x -> f (unRec x x)))
>
> foo :: (a -> a) -> a -> a
> foo f n = f n
>
> main = print $ y foo 4
> ---- end Y.hs ----
>
> C:\Users\user\Desktop>ghc Y.lhs
> [1 of 1] Compiling Main ( Y.lhs, Y.o )
> ghc: panic! (the 'impossible' happened)
> (GHC version 7.6.3 for i386-unknown-mingw32):
> Simplifier ticks exhausted
> When trying UnfoldingDone a_sqe{v} [lid]
> 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: 5601
>
> Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
New description:
ghc fail to compile this file:
{{{
---- begin Y.hs ----
newtype Rec a = Rec { unRec :: Rec a -> a }
y :: (a -> a) -> a
y = \f -> (\x -> f (unRec x x)) (Rec (\x -> f (unRec x x)))
foo :: (a -> a) -> a -> a
foo f n = f n
main = print $ y foo 4
---- end Y.hs ----
}}}
Try it:
{{{
C:\Users\user\Desktop>ghc Y.lhs
[1 of 1] Compiling Main ( Y.lhs, Y.o )
ghc: panic! (the 'impossible' happened)
(GHC version 7.6.3 for i386-unknown-mingw32):
Simplifier ticks exhausted
When trying UnfoldingDone a_sqe{v} [lid]
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: 5601
}}}
--
Comment (by simonpj):
Yes see http://www.haskell.org/ghc/docs/latest/html/users_guide/bugs.html.
At least the simplifier doesn't go into an infinite loop any more. Better
solutions welcome.
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8168#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list