[GHC] #14637: Simplifier Ticks Exhausted when compiling with profiling

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Keywords: | Operating System: Linux Architecture: x86_64 | Type of failure: Compile-time (amd64) | crash or panic Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Hi GHC devs, I've run into a problem with the Frames library, I can compile a simple example using stack without executable profiling enabled, but when I enable profiling I get the simplifier ticks exhausted error. I've tried using -fsimpl-tick-factor=1000 to no avail. I've attached the stack config, cabal file, haskell code, two csv files, and the simplifier dump. Any help would be appreciated. Chris -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by cfhammill): * Attachment "stack.yaml" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by cfhammill): * Attachment "FL6.csv" added. test csv -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by cfhammill): * Attachment "FL7.csv" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by cfhammill): * Attachment "bug.hs" added. Code to trigger bug -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by cfhammill): * Attachment "simplifier_dump.txt" added. simplifier dump -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by cfhammill): * Attachment "ghcBug.cabal" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): That does look odd. Can you explain the exact steps to reproduce? (Preferably just cabal.) The fewer library dependencies the better! Thanks. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by cfhammill): Thanks Simon, All you need to do is download the two csv's, bug.hs, and ghcBug.cabal into a directory. From there: {{{ cabal sandbox init echo "executable-profiling: true" >> cabal.config cabal install --only-dependencies cabal build ## fails with ticks error ## remove executable-profiling from cabal.config and rerun cabal build ## succeeds, or uses an extreme amount of memory and dies }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by niteria): I was able to reproduce it with 8.0.2 and HEAD. I was able to reduce the reproduction case to the `bug2.hs` file and a 4 files from the `vinyl` library. To reproduce first download `bug2.hs`, `Core.hs`, `Functor.hs`, `TypeLevel.hs` and then: {{{ $ inplace/bin/ghc-stage2 bug2.hs -fforce-recomp -O -prof -fprof-auto-top -fprof-auto '-fsimpl-tick-factor=100' [1 of 5] Compiling Functor ( Functor.hs, Functor.o ) [2 of 5] Compiling TypeLevel ( TypeLevel.hs, TypeLevel.o ) [3 of 5] Compiling Core ( Core.hs, Core.o ) [4 of 5] Compiling Lens ( Lens.hs, Lens.o ) WARNING: file compiler/simplCore/SimplCore.hs, line 712 Simplifier bailing out after 4 iterations [166, 4, 4, 4] Size = {terms: 620, types: 2,587, coercions: 662, joins: 0/13} WARNING: file compiler/simplCore/SimplCore.hs, line 712 Simplifier bailing out after 4 iterations [4, 4, 4, 4] Size = {terms: 620, types: 2,587, coercions: 662, joins: 0/13} [5 of 5] Compiling Main ( bug.hs, bug.o ) Simplifier ticks exhausted When trying RuleFired Class op rlens To increase the limit, use -fsimpl-tick-factor=N (default 100). If you need to increase the limit substantially, please file a bug report and indicate the factor you needed. If GHC was unable to complete compilation even with a very large factor (a thousand or more), please consult the "Known bugs or infelicities" section in the Users Guide before filing a report. There are a few situations unlikely to occur in practical programs for which simplifier non-termination has been judged acceptable. To see detailed counts use -ddump-simpl-stats Total ticks: 111521 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by niteria): * Attachment "bug2.hs" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by niteria): * Attachment "Core.hs" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by niteria): * Attachment "Functor.hs" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by niteria): * Attachment "Lens.hs" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by niteria): * Attachment "TypeLevel.hs" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Thanks. I can repro this. For the record, changing `bug2.hs` to define just {{{ foo :: Rec Identity '["policyID" :-> Int, "statecode" :-> String, "county" :-> String, "eq_site_limit" :-> Double, "hu_site_limit" :-> Double, "fl_site_limit" :-> Double, "fr_site_limit" :-> Double, "tiv_2011" :-> Double, "tiv_2012" :-> Double, "eq_site_deductible" :-> Bool, "hu_site_deductible" :-> Double, "fl_site_deductible" :-> Bool, "fr_site_deductible" :-> Bool, "point_latitude" :-> Double, "point_longitude" :-> Double, "line" :-> String, "construction" :-> String, "point_granularity" :-> Int, "statecode" :-> String, "county" :-> String, "eq_site_limit" :-> Double, "hu_site_limit" :-> Double, "fl_site_limit" :-> Double, "fr_site_limit" :-> Double, "tiv_2011" :-> Double, "tiv_2012" :-> Double, "eq_site_deductible" :-> Bool, "hu_site_deductible" :-> Double, "fl_site_deductible" :-> Bool, "fr_site_deductible" :-> Bool, "point_latitude" :-> Double, "point_longitude" :-> Double, "line" :-> String, "construction" :-> String, "point_granularity" :-> Int] foo = mergeRows (undefined :: FL2) (undefined :: FL2) }}} without main or the (overloaded) `print`, is enough to make it go out to lunch. Moreover, this happens in the very first iteration of the simplifier. I have not got further yet. Next steps: try with a smaller `FL2` and see how the compile time (or, more precisely, simplifier ticks) goes non- linear. I say "simplifier tickes" because I would not have been suprised at non- linearity in the type checker... we are manipulating sets as lists in the type system. But I'm more surprised at non-linearity in the simplifier. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by niteria): * cc: niteria (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by niteria): Things appear to be growing exponentially: {{{ SIZE 1 Result size of Desugar (before optimization) = {terms: 158, types: 621, coercions: 257, joins: 0/19} Result size of Desugar (after optimization) = {terms: 133, types: 370, coercions: 150, joins: 0/4} Result size of Simplifier iteration=1 = {terms: 205, types: 466, coercions: 81, joins: 0/4} Total ticks: 222 SIZE 2 Result size of Desugar (before optimization) = {terms: 175, types: 903, coercions: 463, joins: 0/25} Result size of Desugar (after optimization) = {terms: 144, types: 544, coercions: 345, joins: 0/7} Result size of Simplifier iteration=1 = {terms: 411, types: 3,242, coercions: 1,533, joins: 0/32} Total ticks: 454 SIZE 3 Result size of Desugar (before optimization) = {terms: 198, types: 1,358, coercions: 823, joins: 0/33} Result size of Desugar (after optimization) = {terms: 159, types: 845, coercions: 691, joins: 0/11} Result size of Simplifier iteration=1 = {terms: 705, types: 8,184, coercions: 3,826, joins: 0/67} Total ticks: 1360 SIZE 4 Result size of Desugar (before optimization) = {terms: 227, types: 2,029, coercions: 1,398, joins: 0/43} Result size of Desugar (after optimization) = {terms: 178, types: 1,303, coercions: 1,248, joins: 0/16} Result size of Simplifier iteration=1 = {terms: 1,363, types: 20,717, coercions: 10,083, joins: 0/145} Total ticks: 4986 SIZE 5 Result size of Desugar (before optimization) = {terms: 262, types: 2,959, coercions: 2,269, joins: 0/55} Result size of Desugar (after optimization) = {terms: 201, types: 1,948, coercions: 2,096, joins: 0/22} Result size of Simplifier iteration=1 = {terms: 2,785, types: 50,660, coercions: 25,205, joins: 0/313} Total ticks: 9535 SIZE 6 Result size of Desugar (before optimization) = {terms: 303, types: 4,191, coercions: 3,525, joins: 0/69} Result size of Desugar (after optimization) = {terms: 228, types: 2,810, coercions: 3,323, joins: 0/29} Result size of Simplifier iteration=1 = {terms: 5,851, types: 120,950, coercions: 60,893, joins: 0/673} Total ticks: 18885 SIZE 7 Result size of Desugar (before optimization) = {terms: 350, types: 5,768, coercions: 5,267, joins: 0/85} Result size of Desugar (after optimization) = {terms: 259, types: 3,919, coercions: 5,029, joins: 0/37} Result size of Simplifier iteration=1 = {terms: 13,977, types: 330,419, coercions: 199,879, joins: 0/1,505} Total ticks: 38957 SIZE 8 Result size of Desugar (before optimization) = {terms: 403, types: 7,733, coercions: 7,608, joins: 0/103} Result size of Desugar (after optimization) = {terms: 294, types: 5,305, coercions: 7,326, joins: 0/46} Result size of Simplifier iteration=1 = {terms: 30,779, types: 795,941, coercions: 499,205, joins: 0/3,233} Total ticks: 82839 SIZE 9 Result size of Desugar (before optimization) = {terms: 462, types: 10,129, coercions: 10,673, joins: 0/123} Result size of Desugar (after optimization) = {terms: 333, types: 6,998, coercions: 10,338, joins: 0/56} Result size of Simplifier iteration=1 = {terms: 60,193, types: 1,647,410, coercions: 937,457, joins: 0/6,881} Total ticks: 179203 }}} If we don't run out of ticks the simplifier manages to beat down the sizes considerably (see attached `results-all`). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by niteria): * Attachment "results-all" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by niteria): It's enough to put `-fprof-auto-top` just on `Lens.hs`. Removing `{-# INLINE lens #-}` fixes exponential behavior. Interestingly I wasn't able to put enough `{-# SCC #-}` annotations to get the same effect as `-fprof-auto-top`. No matter how I try I can't put them on a class method, but perhaps I'm doing something wrong. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Check the fix for #13253 in case that fixes this ticket tool -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): simonpj, that fix seems to help ''some'' (increasing the size needed to exhaust simplifier ticks), but it does not fix the problem. I haven't yet gotten a sense of where the time is going. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by sighingnow): Compile with `inplace/bin/ghc-stage2 --make bug2.hs -prof -fprof-auto-top -fforce-recomp -O -fno-s trictness -fno-specialise -fno-do-lambda-eta-expansion` then the error disappears. From trace the most of `tick` calls come from `simplLam` in simplCore/Simplify.hs, {{{ simplLam env (bndr:bndrs) body (ApplyToTy { sc_arg_ty = arg_ty, sc_cont = cont }) = do { tick (BetaReduction bndr) ; simplLam (extendTvSubst env bndr arg_ty) bndrs body cont } }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC