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 |