Description
We could end up in a situation where the protocol gets out of sync if a Ruby Timeout is used (abruptly terminate thread).
2025-10-15T21:27:27.244000+00:00 [...] 2025-10-15T21:27:27.244556Z ERROR ProtocolOutOfSync got: C, extended buffer: ProtocolState { queue: [], names: [], simulated: [], extended: true, out_of_sync: false }
My spidey sense is telling me the issue is in Guard cleanup logic, where we drain the connection when client abruptly disconnects. Probably needs additional state checks.
Description
We could end up in a situation where the protocol gets out of sync if a Ruby
Timeoutis used (abruptly terminate thread).My spidey sense is telling me the issue is in
Guardcleanup logic, where we drain the connection when client abruptly disconnects. Probably needs additional state checks.