remote extension host terminated unexpectedly 3 times within the last 5 minutes.
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- node.js, typescript
- Domain
- devtools
Research direction
Reproduce the failure with code-server --verbose while Extensions initializes, then inspect the logged lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js entry around the circular JSON serialization error. Compare behavior with third-party extensions disabled and across the reported workspaces; done means the remote extension host remains running and extensions initialize without the repeated termination.
Written by the indexing model from the issue text.
Description
Is there an existing issue for this?
- I have searched the existing issues
OS/Web Information
- Web Browser: Tried both Brave and Firefox
- Local OS: Windows 11, Fedora
- Remote OS: Ubuntu 24.04
- Remote Architecture: amd64
code-server --version: 4.130.0 197ef3e8da8ee99ed6ca8f1a630157527e6d448f with Code 1.130.0
Steps to Reproduce
- Open code-server in Brave/Firefox
- Let Extensions try to initialize
- Experience failure
Expected
Extensions should initialize without issue.
Actual
The failure happens all on its own.
Logs
`code-server --verbose` output
[TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Object'
--- property 'issuerCertificate' closes the circle
at JSON.stringify (<anonymous>)
at L2 (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:435:106513)
at Sr.serializeRequestArguments (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:435:116364)
at i._remoteCall (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:435:112184)
at r.<computed>.s.charCodeAt.r.<computed> (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:435:108829)
at file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:541:157
at file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:411:129
at Array.forEach (<anonymous>)
at N_.emit (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:411:117)
at N_.onUnexpectedError (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:411:385)
at je (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:411:694)
at process.<anonymous> (file:///usr/lib/code-server/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:852:11163)
at process.emit (node:events:509:28)
at process._fatalException (node:internal/process/execution:159:25)]
Node.js v24.18.0
[16:06:08] [127.0.0.1][b75cf46d][ExtensionHostConnection] <6324> Extension Host Process exited with code: 7, signal: null.
[16:06:08] ServerLifetime: consumer 'ExtensionHost:b75cf46d' inactive (total: 0)
[16:06:08] [127.0.0.1][b75cf46d][ExtensionHostConnection] - startParams language: en
[16:06:08] [127.0.0.1][b75cf46d][ExtensionHostConnection] - startParams env: {"VSCODE_PROXY_URI":"http://localhost:8880/proxy/{{port}}/"}
[16:06:08] [127.0.0.1][b75cf46d][ExtensionHostConnection] Unknown reconnection token (seen before).
[16:06:08] [File Watcher (node.js)] Request to stop watching: /srv/development/lynn.heavyelement.cloud/.git (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".hg/store/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>),/srv/development/lynn.heavyelement.cloud/.git/refs/remotes/origin/main (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".hg/store/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>),/srv/development/cobalt-core/.git (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/cobalt-core","pattern":".git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":".hg/store/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>),/srv/development/cobalt-core/.git/refs/remotes/origin/datamodel (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/cobalt-core","pattern":".git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":".hg/store/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>)
[16:06:08] [File Watcher (node.js)] stopping file watcher (/srv/development/lynn.heavyelement.cloud/.git (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".hg/store/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>))
[16:06:08] [File Watcher (node.js)] stopping file watcher (/srv/development/lynn.heavyelement.cloud/.git/refs/remotes/origin/main (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":".hg/store/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/lynn.heavyelement.cloud","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>))
[16:06:08] [File Watcher (node.js)] stopping file watcher (/srv/development/cobalt-core/.git (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/cobalt-core","pattern":".git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":".hg/store/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>))
[16:06:08] [File Watcher (node.js)] stopping file watcher (/srv/development/cobalt-core/.git/refs/remotes/origin/datamodel (excludes: /var/www/.local/share/code-server/extensions/**, includes: [{"base":"/srv/development/cobalt-core","pattern":".git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":".git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":".hg/store/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/objects/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.git/subtree-cache/**/**"},{"base":"/srv/development/cobalt-core","pattern":"*/.hg/store/**/**"}], filter: <none>, correlationId: <none>))
Screenshot/Video
Does this bug reproduce in native VS Code?
I did not test native VS Code
Does this bug reproduce in VS Code web?
I did not test VS Code web
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
I looked up this specific issue and found this but the underlying issue seemed different and their solution didn't work for me.
I had a number of third party extensions installed including Intelephense. In diagnosing this issue I disabled all third party extensions and the problem still exists.
I've also tried with other workspaces and project directories.
- 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
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
Mend: dependency security vulnerability untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 70/100