Skip to content

GHC as a library panic on loading second module

Given the following two modules:

module GHCLibTest where

import GHC
import PackageConfig
import DynFlags

main = do session <- newSession JustTypecheck (Just "/usr/local/lib/ghc-6.6")
          f <- getSessionDynFlags session
          f' <- parseDynamicFlags f ["-isrc","-ilib","-ilib/DData","-fglasgow-ex
ts","-package wx"]
          setSessionDynFlags session (fst f'){hscTarget = HscInterpreted}
          let preludeModule = mkModule (stringToPackageId "base") (mkModuleName
"Prelude")
          setContext session [] [preludeModule]
          t <- guessTarget "src/Main.hs" Nothing
          addTarget session t
          load session LoadAllTargets

and

module OtherModule where

import Data.List

type Nummer = String

data Beademing = HFO | CPAP | IPPV | Geen       
    deriving (Show, Read, Eq)
data Bloeddruk = Hypertensie | Hypotensie | TensieNormaal       
    deriving (Show, Read, Eq)
data Partus = PartusTeVroeg | PartusNormaal     
    deriving (Show, Read, Eq)

the following results:

harlan:~/Werk/dss/software/ghclib arthurvl$ echo "main" | ghci -package ghc ghclibtest.hs
   ___         ___ _
  / _ \ /\  /\/ __(_)
 / /_\// /_/ / /  | |      GHC Interactive, version 6.6, for Haskell 98.
/ /_\\/ __  / /___| |      http://www.haskell.org/ghc/
\____/\/ /_/\____/|_|      Type :? for help.

Loading package base ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package readline-1.0 ... linking ... done.
Loading package unix-1.0 ... linking ... done.
Loading package Cabal-1.1.6 ... linking ... done.
Loading package regex-base-0.71 ... linking ... done.
Loading package regex-posix-0.71 ... linking ... done.
Loading package regex-compat-0.71 ... linking ... done.
Loading package haskell98 ... linking ... done.
Loading package ghc-6.6 ... linking ... done.
[1 of 2] Compiling OtherModule      ( OtherModule.hs, interpreted )
[2 of 2] Compiling GHCLibTest       ( ghclibtest.hs, interpreted )
Ok, modules loaded: OtherModule, GHCLibTest.
*GHCLibTest> ghc-6.6: panic! (the 'impossible' happened)
  (GHC version 6.6 for powerpc-apple-darwin):
        lookup_dfun main:OtherModule.$f1{v r5ig} [lid]

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

*GHCLibTest> Leaving GHCi.
harlan:~/Werk/dss/software/ghclib arthurvl$ 

This does not just occur for this recursive case, but also for cases where the main module is from some completely different program.

Trac metadata
Trac field Value
Version 6.6
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component GHC API
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Unknown
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information