vere icon indicating copy to clipboard operation
vere copied to clipboard

bail:meme on the home road causes memory leaks

Open joemfb opened this issue 1 year ago • 1 comments

A bail:meme (or any bail) on the home road is currently treated as an unrecoverable error, when triggered through u3m_bail(). When triggered through u3m_signal(), the error handler attempts to run garbage collection, finds leaks, and crashes.

Home-road bails can be recovered, if garbage collection is properly run to repair possible memory leaks (as opposed to detect them and assert, as it currently does). It's not clear if that can always be handled in the virtualization layer itself (manage.c), or if it always needs to be handled by the caller (serf.c, various utilities in main.c).

Fixing this would significantly improve uptime for busy ships.

see urbit/urbit#6798 for an example.

joemfb avatar Sep 20 '23 18:09 joemfb

The mechanism to do this should also support home-road unification.

joemfb avatar Sep 21 '23 16:09 joemfb