vscode-remote-release icon indicating copy to clipboard operation
vscode-remote-release copied to clipboard

DevContainers wont shutdown after Remote Connection is closed or after quitting VSCode

Open sidx64 opened this issue 2 years ago • 4 comments

  • VSCode Version: 1.82.2
  • Local OS Version: MacOS 13.2.1 (22D68)
  • Remote OS Version: node:18
  • Remote Extension/Connection Type: Containers

Containers wont shutdown in MacOS when VSCode is shut down or remote session is closed. This happens irrespective of whether "shutdownAction" is explicitly set as "stopContainer", (or is just not mentioned). The containers keep running, when they should have shutdown.

  • Logs:

Steps to Reproduce:

  1. Setup DevContainers as per tutorial, using existing Dockerfile
  2. Add "shutdownAction": "stopContainer", explicitly in devcontainer.json file
  3. Start the remote-container session, or rebuild devcontainer (remote session starts successfully)
  4. Either Quit VSCode or select "Close Remote Connection" in Dev Containers Command Palette & wait for 30-60 seconds

Does this issue occur when you try this locally?: Not applicable Does this issue occur when you try this locally and all extensions are disabled?: Yes

sidx64 avatar Sep 16 '23 19:09 sidx64

Also having this issue that containers are not being shutdown.

  • VSCode Version: 1.95.1
  • Local OS Version: MacOS 15.0.1
  • Remote OS Version: Ubuntu Server > node:16.20.2-bookworm-slim
  • Remote Extension/Connection Type: Remote PC > Docker compose

F1 > Dev Containers Developer > Show All Logs... > shutdownMonitor shows the following logs:

