[GHC] #8613: simplifier ticks exhausted
GHC
ghc-devs at haskell.org
Sat Jun 7 12:52:38 UTC 2014
#8613: simplifier ticks exhausted
-----------------------------+----------------------------------
Reporter: guest | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
Resolution: | Keywords:
Operating System: MacOS X | Architecture: x86_64 (amd64)
Type of failure: Other | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-----------------------------+----------------------------------
Old description:
> (Sent by chrisreade at mac.com )
> Compiler giving up with simplifier ticks exhausted.
> Large amount of simplification may be going on to cause this.
> The problem goes away when using -fsimpl-tick-factor=1000 and the code
> runs.
> This is the session output without the flag (asking to have bug
> reported):
> {{{
> chris$ ghc -O2 -rtsopts RedBlackStencilOpt.hs -v
> Glasgow Haskell Compiler, Version 7.6.3, stage 2 booted by GHC version
> 7.4.2
> Using binary package database:
> /Library/Frameworks/GHC.framework/Versions/7.6.3-x86_64/usr/lib/ghc-7.6.3/package.conf.d/package.cache
> Using binary package database:
> /Users/chris/.ghc/x86_64-darwin-7.6.3/package.conf.d/package.cache
> hiding package binary-0.5.1.1 to avoid conflict with later version
> binary-0.6.4.0
> hiding package Cabal-1.16.0 to avoid conflict with later version
> Cabal-1.18.1.1
> wired-in package ghc-prim mapped to ghc-
> prim-0.3.0.0-d5221a8c8a269b66ab9a07bdc23317dd
> wired-in package integer-gmp mapped to integer-
> gmp-0.5.0.0-2f15426f5b53fe4c6490832f9b20d8d7
> wired-in package base mapped to
> base-4.6.0.1-6c351d70a24d3e96f315cba68f3acf57
> wired-in package rts mapped to builtin_rts
> wired-in package template-haskell mapped to template-
> haskell-2.8.0.0-c2c1b21dbbb37ace4b7dc26c966ec664
> wired-in package dph-seq not found.
> wired-in package dph-par not found.
> Hsc static flags: -static
> *** Chasing dependencies:
> Chasing modules from: *RedBlackStencilOpt.hs
> Stable obj: []
> Stable BCO: []
> Ready for upsweep
> [NONREC
> ModSummary {
> ms_hs_date = 2013-12-13 13:12:37 UTC
> ms_mod = main:RedBlackStencilOpt,
> ms_textual_imps = [import (implicit) Prelude,
> import Data.Array.Repa.Stencil.Dim2 as A,
> import Data.Array.Repa.Stencil as A, import
> Data.Array.Repa as A]
> ms_srcimps = []
> }]
> *** Deleting temp files:
> Deleting:
> compile: input file RedBlackStencilOpt.hs
> Created temporary directory:
> /var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0
> *** Checking old interface for main:RedBlackStencilOpt:
> [1 of 1] Compiling RedBlackStencilOpt ( RedBlackStencilOpt.hs,
> RedBlackStencilOpt.o )
> *** Parser:
> *** Renamer/typechecker:
> *** Simplify:
> *** CorePrep:
> *** ByteCodeGen:
> Loading package ghc-prim ... linking ... done.
> Loading package integer-gmp ... linking ... done.
> *** gcc:
> '/usr/bin/gcc' '-m64' '-fno-stack-protector' '-m64'
> '-L/Library/Frameworks/GHC.framework/Versions/7.6.3-x86_64/usr/lib/ghc-7.6.3/base-4.6.0.1'
> '--print-file-name' 'libiconv.dylib'
> Loading package base ... linking ... done.
> Loading package pretty-1.1.1.0 ... linking ... done.
> Loading package array-0.4.0.1 ... linking ... done.
> Loading package deepseq-1.3.0.1 ... linking ... done.
> Loading package containers-0.5.0.0 ... linking ... done.
> Loading package old-locale-1.0.0.5 ... linking ... done.
> Loading package time-1.4.0.1 ... linking ... done.
> Loading package random-1.0.1.1 ... linking ... done.
> Loading package template-haskell ... linking ... done.
> Loading package QuickCheck-2.6 ... linking ... done.
> Loading package bytestring-0.10.0.2 ... linking ... done.
> Loading package primitive-0.5.0.1 ... linking ... done.
> Loading package vector-0.10.0.1 ... linking ... done.
> Loading package repa-3.2.3.3 ... linking ... done.
> *** Simplify:
> *** CorePrep:
> *** ByteCodeGen:
> *** Desugar:
> Result size of Desugar (after optimization)
> = {terms: 900, types: 1,810, coercions: 340}
> *** Simplifier:
> Result size of Simplifier iteration=1
> = {terms: 834, types: 1,757, coercions: 567}
> Result size of Simplifier iteration=2
> = {terms: 830, types: 1,721, coercions: 567}
> Result size of Simplifier
> = {terms: 830, types: 1,721, coercions: 567}
> *** Specialise:
> Result size of Specialise
> = {terms: 830, types: 1,721, coercions: 567}
> *** Float out(FOS {Lam = Just 0, Consts = True, PAPs = False}):
> Result size of Float out(FOS {Lam = Just 0,
> Consts = True,
> PAPs = False})
> = {terms: 993, types: 2,131, coercions: 567}
> *** Float inwards:
> Result size of Float inwards
> = {terms: 993, types: 2,131, coercions: 567}
> *** Simplifier:
> *** Deleting temp files:
> Deleting:
> /var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0/ghc93155_0.s
> Warning: deleting non-existent
> /var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0/ghc93155_0.s
> *** Deleting temp dirs:
> Deleting: /var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0
> ghc: panic! (the 'impossible' happened)
> (GHC version 7.6.3 for x86_64-apple-darwin):
> Simplifier ticks exhausted
> When trying RuleFired Class op szipWith
> 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: 60402
>
> Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
> }}}
New description:
(Sent by chrisreade at mac.com )
Compiler giving up with simplifier ticks exhausted.
Large amount of simplification may be going on to cause this.
The problem goes away when using -fsimpl-tick-factor=1000 and the code
runs.
This is the session output without the flag (asking to have bug reported):
chris$ ghc -O2 -rtsopts RedBlackStencilOpt.hs -v
Glasgow Haskell Compiler, Version 7.6.3, stage 2 booted by GHC version
7.4.2
Using binary package database:
/Library/Frameworks/GHC.framework/Versions/7.6.3-x86_64/usr/lib/ghc-7.6.3/package.conf.d/package.cache
Using binary package database:
/Users/chris/.ghc/x86_64-darwin-7.6.3/package.conf.d/package.cache
hiding package binary-0.5.1.1 to avoid conflict with later version
binary-0.6.4.0
hiding package Cabal-1.16.0 to avoid conflict with later version
Cabal-1.18.1.1
wired-in package ghc-prim mapped to ghc-
prim-0.3.0.0-d5221a8c8a269b66ab9a07bdc23317dd
wired-in package integer-gmp mapped to integer-
gmp-0.5.0.0-2f15426f5b53fe4c6490832f9b20d8d7
wired-in package base mapped to
base-4.6.0.1-6c351d70a24d3e96f315cba68f3acf57
wired-in package rts mapped to builtin_rts
wired-in package template-haskell mapped to template-
haskell-2.8.0.0-c2c1b21dbbb37ace4b7dc26c966ec664
wired-in package dph-seq not found.
wired-in package dph-par not found.
Hsc static flags: -static
*** Chasing dependencies:
Chasing modules from: *RedBlackStencilOpt.hs
Stable obj: []
Stable BCO: []
Ready for upsweep
[NONREC
ModSummary {
ms_hs_date = 2013-12-13 13:12:37 UTC
ms_mod = main:RedBlackStencilOpt,
ms_textual_imps = [import (implicit) Prelude,
import Data.Array.Repa.Stencil.Dim2 as A,
import Data.Array.Repa.Stencil as A, import
Data.Array.Repa as A]
ms_srcimps = []
}]
*** Deleting temp files:
Deleting:
compile: input file RedBlackStencilOpt.hs
Created temporary directory:
/var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0
*** Checking old interface for main:RedBlackStencilOpt:
[1 of 1] Compiling RedBlackStencilOpt ( RedBlackStencilOpt.hs,
RedBlackStencilOpt.o )
*** Parser:
*** Renamer/typechecker:
*** Simplify:
*** CorePrep:
*** ByteCodeGen:
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
*** gcc:
'/usr/bin/gcc' '-m64' '-fno-stack-protector' '-m64'
'-L/Library/Frameworks/GHC.framework/Versions/7.6.3-x86_64/usr/lib/ghc-7.6.3/base-4.6.0.1'
'--print-file-name' 'libiconv.dylib'
Loading package base ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package containers-0.5.0.0 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package time-1.4.0.1 ... linking ... done.
Loading package random-1.0.1.1 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package QuickCheck-2.6 ... linking ... done.
Loading package bytestring-0.10.0.2 ... linking ... done.
Loading package primitive-0.5.0.1 ... linking ... done.
Loading package vector-0.10.0.1 ... linking ... done.
Loading package repa-3.2.3.3 ... linking ... done.
*** Simplify:
*** CorePrep:
*** ByteCodeGen:
*** Desugar:
Result size of Desugar (after optimization)
= {terms: 900, types: 1,810, coercions: 340}
*** Simplifier:
Result size of Simplifier iteration=1
= {terms: 834, types: 1,757, coercions: 567}
Result size of Simplifier iteration=2
= {terms: 830, types: 1,721, coercions: 567}
Result size of Simplifier
= {terms: 830, types: 1,721, coercions: 567}
*** Specialise:
Result size of Specialise
= {terms: 830, types: 1,721, coercions: 567}
*** Float out(FOS {Lam = Just 0, Consts = True, PAPs = False}):
Result size of Float out(FOS {Lam = Just 0,
Consts = True,
PAPs = False})
= {terms: 993, types: 2,131, coercions: 567}
*** Float inwards:
Result size of Float inwards
= {terms: 993, types: 2,131, coercions: 567}
*** Simplifier:
*** Deleting temp files:
Deleting:
/var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0/ghc93155_0.s
Warning: deleting non-existent
/var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0/ghc93155_0.s
*** Deleting temp dirs:
Deleting: /var/folders/dz/m1mks1yn1bsft72zgh105sw40000gn/T/ghc93155_0
ghc: panic! (the 'impossible' happened)
(GHC version 7.6.3 for x86_64-apple-darwin):
Simplifier ticks exhausted
When trying RuleFired Class op szipWith
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: 60402
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
--
Comment (by dominic):
I can reproduce this in 7.9:
{{{
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 7.9.20140606 for x86_64-apple-darwin):
Simplifier ticks exhausted
When trying UnfoldingDone $fNumInt_$c*
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: 73680
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8613#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list