mirror of
https://github.com/urbit/shrub.git
synced 2024-12-22 02:11:38 +03:00
e7c8a44e11
We've seen issues where the message-num of the head of live.state is less than current.state. When this happens, we continually try to resend message n-1, but we throw away any acknowledgment for n-1 because current.state is already n. This halts progress on that flow. We don't know what causes us to get in this bad state, so this adds an assert to the packet pump that we're in a good state, run every time the packet pump is run. When this crashes, we can turn on |ames-verb and hopefully identify the cause. This also adds logic to +on-wake in the packet pump to not try to resend any messages that have already been acknowledged. This is just to rescue ships that currently have these stuck flows. (Incidentally, I'd love to have a rr-style debugger for stuff like this. Just run a command that says "replay my event log watching for this specific condition and then stop and let me poke around".) |
||
---|---|---|
.. | ||
vane | ||
arvo.hoon | ||
hoon.hoon | ||
zuse.hoon |