[GHC] #16127: Panic: piResultTys1 in compiler/types/Type.hs:1022:5
GHC
ghc-devs at haskell.org
Fri Jan 4 20:50:23 UTC 2019
#16127: Panic: piResultTys1 in compiler/types/Type.hs:1022:5
-------------------------------------+-------------------------------------
Reporter: _deepfire | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.6.1
(Type checker) |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Compile-time
Unknown/Multiple | crash or panic
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
I apologize in advance for a non-minimised repro.
The panic (with a small `-ddump-tc-trace` excerpt, but full log also
attached):
{{{
tcPolyExprNC
Check{Vocab
*
(k_a4TNy[tau:2] -> Constraint)
i_a4TNv[tau:2]
(Present * k_a4TNy[tau:2] i_a4TNv[tau:2])}
tcSkolemise
tcInferId
voc_a4TB2 :: Vocab i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
tcCheckId
voc_a4TB2
Vocab i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
Check{Vocab
*
(k_a4TNy[tau:2] -> Constraint)
i_a4TNv[tau:2]
(Present * k_a4TNy[tau:2] i_a4TNv[tau:2])}
tcWrapResult
Actual: Vocab i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
Expected: Check{Vocab
*
(k_a4TNy[tau:2] -> Constraint)
i_a4TNv[tau:2]
(Present * k_a4TNy[tau:2] i_a4TNv[tau:2])}
tc_sub_type_ds
ty_actual = Vocab i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
ty_expected = Vocab
*
(k_a4TNy[tau:2] -> Constraint)
i_a4TNv[tau:2]
(Present * k_a4TNy[tau:2] i_a4TNv[tau:2])
deeply_instantiate final subst
origin: arising from a use of ‘voc_a4TB2’
type: Vocab i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
new type: Vocab i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
subst: [TCvSubst
In scope: InScope {i_a4TMf}
Type env: []
Co env: []]
u_tys
tclvl 2
Vocab i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
~
Vocab
*
(k_a4TNy[tau:2] -> Constraint)
i_a4TNv[tau:2]
(Present * k_a4TNy[tau:2] i_a4TNv[tau:2])
arising from a type equality Vocab
i_a4TMf[sk:1] (Present * * i_a4TMf[sk:1])
~
Vocab
*
(k_a4TNy[tau:2] -> Constraint)
i_a4TNv[tau:2]
(Present * k_a4TNy[tau:2] i_a4TNv[tau:2])
<no location info>: error:
ghc: panic! (the 'impossible' happened)
(GHC version 8.6.1 for x86_64-unknown-linux):
piResultTys1
*
[i_a4TNv[tau:2], Present * k_a4TNy[tau:2] i_a4TNv[tau:2]]
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1160:37 in
ghc:Outputable
pprPanic, called at compiler/types/Type.hs:1022:5 in ghc:Type
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}}
Repro (requires Nix & some download time, provides hard repro guarantees
in return):
{{{
$ git clone https://github.com/deepfire/holotype
$ cd holotype
$ git reset --hard 7e9f5099eea2080f57205267291eeec50ae4b68a
$ nix-shell
[nix-shell:~/holotype]$ make
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16127>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list