Skip to content

Ghc panics while building stage2 with -dstg-lint

Building ghc at 54fda257 with the following mk/build.mk:

BuildFlavour = validate

ifneq "$(BuildFlavour)" ""
include mk/flavours/$(BuildFlavour).mk
endif

GhcStage2HcOpts    +=  -dcore-lint -dstg-lint -dcmm-lint

building with:

make compiler/stage2/build/Exception.o

panics with:

ghc-stage1: panic! (the 'impossible' happened)
  (GHC version 8.3.20171127 for x86_64-unknown-linux):
	ASSERT failed!
  dataConInstArgTys Unit#
  [k0_10, a_11]
  ['TupleRep '[], 'IntRep, State# RealWorld, Int#]
  Call stack:
      CallStack (from HasCallStack):
        callStackDoc, called at compiler/utils/Outputable.hs:1208:22 in ghc:Outputable
        assertPprPanic, called at compiler/basicTypes/DataCon.hs:1256:76 in ghc:DataCon
  Call stack:
      CallStack (from HasCallStack):
        callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable
        pprPanic, called at compiler/utils/Outputable.hs:1206:5 in ghc:Outputable
        assertPprPanic, called at compiler/basicTypes/DataCon.hs:1256:76 in ghc:DataCon

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Once this is resolved, is there any reason that -dstg-ling and -dcmm-lint are not set on validate (at least with SLOW)?

Trac metadata
Trac field Value
Version 8.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information