microsoft / microsoft/vscode-remote-release

Reconnection issues with ExecServer

Open
#10,063 0 comments 0 reactions 1 assignee View on GitHub

@connor4312 is already working on this.

Since Jul 15, 2024.

bug ssh
Dominant language
Dockerfile
Stars
4.2k
Forks
469
Avg merge
1d 1h
Merged PRs (30d)
1

Description

I think the WebSocket might be using an old underlying connection (hence the missing connection attempt on the Dev Containers side) and because the doesn't do anything the WebSocket connection attempt eventually times out.

Part of the reason the old connection is still around might be that Dev Containers doesn't get the onExit, stdout.onEnd and stderr.onEnd promises resolved for the command in spawned using the old ExecServer for forwarding the connection.

When I terminate the leftover connection in Dev Containers during reconnection everything starts working. I can add that as a fix to Dev Containers, but would recommend looking into the above mentioned behavior:

  1. Remote Core should not reuse old connections when reconnecting the WebSocket.
  2. Commands spawned by with the ExecServer should get their onExit, stdout.onEnd and stderr.onEnd promises resolved also when the connection is lost and the old ExecServer needs to be replaced.

Originally posted by @chrmarti in #9711

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.