Ticket #7178 (closed bug: fixed)

Opened 9 months ago

Last modified 9 months ago

Panic in coVarsOfTcCo

Reported by: simonpj Owned by: simonpj
Priority: highest Milestone: 7.6.1
Component: Compiler Version: 7.4.2
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

Ganesh says: 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.

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]
   ..blah blah..

Change History

Changed 9 months ago by simonpj

  • owner set to simonpj

I know what this is. Patch coming.

Changed 9 months ago by simonpj

Specficially, in TcEvidence?, we should replace this

    -- 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)

Changed 9 months ago by simonpj@…

commit a0788a8b2ba19b7f3205010a71472342a75395f8

Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Wed Aug 22 16:13:56 2012 +0100

    Fix missing case in coVarsOfTcCo
    
    Reported by Ganesh, Trac #7178.  Fix is easy.

 compiler/typecheck/TcEvidence.lhs |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

Changed 9 months ago by simonpj

  • status changed from new to merge

I don't actually have a test case for this.

Changed 9 months ago by pcapriotti

  • status changed from merge to closed
  • resolution set to fixed

Merged as ef4218994742e8400a48b4d6e1ae7e6b67650dc4.

Changed 9 months ago by simonpj

See also dup #7196

Note: See TracTickets for help on using tickets.