|
[ ghc-Bugs-1251699 ] ghc-6.4.1.20050801: panic!: msg#00073lang.haskell.glasgow.bugs
Bugs item #1251699, was opened at 2005-08-04 09:03 Message generated for change (Comment added) made by simonmar 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: Compiler Group: None >Status: Closed 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: Simon Marlow (simonmar) Date: 2005-08-11 13:13 Message: Logged In: YES user_id=48280 Ok, I now see that you added --make to the build of Main, and removing it makes the crash happen. Here's what's happening: you compiled Yi.hs with the -i flag, which empties the search path. So Yi.Editor is found in the yi package, and Yi.hi records a dependency on package yi. All fine so far. But when you compile Main, you didn't use the -i flag, and Yi.Editor is now found on the search path, so GHC considers it to be a local module rather than a package module. Confusion naturally ensues. Officially this is driver error - you haven't compiled all your modules with a consistent view of the module namespace. Putting Yi and Main in a separate directory will solve the problem. It would be nice if GHC didn't fail in such an ugly way. We'll look into improving it. ---------------------------------------------------------------------- Comment By: Gour (ggd) Date: 2005-08-11 13:00 Message: Logged In: YES user_id=728695 I'm on x86_64. Have you tried that one? Sincerely, Gour ---------------------------------------------------------------------- Comment By: Simon Marlow (simonmar) Date: 2005-08-11 12:48 Message: Logged In: YES user_id=48280 I tried to reproduce this just now and failed - the build goes through for me with 6.4.1.20050801. However, from your description of the problem, I can imagine there might be problems. I'd still like to find out exactly what causes the crash, though. ---------------------------------------------------------------------- Comment By: Don Stewart (dons) Date: 2005-08-04 11: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 10: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> |
|---|---|---|
| Previous by Date: | [ ghc-Bugs-1251699 ] ghc-6.4.1.20050801: panic!, SourceForge.net |
|---|---|
| Next by Date: | Re: stdin set to nonblocking mode, Sigbjorn Finne |
| Previous by Thread: | [ ghc-Bugs-1251699 ] ghc-6.4.1.20050801: panic!, SourceForge.net |
| Next by Thread: | "Error: symbol `__stg_split_marker' is already defined", Frederik Eaton |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |