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 |