Re: [Haskell-cafe] Obscure weirdness

On 6/20/09, Andrew Coppin
Is this a known bug in GHC 6.10.1? Will upgrading fix it? (Obviously, it's quite a lot of work to change GHC.) Suffice it to say that my program is quite big and complicated; it worked fine when it was still small and simple. ;-)
There is a bug in ghci 6.10.1 that seems to be fixed in 6.10.3 (not sure whether it's fixed in 6.10.3). Certain non-terminating expressions causes ghci to crash immediately and go back to the prompt: ---------------------------------------- C:\>ghci GHCi, version 6.10.1: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. Prelude> let loop = loop in loop C:\> ---------------------------------------- Compiling a module with a non-terminating expression first with ghc and then loading it in ghci does not seem to result in a crash.

Raynor Vliegendhart wrote:
There is a bug in ghci 6.10.1 that seems to be fixed in 6.10.3 (not sure whether it's fixed in 6.10.3). Certain non-terminating expressions causes ghci to crash immediately and go back to the prompt:
---------------------------------------- C:\>ghci GHCi, version 6.10.1: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. Prelude> let loop = loop in loop
C:\> ----------------------------------------
Compiling a module with a non-terminating expression first with ghc and then loading it in ghci does not seem to result in a crash.
That certainly sounds very much like the behaviour I'm seeing, except... it happens whether or not the code is compiled. If I run GHCi with nothing compiled, it crashes. If I compile all the modules and run GHCi, it crashes. If I make a stand-alone executable and run it, it crashes. Anyway, I shall try 6.10.3 and see what happens. PS. Is there a ticket for this? I mean, it seems to be fixed, but we should probably still record it somehow?

Andrew Coppin wrote:
Anyway, I shall try 6.10.3 and see what happens.
Recompiled my program. It now throws a "loop" exception (which the exception handler catches) instead of just dying. (Curiosly, the exception handler itself then throws an exception saying "<stdin>: hGetLine: illegal operation (handle is finalized)". It worked fine before... anybody know about this?)
participants (2)
-
Andrew Coppin
-
Raynor Vliegendhart