rts_clearMemory needs fixing to deal with changes in !9609
After !9609 lands, `rts_clearMemory` is broken in wasm, regardless of whether nonmoving GC is enabled: ``` test.wasm: internal error: invalid closure, info=0 (GHC version 9.7.20230308 for wasm32_unknown_wasi) Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug Error: the `wizer.initialize` function trapped Caused by: wasm trap: wasm `unreachable` instruction executed wasm backtrace: 0: 0x12f8fd - <unknown>!abort 1: 0x82bf2 - <unknown>!rtsFatalInternalErrorFn 2: 0x82f31 - <unknown>!barf 3: 0xd2ee8 - <unknown>!evacuate 4: 0x1008d1 - <unknown>!scavenge_one 5: 0xfffe8 - <unknown>!scavenge_mutable_list 6: 0xffa60 - <unknown>!scavenge_capability_mut_lists 7: 0xdb45d - <unknown>!GarbageCollect 8: 0xaee2c - <unknown>!scheduleDoGC 9: 0xaea15 - <unknown>!schedule 10: 0xac128 - <unknown>!scheduleWaitThread 11: 0x7aa2b - <unknown>!rts_inCall 12: 0x6ea1 - <unknown>!foo 13: 0x6f48 - <unknown>!__wizer_initialize ``` Given the amount of storage manager internal changes, `rts_clearMemory` clearly needs fixing. I'll hold off `ghc-wasm-meta` bumps before it's fixed again. I'll also move the test out of `ffi023` and to a separate one (see #23089), ensuring this kind of regression is caught early in CI.
issue