[2024-11-05T09:38:55.171Z] Starting monitor process...
[2024-11-05T09:38:55.180Z] Received message: [{"type":"configure","sequence":0,"options":{"cwd":"/home/mxsergeev/paku24-confirmator","dockerCLI":"docker","dockerComposeCLI":{"version":"2.29.7","cmd":"docker","args":["compose"]},"env":{"SHELL":"/bin/bash","NVM_INC":"/home/mxsergeev/.nvm/versions/node/v16.20.2/include/node","LOGNAME":"mxsergeev","XDG_SESSION_TYPE":"tty","HOME":"/home/mxsergeev","LANG":"en_US.UTF-8","SSL_CERT_DIR":"/usr/lib/ssl/certs","VSCODE_AGENT_FOLDER":"/home/mxsergeev/.vscode-server","SSH_CONNECTION":"192.168.101.117 55084 192.168.101.111 22","NVM_DIR":"/home/mxsergeev/.nvm","XDG_SESSION_CLASS":"user","USER":"mxsergeev","SHLVL":"2","NVM_CD_FLAGS":"","XDG_SESSION_ID":"82","XDG_RUNTIME_DIR":"/run/user/1000","SSL_CERT_FILE":"/usr/lib/ssl/cert.pem","SSH_CLIENT":"192.168.101.117 55084 22","DEBUGINFOD_URLS":"https://debuginfod.ubuntu.com ","VSCODE_CLI_REQUIRE_TOKEN":"aa2605cc-fcdb-49ce-9f6a-e65db743feab","XDG_DATA_DIRS":"/usr/share/gnome:/usr/local/share/:/usr/share/","PATH":"/home/mxsergeev/.nvm/versions/node/v16.20.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","NVM_BIN":"/home/mxsergeev/.nvm/versions/node/v16.20.2/bin","_":"/usr/bin/cat","DOCKER_CONTEXT":"default"},"containerId":"35f2f865b99805fd40be73bde124e4b69856ba678c984d660a07ca08014ca7a0","user":"1000","sessionId":"c417083b-0407-4e66-9ff3-c148a78b99df1730799532295","projectName":"confirmator-dev","composeFiles":["/home/mxsergeev/paku24-confirmator/docker-compose.yaml","/home/mxsergeev/paku24-confirmator/.devcontainer/docker-compose.yaml"],"service":"app","logLevel":2,"delay":10000}}]
[2024-11-05T09:38:56.458Z] Received message: [{"type":"configure","sequence":1,"options":{"cwd":"/home/mxsergeev/paku24-confirmator","dockerCLI":"docker","dockerComposeCLI":{"version":"2.29.7","cmd":"docker","args":["compose"]},"env":{"SHELL":"/bin/bash","NVM_INC":"/home/mxsergeev/.nvm/versions/node/v16.20.2/include/node","LOGNAME":"mxsergeev","XDG_SESSION_TYPE":"tty","HOME":"/home/mxsergeev","LANG":"en_US.UTF-8","SSL_CERT_DIR":"/usr/lib/ssl/certs","VSCODE_AGENT_FOLDER":"/home/mxsergeev/.vscode-server","SSH_CONNECTION":"192.168.101.117 55084 192.168.101.111 22","NVM_DIR":"/home/mxsergeev/.nvm","XDG_SESSION_CLASS":"user","USER":"mxsergeev","SHLVL":"2","NVM_CD_FLAGS":"","XDG_SESSION_ID":"82","XDG_RUNTIME_DIR":"/run/user/1000","SSL_CERT_FILE":"/usr/lib/ssl/cert.pem","SSH_CLIENT":"192.168.101.117 55084 22","DEBUGINFOD_URLS":"https://debuginfod.ubuntu.com ","VSCODE_CLI_REQUIRE_TOKEN":"aa2605cc-fcdb-49ce-9f6a-e65db743feab","XDG_DATA_DIRS":"/usr/share/gnome:/usr/local/share/:/usr/share/","PATH":"/home/mxsergeev/.nvm/versions/node/v16.20.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","NVM_BIN":"/home/mxsergeev/.nvm/versions/node/v16.20.2/bin","_":"/usr/bin/cat","DOCKER_CONTEXT":"default"},"containerId":"35f2f865b99805fd40be73bde124e4b69856ba678c984d660a07ca08014ca7a0","user":"1000","sessionId":"c417083b-0407-4e66-9ff3-c148a78b99df1730799532295","projectName":"confirmator-dev","composeFiles":["/home/mxsergeev/paku24-confirmator/docker-compose.yaml","/home/mxsergeev/paku24-confirmator/.devcontainer/docker-compose.yaml"],"service":"app","logLevel":2,"delay":10000}}]
[2024-11-05T09:39:34.832Z] Received message: [{"type":"cleanup"}]
[2024-11-05T09:39:34.832Z] Cleaning up after 39661 ms...
[2024-11-05T09:39:34.832Z] Delaying for 10000 ms.
[2024-11-05T09:39:44.837Z] Start: Run in container: /bin/sh
[2024-11-05T09:39:45.052Z] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink /proc/$pid/cwd || echo ; readlink /proc/$pid/ns/mnt || echo ; cat /proc/$pid/stat | tr "
[2024-11-05T09:39:45.053Z] Stop (216 ms): Run in container: /bin/sh
[2024-11-05T09:39:45.054Z] Unexpected error: Shell server failed: Error: spawn docker ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:286:19)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[2024-11-05T09:39:45.054Z] Stop (217 ms): Run in container: /bin/sh

mxsergeev avatar Nov 05 '24 09:11 mxsergeev

I have the same error, seems like vscode tries to stop the container with local docker (Windows) not the remote docker (Linux). See shutdown log below.

  • VSCode Version: 1.95.3
  • Local OS : Windows 11 24H2
  • Remote OS: Debian 12
  • Connection Type: Remote SSH + Devcontainer
