vere
vere copied to clipboard
bail:meme on the home road causes memory leaks
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.
The mechanism to do this should also support home-road unification.