Ticket #2011 (closed merge: fixed)

Opened 9 months ago

Last modified 2 weeks ago

[6.8.1 regression] panic: lookupVers1 base:GHC.Prim sym{tc}

Reported by: simonmar Assigned to: igloo
Priority: high Milestone: 6.8.3
Component: Compiler Version: 6.8.2
Severity: normal Keywords:
Cc: Difficulty: Unknown
Test Case: Architecture: Unknown/Multiple
Operating System: Unknown/Multiple

Description

When rebuilding the base package you might encounter this:

../../compiler/stage1/ghc-inplace -package-name base-3.0.1.0 -hide-all-packages -split-objs -i -idist/build/autogen -idist/build -i. -Idist/build -Iinclude -#include "HsBase.h" -odir dist/build -hidir dist/build -stubdir dist/build -package rts-1.0 -O -fglasgow-exts -package-name base -XCPP -idist/build  -H16m -O -O -Rghc-timing -fgenerics -c Data/Generics/Twins.hs -o dist/build/Data/Generics/Twins.o  -ohi dist/build/Data/Generics/Twins.hi
ghc-6.8.2: panic! (the 'impossible' happened)
  (GHC version 6.8.2 for powerpc-apple-darwin):
        lookupVers1 base:GHC.Prim sym{tc}

Workaround is to clean in libraries/base.

The problem is that MkIface.computeChangedOccs needs to avoid wired-in names when checking version numbers, because wired-in names are never mentioned in usages.

I believe simonpj has a patch for this in his working tree, we diagnosed it before disappearing for the Christmas period.

Change History

01/03/08 08:18:11 changed by simonpj

  • owner changed from simonpj to igloo.
  • type changed from bug to merge.

The patch is this one. Ian, please merge to 6.8 branch.

Thu Dec 20 16:43:07 GMT 2007  simonpj@microsoft.com
  * Fix nasty recompilation bug in MkIface.computeChangedOccs
  
  	MERGE to 6.8 branch
  
  In computeChangedOccs we look up the old version of a Name.
  But a WiredIn Name doesn't have an old version, because WiredIn things
  don't appear in interface files at all.
  
  Result: ghc-6.9: panic! (the 'impossible' happened)
    (GHC version 6.9 for x86_64-unknown-linux):
  	lookupVers1 base:GHC.Prim chr#{v}
  
  This fixes the problem.  The patch should merge easily onto the branch.

01/06/08 05:06:20 changed by igloo

  • status changed from new to closed.
  • resolution set to fixed.

Merged

09/30/08 08:39:49 changed by simonmar

  • architecture changed from Unknown to Unknown/Multiple.

09/30/08 08:50:55 changed by simonmar

  • os changed from Unknown to Unknown/Multiple.