Unix socket always be deleted after 3 hours when client disconnect
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript
- Domain
- backend, networking
Research direction
Start with code-server's --socket and --socket-mode handling, then follow the ManagementConnection reconnection-grace path described in the logs. Reproduce the disconnect through the provided nginx and config.yaml setup, and verify that the Unix socket remains available after the three-hour grace period and is removed only when code-server stops.
Written by the indexing model from the issue text.
Description
Is there an existing issue for this?
- #7087
OS/Web Information
- Web Browser: Safari
- Local OS: iPadOS 17.1
- Remote OS: Archlinux
- Remote Architecture: amd64
code-server --version: 4.95.2
Steps to Reproduce
- run code-server with —socket and —socket-mode options behind nginx
- client to code-server, write something and disconnect
- wait for 3 hours
- the socket file is disappeared
logs below:
[<unknown>][8ae2717b][ManagementConnection] The client has disconnected, will wait for reconnection 3h b>
11月 21 23:30:33 archlinux code-server[561098]: [23:30:33] [<unknown>][31fa6d6d][ExtensionHostConnection] <576182> Extension Host Process exited with code: 0, sign>
11月 21 23:30:36 archlinux code-server[561098]: [23:30:36] [<unknown>][4fe5bbb1][ExtensionHostConnection] <589581> Extension Host Process exited with code: 0, sign>
11月 21 23:30:36 archlinux code-server[561098]: [23:30:36] [<unknown>][4bad56e8][ExtensionHostConnection] <565453> Extension Host Process exited with code: 0, sign>
11月 21 23:30:42 archlinux code-server[561098]: [23:30:42] [<unknown>][550a7a3d][ExtensionHostConnection] <573629> Extension Host Process exited with code: 0, sign>
11月 21 23:31:09 archlinux code-server[561098]: [23:31:09] [<unknown>][8ae2717b][ManagementConnection] The reconnection grace time of 3h has expired, so the connec>
You will never reconnect to code-server because the socket file is delete.
Expected
Never delete the socket file unless code-server is stopped
Actual
It deleted!
Logs
Screenshot/Video
No response
Does this bug reproduce in native VS Code?
This cannot be tested in native VS Code
Does this bug reproduce in GitHub Codespaces?
I did not test GitHub Codespaces
Are you accessing code-server over a secure context?
- I am using a secure context.
Notes
my nginx config:
server {
include common/listen-8096;
server_name my.super.server;
# set max upload size
client_max_body_size 32G;
fastcgi_buffers 64 4K;
location / {
proxy_pass http://unix:/dev/shm/code-server.sock;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Allow-Headers *;
# proxy_ssl_verify off;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding gzip;
#proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_http_version 1.1;
access_log /var/log/nginx/code.log;
error_log /var/log/nginx/code.error.log;
}
}
And systemctl edit code-server.service:
### Anything between here and the comment below will become the contents of the drop-in file
[Service]
ExecStart=
ExecStart=/usr/bin/code-server /my/super/path
User=superuser
Group=superuser
### Edits below this comment will be discarded
### /usr/lib/systemd/system/code-server@.service
# [Unit]
# Description=code-server
# After=network.target
#
# [Service]
# Type=exec
# ExecStart=/usr/bin/code-server
# Restart=always
# User=%i
#
# [Install]
# WantedBy=default.target
And the config.yaml
auth: password
password: mysuperpassword
cert: false
socket: /dev/shm/code-server.sock
socket-mode: 666
- Dominant language
- TypeScript
- Stars
- 79.4k
- Forks
- 6.9k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 39
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from coder/code-server
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
coder/code-server#8017 · 2 comments ·
-
security
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
coder/code-server#8013 · 4 comments ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
coder/code-server#7976 · 2 comments ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
coder/code-server#7962 · 3 comments ·
-
bug needs-investigation
Difficulty 4/5 3-5 days Newbie friendliness 55/100
coder/code-server#7955 · 1 comment ·
All issues in coder/code-server
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
TanStack/tanstack.com#1293 ·