The PR fixes 3 race conditions on disconnects that were detected in Bitcoin core CI runs and by antithesis:
- src/ipc/libmultiprocess/src/mp/proxy.cpp:416:44: runtime error: member access within null pointer of type ‘mp::Waiter’ bitcoin/bitcoin#34711 (comment)
- ipc: AddressSanitizer: heap-use-after-free in
capnp::CallContext<ipc::capnp::messages::BlockTemplate::GetBlockParams, ipc::capnp::messages::BlockTemplate::GetBlockResults>::getParams()bitcoin/bitcoin#34777 (comment) - mptest: mp::CancelMonitor: AddressSanitizer: stack-use-after-return bitcoin/bitcoin#34782 (comment)