[GHC] #8078: Core lint failure for profiled code

#8078: Core lint failure for profiled code
-----------------------------------+---------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.7
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Compile-time crash
Unknown/Multiple | Test Case: T4492
Difficulty: Unknown | Blocking:
Blocked By: |
Related Tickets: |
-----------------------------------+---------------------------------------
Probably related to the cardinality changes. Here is the dump:
=====> T4492(profasm) 3361 of 3686 [2, 51, 0]
cd ./indexed-types/should_compile && '/srv/code/ghc-build-
sandbox/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint
-dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c
T4492.hs -O -prof -static -auto-all >T4492.comp.stderr 2>&1
Compile failed (status 256) errors were:
*** Core Lint errors : in result of CorePrep ***
{-# LINE 12 "T4492.hs #-}: Warning:
[RHS of T4492.$fCMaybe_$cgo :: forall a_aex.
T4492.C a_aex =>
forall b_ae0.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1
-> b_ae0 -> a1_ae1)
-> Data.Maybe.Maybe a_aex
-> T4492.F (Data.Maybe.Maybe a_aex)
b_ae0]
Demand type has 4 arguments, rhs has 3 arguments, T4492.$fCMaybe_$cgo
Binder's strictness signature: DmdType
,
Unf=OtherCon []]
T4492.go =
\ (@ a_adZ) (tpl_sgH [Occ=Once] :: T4492.C a_adZ) ->
tpl_sgH
`cast` (T4492.NTCo:C[0]

#8078: Core lint failure for profiled code ---------------------------------------+----------------------------------- Reporter: ezyang | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time crash | Unknown/Multiple Test Case: T4492 | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: ---------------------------------------+----------------------------------- Description changed by ezyang: Old description:
Probably related to the cardinality changes. Here is the dump:
=====> T4492(profasm) 3361 of 3686 [2, 51, 0] cd ./indexed-types/should_compile && '/srv/code/ghc-build- sandbox/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T4492.hs -O -prof -static -auto-all >T4492.comp.stderr 2>&1 Compile failed (status 256) errors were: *** Core Lint errors : in result of CorePrep *** {-# LINE 12 "T4492.hs #-}: Warning: [RHS of T4492.$fCMaybe_$cgo :: forall a_aex. T4492.C a_aex => forall b_ae0. (forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_ae0 -> a1_ae1) -> Data.Maybe.Maybe a_aex -> T4492.F (Data.Maybe.Maybe a_aex) b_ae0] Demand type has 4 arguments, rhs has 3 arguments, T4492.$fCMaybe_$cgo Binder's strictness signature: DmdType
*** Offending Program *** T4492.go [InlPrag=INLINE] :: forall a_adZ. T4492.C a_adZ => forall b_ae0. (forall a_ae1. Data.Maybe.Maybe a_ae1 -> b_ae0 -> a_ae1) -> a_adZ -> T4492.F a_adZ b_ae0 [GblId[ClassOp], Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] T4492.go = \ (@ a_adZ) (tpl_sgH [Occ=Once] :: T4492.C a_adZ) -> tpl_sgH `cast` (T4492.NTCo:C[0]:: T4492.C a_adZ ~# (forall b_ae0. (forall a_ae1. Data.Maybe.Maybe a_ae1 -> b_ae0 -> a_ae1) -> a_adZ -> T4492.F a_adZ b_ae0)) T4492.$fCMaybe1 :: forall a_aex. T4492.C a_aex => forall b_afH. (forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1) -> Data.Maybe.Maybe a_aex -> b_afH -> T4492.F a_aex b_afH [GblId, Arity=4, Caf=NoCafRefs, Str=DmdType
, Unf=OtherCon []] T4492.$fCMaybe1 = \ (@ a_aex) ($dC_sgI [Occ=OnceL] :: T4492.C a_aex) (@ b_afH) (f_sgJ :: forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1) (a1_sgK [Occ=OnceL] :: Data.Maybe.Maybe a_aex) (b1_sgL [Occ=OnceL] :: b_afH) -> scctick<go> let { sat_sgM [Occ=Once] :: a_aex [LclId, Str=DmdType] sat_sgM = f_sgJ @ a_aex a1_sgK b1_sgL } in ($dC_sgI `cast` (T4492.NTCo:C[0] :: T4492.C a_aex ~# (forall b_ae0. (forall a_ae1. Data.Maybe.Maybe a_ae1 -> b_ae0 -> a_ae1) -> a_aex -> T4492.F a_aex b_ae0))) @ b_afH f_sgJ sat_sgM T4492.$fCMaybe_$cgo :: forall a_aex. T4492.C a_aex => forall b_ae0. (forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_ae0 -> a1_ae1) -> Data.Maybe.Maybe a_aex -> T4492.F (Data.Maybe.Maybe a_aex) b_ae0 [GblId, Arity=3, Caf=NoCafRefs, Str=DmdType
, Unf=OtherCon []] T4492.$fCMaybe_$cgo = (\ (@ a_aex) (eta_B3 [Occ=Once] :: T4492.C a_aex) (@ b_afH) (eta_B2 [Occ=Once] :: forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1) (eta_B1 [Occ=Once] :: Data.Maybe.Maybe a_aex) -> T4492.$fCMaybe1 @ a_aex eta_B3 @ b_afH eta_B2 eta_B1) `cast` (forall a_aex. -> forall b_afH. b_afH -> a1_ae1> -> -> Sym (T4492.TFCo:R:FMaybeb[0] ) :: (forall a_aex. T4492.C a_aex => forall b_afH. (forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1) -> Data.Maybe.Maybe a_aex -> b_afH -> T4492.F a_aex b_afH) ~# (forall a_aex. T4492.C a_aex => forall b_afH. (forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1) -> Data.Maybe.Maybe a_aex -> T4492.F (Data.Maybe.Maybe a_aex) b_afH)) T4492.$fCMaybe [InlPrag=INLINE (sat-args=0)] :: forall a_aex. T4492.C a_aex => T4492.C (Data.Maybe.Maybe a_aex) [GblId[DFunId(nt)], Arity=3, Caf=NoCafRefs, Str=DmdType
, Unf=OtherCon []] T4492.$fCMaybe = (\ (@ a_aex) (eta_B3 [Occ=Once] :: T4492.C a_aex) (@ b_afH) (eta_B2 [Occ=Once] :: forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1) (eta_B1 [Occ=Once] :: Data.Maybe.Maybe a_aex) -> T4492.$fCMaybe1 @ a_aex eta_B3 @ b_afH eta_B2 eta_B1) `cast` (forall a_aex. -> (forall b_afH. b_afH -> a1_ae1> -> -> Sym (T4492.TFCo:R:FMaybeb[0] )) ; Sym (T4492.NTCo:C[0] ) :: (forall a_aex. T4492.C a_aex => forall b_afH. (forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1) -> Data.Maybe.Maybe a_aex -> b_afH -> T4492.F a_aex b_afH) ~# (forall a_aex. T4492.C a_aex => T4492.C (Data.Maybe.Maybe a_aex))) *** End of Offense ***
<no location info>: Compilation had errors
*** unexpected failure for T4492(profasm)
New description:
Probably related to the cardinality changes. Here is the dump:
{{{
=====> T4492(profasm) 3361 of 3686 [2, 51, 0]
cd ./indexed-types/should_compile && '/srv/code/ghc-build-
sandbox/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint
-dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c
T4492.hs -O -prof -static -auto-all >T4492.comp.stderr 2>&1
Compile failed (status 256) errors were:
*** Core Lint errors : in result of CorePrep ***
{-# LINE 12 "T4492.hs #-}: Warning:
[RHS of T4492.$fCMaybe_$cgo :: forall a_aex.
T4492.C a_aex =>
forall b_ae0.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1
-> b_ae0 -> a1_ae1)
-> Data.Maybe.Maybe a_aex
-> T4492.F (Data.Maybe.Maybe a_aex)
b_ae0]
Demand type has 4 arguments, rhs has 3 arguments, T4492.$fCMaybe_$cgo
Binder's strictness signature: DmdType
,
Unf=OtherCon []]
T4492.go =
\ (@ a_adZ) (tpl_sgH [Occ=Once] :: T4492.C a_adZ) ->
tpl_sgH
`cast` (T4492.NTCo:C[0]

#8078: Core lint failure for profiled code -------------------------------------+------------------------------------- Reporter: ezyang | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.7 Resolution: worksforme | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: T4492 Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by thomie): * status: new => closed * resolution: => worksforme Comment: T4492 works for me in the `profasm` way, so this must have been fixed at some point. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8078#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC