ZIm/crates/dap
gcp-cherry-pick-bot[bot] 473062aeef
debugger: Fix endless restarts when connecting to TCP adapters over SSH (cherry-pick #34328) (#34343)
Cherry-picked debugger: Fix endless restarts when connecting to TCP
adapters over SSH (#34328)

Closes #34323
Closes #34313

The previous PR #33932 introduced a way to "close" the
`pending_requests` buffer of the `TransportDelegate`, preventing any
more requests from being added. This prevents pending requests from
accumulating without ever being drained during the shutdown sequence;
without it, some of our tests hang at this point (due to using a
single-threaded executor).

The bug occurred because we were closing `pending_requests` whenever we
detected the server side of the transport shut down, and this closed
state stuck around and interfered with the retry logic for SSH+TCP
adapter connections.

This PR fixes the bug by only closing `pending_requests` on session
shutdown, and adds a regression test covering the SSH retry logic.

Release Notes:

- debugger: Fixed a bug causing SSH connections to some adapters
(Python, Go, JavaScript) to fail and restart endlessly.

Co-authored-by: Cole Miller <cole@zed.dev>
2025-07-12 17:13:27 -04:00
..
docs Debugger implementation (#13433) 2025-03-18 12:55:25 -04:00
src debugger: Fix endless restarts when connecting to TCP adapters over SSH (cherry-pick #34328) (#34343) 2025-07-12 17:13:27 -04:00
Cargo.toml debugger: Make sure debuggees are killed when quitting Zed (#32186) 2025-06-11 05:23:38 +00:00
LICENSE-GPL Debugger implementation (#13433) 2025-03-18 12:55:25 -04:00