[GHC] #10372: panic! compiling Y combinator with optimizations

#10372: panic! compiling Y combinator with optimizations -------------------------------------+------------------------------------- Reporter: cdk | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.1 Keywords: panic, | Operating System: Unknown/Multiple simplifier | Type of failure: None/Unknown Architecture: | Blocked By: Unknown/Multiple | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- The following causes GHC 7.6.3, 7.8.3 and 7.10.1 (at least) to panic when compiling with optimizations: {{{#!hs module Y (y) where newtype Rec a = Rec { out :: Rec a -> a} k x = out x x y f = (f . k) (Rec (f . k)) }}} {{{ /tmp ««« ghc -O y.hs -fforce-recomp [1 of 1] Compiling Y ( y.hs, y.o ) ghc: panic! (the 'impossible' happened) (GHC version 7.10.1 for x86_64-unknown-linux): Simplifier ticks exhausted When trying UnfoldingDone a_sof 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: 5282 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10372 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10372: panic! compiling Y combinator with optimizations -------------------------------------+------------------------------------- Reporter: cdk | Owner: Type: bug | Status: new Priority: lowest | Milestone: ⊥ Component: Compiler | Version: 7.10.1 Resolution: | Keywords: panic, Operating System: Unknown/Multiple | simplifier Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: | Test Case: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by simonpj): * priority: normal => lowest * milestone: => ⊥ Comment: Yes indeed: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/bugs.html Alas I know of no good solution, but happily it doesn't seem to bite much (ever?) in real programs. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10372#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10372: panic! compiling Y combinator with optimizations -------------------------------------+------------------------------------- Reporter: cdk | Owner: Type: bug | Status: closed Priority: lowest | Milestone: ⊥ Component: Compiler | Version: 7.10.1 Resolution: duplicate | Keywords: panic, | simplifier Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #424 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by thomie): * status: new => closed * resolution: => duplicate * related: => #424 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10372#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC