logo       

[ ghc-Bugs-1251699 ] ghc-6.4.1.20050801: panic!: msg#00025

lang.haskell.glasgow.bugs

Subject: [ ghc-Bugs-1251699 ] ghc-6.4.1.20050801: panic!

Bugs item #1251699, was opened at 2005-08-04 19:03
Message generated for change (Comment added) made by dons
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1251699&group_id=8032

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Gour (ggd)
Assigned to: Nobody/Anonymous (nobody)
Summary: ghc-6.4.1.20050801: panic!

Initial Comment:
Hi!

I've pulled the latest Yi code from the darcs
repository and tried to compile it with 'make
way=static' using ghc-6.4.1.20050801 compiler.

Here is the result:

[...]
ghc -Wall -Werror -Icbits -Imk -funbox-strict-fields
-O2 -fasm -threaded -package-conf yi.conf
-package yi -i -Icbits -Imk -c Yi.hs -o Yi.o -ohi Yi.hi
ghc -Wall -Werror -Icbits -Imk -funbox-strict-fields
-O2 -fasm -threaded -package-conf yi.conf
-package yi -c Main.hs -o Main.o -ohi Main.hi
./Yi.hi :
Interface file inconsistency:
home-package module `Yi.Editor' is mentioned,
but does not appear in the dependencies of the
interface
ghc-6.4.1.20050801: panic! (the `impossible'
happened, GHC version 6.4.1.20050801):
forkM Declaration for staticzumain{v}

Please report it as a compiler bug to
glasgow-haskell-bugs@xxxxxxxxxxx,
or http://sourceforge.net/projects/ghc/.


Sincerely,
Gour


----------------------------------------------------------------------

Comment By: Don Stewart (dons)
Date: 2005-08-04 21:47

Message:
Logged In: YES
user_id=880987

Seems we can work around this by adding --make when compiling Main.hs
(though we shouldn't have to):

/home/dons/head-gcc3/i386-unknown-openbsd/ghc/compiler/stage1/ghc-inplace
-Wall -Werror -Icbits -Imk -funbox-strict-fields -O2 -fasm -threaded
-I/usr/local/include -package-conf yi.conf -package yi -package yi --make -c
Main.hs -o Main.o
Chasing modules from: Main.hs
[ 1 of 38] Skipping Yi.Version ( Yi/Version.hs, Yi/Version.o )
[ 2 of 38] Compiling Yi.Undo[boot] ( Yi/Undo.hs-boot, Yi/Undo.o-boot )
[ 3 of 38] Skipping Yi.Style ( Yi/Style.hs, Yi/Style.o )
[ 4 of 38] Skipping Yi.String ( Yi/String.hs, Yi/String.o )
...
[37 of 38] Skipping Yi ( Yi.hs, Yi.o )
[38 of 38] Compiling Main ( Main.hs, Main.o )
/home/dons/head-gcc3/i386-unknown-openbsd/ghc/compiler/stage1/ghc-inplace
-o yi-static -L/usr/local/lib -package-conf yi.conf -package yi -package yi
Main.o Yi.o

Note that nothing is recompiled -- only Main.hs (though there appears to be an
unneccessary recompilation of Yi.Undo.hs-boot, btw).

The .hi file for Main.hs in fact turns out as desired:

interface Main 1 6050 where
export Main main
module dependencies: Yi
package dependencies: base-1.0 mtl-1.0 yi-0.1

despite --make chasing module depends in Yi/*

So I'm wondering if ghc is getting confused by the fact that Main depends on
things in Yi/*, but isn't supposed to actually use that directory directly for
any dependencies (it should use -package yi)?

-- Don


----------------------------------------------------------------------

Comment By: Don Stewart (dons)
Date: 2005-08-04 20:48

Message:
Logged In: YES
user_id=880987

I get the same result with HEAD too. It seems to have emerged in the
last few days, stable branch from July 20 builds fine.

To reproduce:
darcs get --set-scripts-executable http://www.cse.unsw.edu.au/~dons/code/yi
cd yi
./configure --with-ghc=ghc-6.5
make way=static

which results in:

/home/dons/head-gcc3/i386-unknown-openbsd/ghc/compiler/stage1/ghc-inplace
-Wall -Werror -Icbits -Imk -funbox-strict-fields -O2 -fasm -threaded
-I/usr/local/include -package-conf yi.conf -package yi -i -Icbits -Imk -c Yi.hs
-o Yi.o -ohi Yi.hi

/home/dons/head-gcc3/i386-unknown-openbsd/ghc/compiler/stage1/ghc-inplace
-Wall -Werror -Icbits -Imk -funbox-strict-fields -O2 -fasm -threaded
-I/usr/local/include -package-conf yi.conf -package yi -c Main.hs -o Main.o
-ohi Main.hi

Yi.hi :
Interface file inconsistency:
home-package module `Yi.Editor' is mentioned,
but does not appear in the dependencies of the interface
ghc-6.5: panic! (the `impossible' happened, GHC version 6.5):
forkM Declaration for staticzumain{v}

Please report it as a compiler bug to glasgow-haskell-bugs@xxxxxxxxxxx,
or http://sourceforge.net/projects/ghc/.

The dependency chain we see is:

Main.hs
|
Yi.hs
|
[which should pull in -package yi, including Yi.Editor]

I think Yi.Editor should not be part of the home package here (as its in the yi
package), which explains why its not in the dependencies of the interface of
Yi.hs.

The Yi.hs .hi file looks like:
interface Yi 1 6050 where
export Yi dynamic_main static_main
module dependencies:
package dependencies: base-1.0 mtl-1.0 yi-0.1

which seems correct to me.
One relevant point may be the directory layout:

manzano$ ls *
Boot.hs Yi.hs Main.hs libHSyi.a

Yi:
... Editor.hs ...

I.e. Yi/Editor.hs is reachable from the directory Yi.hs is in, though we
actually want Yi.hs to use the yi package. Perhaps this is confusing ghc?

-- Don


----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1251699&group_id=8032


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise