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

Nonmoving GC may drop update remembered set blocks due to `setNumCapabilities`
`Storage.c:storageAddCapabilities` [currently has](https://gitlab.haskell.org/ghc/ghc/-/blob/929161943f19e1673288adc83d165ddc99865798/rts/sm/Storage.c#L325) the following: ```c // Initialize NonmovingAllocators and UpdRemSets if (RtsFlags.GcFlags.useNonmoving) { nonmovingAddCapabilities(to); for (i = 0; i < to; ++i) { nonmovingInitUpdRemSet(&getCapability(i)->upd_rem_set); } } ``` This is subtly wrong: the lower iteration bound of 0 means we end up re-initializing (and therefore clearing) the update-remembered sets of capabilities which already exist. This lower bound rather should be `from`. This can result in undefined behavior in programs using the nonmoving GC and `setNumCapabilities`.
issue