It’s present in 6.3.1 for some reason, but not in 6.2.12 (or maybe others in the 6.2.x line, I haven’t tested them all). I think it was even fixed in 6.3.0-rc7 but for some reason not in 6.3.1.
Yes, the test program stops after relatively few requests using kernel version 6.3.1 on my machine. The shortest of multiple runs was only 23 requests, shown below!
Unfortunately, upgrading to ghc 9.4 isn’t an option for many, including those of us who need to check that library code is compiling on older versions of ghc.
I’m experiencing this with both the current and LTS versions of the linux kernel on ArchLinux (6.3.1-arch2-1 and 6.1.27-1). Do we know if the upstream kernel is going to be fixing this promptly or should we be looking into compiling our own kernels and running them (or downgrading)? 6.2.9 works for me.
Robert Hensing reports (possibly using bisect?) that an issue was reintroduced into the 6.1 series in commit 58c5d0d, titled mm/mmap: regression fix for unmapped_area{_topdown}. Googling this commit, I found it in the 6.1.26 changelog and the 6.3 changelog.
Unfortunately the ghci 9.2 crash is happening sometimes in current Fedora releases now (~10% of the time in kernel-6.2.15-300; 6.2.9-300 is okay) and more often with kernel-6.3.3-200 and 6.4.0 rc’s (rawhide).
So I am starting to wonder if this behavior will really change (back) in the Linux kernel or not?
(Though I am hoping to ship ghc-9.4 in Fedora 39…)
The crash happens for me only sometimes and before ghci even shows the initial prompt
(the core files are about 4MB apparently).
Also worth mentioning Sylvain’s draft backport MR too (not a small patch though by any definition). If you are using Fedora 38 you can update to this temporary scratch build which includes the patches, eg using koji-tool install 101285362.
I am working on a Reflex FRP project, where upgrading to GHC 9.4 is not an option. Using export GHCRTS='-xp' causes Obelisk to fail, reporting that it does not support that RTS option, but adding +RTS -xp -RTS to baseGhciOptions as follows makes the ob run and ob repl commands work for me. Thank you @fintara for the hint about using that RTS option!