Sigbjorn, Stef

Stef has tripped over a genuine bug in GHC 5.04.  It's already fixed in
the head, but we hadn't back-patched it into 5.04.  Since it has come up
again, its convinced us to back-patch, and the fix will be in the next
release of GHC, both on the 5.04 branch and in the HEAD.

The bug relates to a class method that constrains the class type
variable:

        class Foo a where
           op :: Eq a => ....

Notice the "Eq a" constrains the class variable 'a'.  This is not
actually legal in Haskell 98.  GHC claims to accept it, but actually
there's a nasty bug.

Simon

| -----Original Message-----
| From: Sigbjorn Finne [mailto:[EMAIL PROTECTED]]
| Sent: 14 February 2003 15:25
| To: Simon Peyton-Jones
| Subject: Fw: ghc crashes
| 
| I haven't had the time to look at this one..perhaps it will crash
| similarly on non-win32 boxes too?
| 
| --sigbjorn
| 
| ----- Original Message -----
| From: <[EMAIL PROTECTED]>
| To: <[EMAIL PROTECTED]>
| Sent: Wednesday, February 05, 2003 05:36
| Subject: ghc crashes
| 
| 
| > Sigbjorn,
| >
| > Since I know how keen you people are to keep ghc as bugfree as
possible, I
| > thought you might find it interesting to learn that I ran into a
crash. I
| > am running ghc 5.04 on a windows 2000 professional computer. I have
made a
| > successful effort to render the error reproducible, so now you can
have a
| > go. I have attached all the files you need to reproduce the error.
Please
| > put them in a directory, and this is what happens:
| >
| > c:\> ghc -package text -fglasgow-exts -fallow-undecidable-instances
--make
| > SemTry -o SemTry.exe
| > ghc: chasing modules from: SemTry
| > Compiling UU_BinaryTrees   ( UU_BinaryTrees.hs, UU_BinaryTrees.o )
| > Compiling UU_Pretty        ( UU_Pretty.hs, UU_Pretty.o )
| > Compiling UU_Parsing       ( UU_Parsing.hs, UU_Parsing.o )
| > Compiling UU_Scanner       ( UU_Scanner.hs, UU_Scanner.o )
| > Compiling Auxiliaries      ( Auxiliaries.lhs, Auxiliaries.o )
| > Compiling Classification   ( Classification.lhs, Classification.o )
| > Compiling Typology         ( Typology.lhs, Typology.o )
| > Compiling CC_aux           ( CC_aux.lhs, CC_aux.o )
| >
| > CC_aux.lhs:141:
| >     Warning: No explicit method nor default method for `flp'
| >           In the instance declaration for `Morphic Morph'
| > Compiling AGtry            ( AGtry.hs, AGtry.o )
| > Compiling CC               ( CC.hs, CC.o )
| > Compiling Main             ( SemTry.hs, ./SemTry.o )
| > ghc: linking ...
| >
| > <COMMENT: So far so good. The program has compiled well, and the
result
| > works:  >
| >
| > c:\> SemTry arch
| > Element
| >   OObject
| >     Actor
| >     Service
| >     Object
| >     MessageInst
| >     Data_Object
| > Set
| >   Class
| >     Store
| >     Parameter
| >     Message
| > Event
| >   UpdateEvent
| >   StoreEvent
| >   DeleteEvent
| > Location
| >   Store
| > Time
| > Application
| >
| > <COMMENT: Now watch when I do a partial compilation. At this point I
have
| > saved the file CC.hs again, forcing recompilation>
| >
| > c:\> ghc -package text -fglasgow-exts -fallow-undecidable-instances
--make
| > SemTry -o SemTry.exe
| > ghc: chasing modules from: SemTry
| > Skipping  UU_BinaryTrees   ( UU_BinaryTrees.hs, UU_BinaryTrees.o )
| > Skipping  UU_Pretty        ( UU_Pretty.hs, UU_Pretty.o )
| > Skipping  UU_Parsing       ( UU_Parsing.hs, UU_Parsing.o )
| > Skipping  UU_Scanner       ( UU_Scanner.hs, UU_Scanner.o )
| > Skipping  Auxiliaries      ( Auxiliaries.lhs, Auxiliaries.o )
| > Skipping  Classification   ( Classification.lhs, Classification.o )
| > Skipping  Typology         ( Typology.lhs, Typology.o )
| > Skipping  CC_aux           ( CC_aux.lhs, CC_aux.o )
| > Skipping  AGtry            ( AGtry.hs, AGtry.o )
| > Compiling CC               ( CC.hs, CC.o )
| > Skipping  Main             ( SemTry.hs, ./SemTry.o )
| > ghc: linking ...
| >
| > <COMMENT: everything seems fine, but the result (which should be
| identical)
| > no longer works!
| >
| > c:\> SemTry arch
| >
| > This is where the story ends. I get a windows error (in Dutch),
telling me
| > that SemTry has generated an application error. It explains that the
| > instruction on 0xc704768b refers to memory on 0xc704768b and that a
| > read-operation on memory has failed. (Click OK to end the program or
| CANCEL
| > to debug)
| >
| > A curious mistake, which forces me to recompile everything all the
time. I
| > thought you might like to know. Notice that "main" did not
recompile,
| > whereas I would expect it to. On other occasions, I noticed that
| everything
| > from "Typology" and up recompiled for no apparent reason. I don't
know if
| > this has something to do with it.
| >
| > Best regards, and please say hello from me to Simon PJ.
| > Stef Joosten
| > (See attached file: ghcbugsources.zip)
| >
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to