[2024-12-08T20:42:42.658Z] Starting monitor process...
[2024-12-08T20:42:42.688Z] Received message: ...
[2024-12-08T20:42:45.240Z] Received message: ...
[2024-12-08T20:43:45.261Z] Received message: []
[2024-12-08T20:44:45.278Z] Received message: []
[2024-12-08T20:45:45.288Z] Received message: []
[2024-12-08T20:46:45.312Z] Received message: []
[2024-12-08T20:47:23.139Z] Received message: [{"type":"cleanup"}]
[2024-12-08T20:47:23.140Z] Cleaning up after 280480 ms...
[2024-12-08T20:47:23.140Z] Delaying for 10000 ms.
[2024-12-08T20:47:33.144Z] Start: Run in container: /bin/sh
[2024-12-08T20:47:33.261Z] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink /proc/$pid/cwd || echo ; readlink /proc/$pid/ns/mnt || echo ; cat /proc/$pid/stat | tr "
[2024-12-08T20:47:33.266Z] Stop (122 ms): Run in container: /bin/sh
[2024-12-08T20:47:33.267Z] Unexpected error: Shell server failed: Error: spawn C:\Program Files\Docker\Docker\resources\bin\docker.exe ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:286:19)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[2024-12-08T20:47:33.268Z] Stop (124 ms): Run in container: /bin/sh

singh-ramanpreet avatar Dec 08 '24 20:12 singh-ramanpreet

Same error:

  • VSCode Info:
Version: 1.96.2 (Universal)
Commit: fabdb6a30b49f79a7aba0f2ad9df9b399473380f
Date: 2024-12-19T10:22:47.216Z
Electron: 32.2.6
ElectronBuildId: 10629634
Chromium: 128.0.6613.186
Node.js: 20.18.1
V8: 12.8.374.38-electron.0
OS: Darwin arm64 24.1.0
  • OS: MacOS 15.1.1
  • Remote OS: Debian GNU/Linux 12 (bookworm) LXC
  • Connection Type: Remote SSH with Devcontainer
  • Dev Containers Extension Version: 0.394.0
  • Remote - SSH Extension Version: 0.116.1

Logs are:

[2024-12-30T10:34:20.401Z] Received message: [{"type":"cleanup"}]
[2024-12-30T10:34:20.402Z] Cleaning up after 19684 ms...
[2024-12-30T10:34:20.402Z] Delaying for 10000 ms.
[2024-12-30T10:34:30.403Z] Start: Run in container: /bin/sh
[2024-12-30T10:34:30.511Z] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink /proc/$pid/cwd || echo ; readlink /proc/$pid/ns/mnt || echo ; cat /proc/$pid/stat | tr "
[2024-12-30T10:34:30.513Z] Stop (110 ms): Run in container: /bin/sh
[2024-12-30T10:34:30.513Z] Unexpected error: Shell server failed: Error: spawn docker ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:285:19)
    at onErrorNT (node:internal/child_process:483:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[2024-12-30T10:34:30.514Z] Stop (111 ms): Run in container: /bin/sh

evalexp avatar Dec 30 '24 10:12 evalexp

This problem still exists:

  1. VSCode Version:1.106.2
  2. Local OS:Windows 10
  3. Remote OS:Debian 11
  4. Connection Type:Remote SSH + Dev Container

Logs are:

[2025-11-24T09:14:56.320Z] Received message: []
[2025-11-24T09:15:53.650Z] Received message: [{"type":"cleanup"}]
[2025-11-24T09:15:53.650Z] Cleaning up after 10198740 ms...
[2025-11-24T09:15:53.650Z] Delaying for 10000 ms.
[2025-11-24T09:16:03.652Z] Start: Run in container: /bin/sh
[2025-11-24T09:16:03.740Z] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink /proc/$pid/cwd || echo ; readlink /proc/$pid/ns/mnt || echo ; cat /proc/$pid/stat | tr "
[2025-11-24T09:16:03.742Z] Stop (90 ms): Run in container: /bin/sh
[2025-11-24T09:16:03.742Z] Unexpected error: Shell server failed: Error: spawn C:\Program Files\Docker\Docker\resources\bin\docker.exe ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:285:19)
    at onErrorNT (node:internal/child_process:483:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
[2025-11-24T09:16:03.743Z] Stop (91 ms): Run in container: /bin/sh

alekye avatar Nov 25 '25 01:11 alekye