+RTS -Iw seems broken and prevents idle GC from running
Summary
Running with +RTS -Iw...
seems to prevent idle GC from running. Noticed this when debugging a production issue. On GHC 8.10.1
Steps to reproduce
module Main where
import Control.Concurrent
import Control.Monad
main :: IO ()
main = do
forever $ do
putStrLn "x"
threadDelay $ 1*1000*1000
compile with
ghc -O1 -rtsopts -threaded -fforce-recomp
run with ./repro +RTS -B
and observe a pleasant beeping every second. Run with -Iw2
and feel sad because no beeping.
Alternatively try with -debug
and ./repro +RTS -Dg -Iw2 2>&1 | ack 'Memory inventory'
, with and without the -Iw
flag.
This is as far as I've debugged this
Environment
8.10.1
Optional:
- Operating System: linux
- System Architecture: 64 bit