GitLab

Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

Given the following program: ```hs module Main where main :: IO () main = putStrLn "Hello, World!" ``` If you compile this with GHC 9.4.4 or GHC 9.6.1-alpha3, you will be able to run it with the default RTS options: ``` $ ghc-9.4.4 Main.hs [1 of 2] Compiling Main ( Main.hs, Main.o ) [2 of 2] Linking Main.exe $ ./Main.exe Hello, World! ``` If you try to run it with the `--nonmoving-gc` RTS option, however, then the program will loop forever: ``` $ ./Main.exe +RTS --nonmoving-gc -RTS Hello, World! # The program hangs at this point, and Ctrl-C is not enough to kill it. # The program must be manually killed with the Task Manager. ``` In larger applications, this bug has likely been responsible for access violations instead of infinite loops (see [here](https://github.com/haskell/filepath/pull/181#issuecomment-1435732101) for an example). This is a regression from GHC 9.2.6, which does not exhibit this issue: ``` $ ghc-9.2.6 Main.hs [1 of 1] Compiling Main ( Main.hs, Main.o ) Linking Main.exe ... $ ./Main.exe +RTS --nonmoving-gc -RTS Hello, World! $ ./Main.exe Hello, World! ```

Read the original on gitlab.haskell.org ↗