7.6.1 RC1 panic "coVarsOfTcCo:Bind"
Hi, I'm getting the panic below when building darcs 2.8 with GHC 7.6. It'll take some effort to cut it down or give repro instructions for an uncut-down version (I needed to hack a lot of underlying packages to be able to even get as far as doing this build), so could someone confirm that it's worth it before I do so? I can't spot anything already reporting this in trac. Cheers, Ganesh ghc.exe: panic! (the 'impossible' happened) (GHC version 7.6.0.20120810 for i386-unknown-mingw32): coVarsOfTcCo:Bind cobox{v a6Czs} [lid] = cobox{v a6CTr} [lid] `cast` (<main:Darcs.Test.Patch.WithState.WithState{tc r1LL8} model{tv tC} [tv] (main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} prim{tv ty} [tv] main:Darcs.Witnesses.Ordered.:>{tc r1Dyc} main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} prim{tv ty} [tv])> ghc-prim:GHC.Types.~{(w) tc 31Q} main:Darcs.Test.Patch.WithState.WithState{tc r1LL8} (Sym cobox{v a6CSH} [lid]) <main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} prim{tv ty} [tv] main:Darcs.Witnesses.Ordered.:>{tc r1Dyc} main:Darcs.Witnesses.Order ed.FL{tc r1Dy1} prim{tv ty} [tv]>) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Ah. Hmm. I see. Can you try this in TcEvidence -- We expect only coercion bindings go_bind :: EvBind -> VarSet go_bind (EvBind _ (EvCoercion co)) = go co go_bind (EvBind _ (EvId v)) = unitVarSet v go_bind other = pprPanic "coVarsOfTcCo:Bind" (ppr other) with this instead? -- We expect only coercion bindings, so use evTermCoercion go_bind :: EvBind -> VarSet go_bind (EvBind _ tm) = go (evTermCoercion tm) I think that'll fix it. Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow- | haskell-users-bounces@haskell.org] On Behalf Of Ganesh Sittampalam | Sent: 22 August 2012 06:32 | To: glasgow-haskell-users@haskell.org | Subject: 7.6.1 RC1 panic "coVarsOfTcCo:Bind" | | Hi, | | I'm getting the panic below when building darcs 2.8 with GHC 7.6. It'll | take some effort to cut it down or give repro instructions for an | uncut-down version (I needed to hack a lot of underlying packages to be | able to even get as far as doing this build), so could someone confirm | that it's worth it before I do so? I can't spot anything already | reporting this in trac. | | Cheers, | | Ganesh | | ghc.exe: panic! (the 'impossible' happened) | (GHC version 7.6.0.20120810 for i386-unknown-mingw32): | coVarsOfTcCo:Bind | cobox{v a6Czs} [lid] | = cobox{v a6CTr} [lid] `cast` | (<main:Darcs.Test.Patch.WithState.WithState{tc r1LL8} | model{tv tC} [tv] | | (main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} prim{tv ty} [tv] | | main:Darcs.Witnesses.Ordered.:>{tc r1Dyc} | main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} | | prim{tv ty} [tv])> | ghc-prim:GHC.Types.~{(w) tc 31Q} | main:Darcs.Test.Patch.WithState.WithState{tc r1LL8} | | (Sym cobox{v a6CSH} [lid]) | | <main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} | | prim{tv ty} [tv] | | main:Darcs.Witnesses.Ordered.:>{tc r1Dyc} main:Darcs.Witnesses.Order | ed.FL{tc r1Dy1} | | prim{tv ty} [tv]>) | | Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug | | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Hi Simon, Now I get the below. I tarred up the project + dependencies and put it at http://urchin.earth.li/~ganesh/temp/tcproblem.tar.bz (run build.sh), or I'm happy to keep testing on my machine. Cheers, Ganesh ghc.exe: panic! (the 'impossible' happened) (GHC version 7.6.0.20120822 for i386-unknown-mingw32): ds_ev_term cobox{v a6Aho} [lid] `cast` (<main:Darcs.Test.Patch.WithState.WithState{tc r1oms} model{tv t4H} [tv] (main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv] main:Darcs.Witnesses.Ordered.:>{tc r1iNy} main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv])> ghc-prim:GHC.Types.~{(w) tc 31Q} main:Darcs.Test.Patch.WithState.WithState{tc r1oms} (Sym cobox{v a6AgE} [lid]) <main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv] main:Darcs.Witnesses.Ordered.:>{tc r1iNy} main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv]>) (let {EvBinds{cobox{v a6zY5} [lid] = cobox{v a6Aho} [lid] `cast` (<main:Darcs.Test.Patch.WithState.WithState{tc r1oms} model{tv t4H} [tv] (main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv] main:Darcs.Witnesses.Ordered.:>{tc r1iNy} main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv])> ghc-prim:GHC.Types.~{(w) tc 31Q} main:Darcs.Test.Patch.WithState.WithState{tc r1oms} (Sym cobox{v a6AgE} [lid]) <main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv] main:Darcs.Witnesses.Ordered.:>{tc r1iNy} main:Darcs.Witnesses.Ordered.FL{tc r1iNn} prim{tv t4D} [tv]>) cobox{v a6zY6} [lid] = CO <t{tv a6zY1} [tv]>}} cobox{v a6zY5} [lid] <xx{tv a6zY3} [sk]> <yy{tv a6zY4} [sk]> -> <t{tv a6zY1} [tv]>) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug On 22/08/2012 08:40, Simon Peyton-Jones wrote:
Ah. Hmm. I see.
Can you try this in TcEvidence
-- We expect only coercion bindings go_bind :: EvBind -> VarSet go_bind (EvBind _ (EvCoercion co)) = go co go_bind (EvBind _ (EvId v)) = unitVarSet v go_bind other = pprPanic "coVarsOfTcCo:Bind" (ppr other)
with this instead?
-- We expect only coercion bindings, so use evTermCoercion go_bind :: EvBind -> VarSet go_bind (EvBind _ tm) = go (evTermCoercion tm)
I think that'll fix it.
Simon
| -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow- | haskell-users-bounces@haskell.org] On Behalf Of Ganesh Sittampalam | Sent: 22 August 2012 06:32 | To: glasgow-haskell-users@haskell.org | Subject: 7.6.1 RC1 panic "coVarsOfTcCo:Bind" | | Hi, | | I'm getting the panic below when building darcs 2.8 with GHC 7.6. It'll | take some effort to cut it down or give repro instructions for an | uncut-down version (I needed to hack a lot of underlying packages to be | able to even get as far as doing this build), so could someone confirm | that it's worth it before I do so? I can't spot anything already | reporting this in trac. | | Cheers, | | Ganesh | | ghc.exe: panic! (the 'impossible' happened) | (GHC version 7.6.0.20120810 for i386-unknown-mingw32): | coVarsOfTcCo:Bind | cobox{v a6Czs} [lid] | = cobox{v a6CTr} [lid] `cast` | (<main:Darcs.Test.Patch.WithState.WithState{tc r1LL8} | model{tv tC} [tv] | | (main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} prim{tv ty} [tv] | | main:Darcs.Witnesses.Ordered.:>{tc r1Dyc} | main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} | | prim{tv ty} [tv])> | ghc-prim:GHC.Types.~{(w) tc 31Q} | main:Darcs.Test.Patch.WithState.WithState{tc r1LL8} | | (Sym cobox{v a6CSH} [lid]) | | <main:Darcs.Witnesses.Ordered.FL{tc r1Dy1} | | prim{tv ty} [tv] | | main:Darcs.Witnesses.Ordered.:>{tc r1Dyc} main:Darcs.Witnesses.Order | ed.FL{tc r1Dy1} | | prim{tv ty} [tv]>) | | Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug | | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (2)
-
Ganesh Sittampalam -
Simon Peyton-Jones