Skip to content

nonmoving gc causes my program to freeze often

Summary

A long time ago, a very resource-intensive program of mine crashed the nonmoving gc. Ben was able to repro my issue with a Linux VM and fix it. Looking back, I suspect the bug may have been made more likely by my usage of unsafe thawing of arrays.

Now I'm in a similar situation again, but my program isn't resource-intensive, and instead of crashing, it just doesn't terminate anymore. What I have on hand has no unsafe usage anymore.

Steps to reproduce and Expected behavior

I'm just preparing a reproducer and it looks like I can get rid of all Windows dependencies and make it really portable. I'm already working on this for a few days and am not finished yet, but wanted to reach out already. Ben, is it still possible to reach out to you via Twitter DMs (@ bestyeen)? I will soon have an archive at hand that I'd like to send to you confidentially.

I could cut out a huge chunk of code that I don't want to publish, but then this problem occurs much, much less frequently. With the code left intact, the problem now occurs almost every time for me. I suspect it has to do with my intensive (but safe) use of mutable arrays and IORefs.

Environment

  • GHC version used: 9.10.1 and 9.10.2

Optional:

  • Operating System: Win 10
  • System Architecture: x64

Kind regards. :)

Edited by Hai / @BestYeen
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information