ZIm/crates/dap
Cole Miller 1b6e212eba
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.
2025-07-12 11:27:18 -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 (#34328) 2025-07-12 11:27:18 -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