[GHC] #15186: ghc 8.4.2 panic in profiling build
GHC
ghc-devs at haskell.org
Wed May 30 21:27:08 UTC 2018
#15186: ghc 8.4.2 panic in profiling build
-------------------------------------+-------------------------------------
Reporter: kquick | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Profiling | Version: 8.4.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 bgamari):
The problem appears to be caused by the matcher for `PointerExpr`, which
is levity polymorphic:
{{{#!hs
Bar.$mPointerExpr
:: forall (r :: TYPE rep) (tp :: CrucibleType).
Expr tp -> (GHC.Prim.Void# -> r) -> (GHC.Prim.Void# -> r) -> r
}}}
This particular form of levity polymorphism should be perfectly fine.
However, it seems that the worker-wrapper pass somehow stumbles on to
this:
{{{
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 8.4.1 for x86_64-unknown-linux):
isUnliftedType
r_a32N :: TYPE rep_a32M
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in
ghc:Outputable
pprPanic, called at compiler/types/Type.hs:1951:10 in ghc:Type
CallStack (from -prof):
WorkWrap.splitFun (compiler/stranal/WorkWrap.hs:(470,1)-(566,42))
WorkWrap.tryWW (compiler/stranal/WorkWrap.hs:(397,1)-(424,65))
WorkWrap.wwBind (compiler/stranal/WorkWrap.hs:(86,1)-(97,76))
WorkWrap.wwTopBinds (compiler/stranal/WorkWrap.hs:(63,1)-(66,30))
SimplCore.WorkWrap (compiler/simplCore/SimplCore.hs:491:40-59)
HscMain.Core2Core (compiler/main/HscMain.hs:1212:7-55)
HscMain.hscSimplify' (compiler/main/HscMain.hs:(1206,1)-(1212,55))
HscMain.finish (compiler/main/HscMain.hs:(728,1)-(768,70))
HscMain.hscIncrementalCompile
(compiler/main/HscMain.hs:(671,1)-(717,52))
GhcMake.upsweep_mod.compile_it
(compiler/main/GhcMake.hs:(1457,13)-(1459,66))
GhcMake.upsweep_mod (compiler/main/GhcMake.hs:(1403,1)-(1559,49))
GhcMake.upsweep.upsweep' (compiler/main/GhcMake.hs:(1272,3)-(1371,91))
GhcMake.upsweep (compiler/main/GhcMake.hs:(1254,1)-(1371,91))
GhcMake.load'.upsweep_fn (compiler/main/GhcMake.hs:(393,9)-(394,41))
GhcMake.load'.checkHowMuch (compiler/main/GhcMake.hs:(270,9)-(272,27))
GhcMake.load' (compiler/main/GhcMake.hs:(246,1)-(494,38))
GhcMake.load (compiler/main/GhcMake.hs:(238,1)-(240,44))
GHC.withCleanupSession (compiler/main/GHC.hs:(466,1)-(475,37))
GHC.runGhc (compiler/main/GHC.hs:(441,1)-(446,26))
GHC.defaultErrorHandler (compiler/main/GHC.hs:(381,1)-(413,7))
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15186#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list