[Bug]: lost connection, cannot open file ,cannot save file
See original GitHub issueIs there an existing issue for this?
- I have searched the existing issues
OS/Web Information
- Web Browser:firefox
- Local OS:devuan
- Remote OS: no
- Remote Architecture: no
code-server --version
:4.3.0
Steps to Reproduce
- run code-server ( /home/xxx/code-server-4.3.0-linux-amd64/bin/code-server ) 2.Use for more than a few hours 3.xterm info [2022-05-06T11:57:27.240Z] info code-server 4.3.0 09bc30027a7fbba170f907a527eaa9f7219fe739 [2022-05-06T11:57:27.242Z] info Using user-data-dir ~/.local/share/code-server [2022-05-06T11:57:27.339Z] info Using config file ~/.config/code-server/config.yaml [2022-05-06T11:57:27.339Z] info HTTP server listening on http://127.0.0.1:8080/ [2022-05-06T11:57:27.339Z] info - Authentication is disabled [2022-05-06T11:57:27.339Z] info - Not serving HTTPS [19:57:33] Extension host agent started. [19:57:37] [127.0.0.1][ba3c93e1][ManagementConnection] New connection established. [19:57:56] [127.0.0.1][b18a168d][ExtensionHostConnection] New connection established. [19:57:56] [127.0.0.1][b18a168d][ExtensionHostConnection] <9440> Launched Extension Host Process. [21:28:49] [127.0.0.1][b18a168d][ExtensionHostConnection] The client has reconnected. [21:29:03] [127.0.0.1][b18a168d][ExtensionHostConnection] The client has reconnected.
Expected
successfully reconnected
Actual
unsuccessful reconnect
Logs
firefox — F12 error in browser console
[xabikos.JavaScriptSnippets]: Unknown language in contributes.JavaScriptSnippets.language
. Provided value: vue abstractExtensionService.ts:936:11
_logMessageInConsole abstractExtensionService.ts:936
_handleExtensionPointMessage abstractExtensionService.ts:889
q abstractExtensionService.ts:863
_msg extensionsRegistry.ts:39
error extensionsRegistry.ts:48
B snippetsService.ts:67
_initExtensionSnippets snippetsService.ts:277
_handle extensionsRegistry.ts:144
setHandler extensionsRegistry.ts:129
_initExtensionSnippets snippetsService.ts:267
T snippetsService.ts:191
20:27:03.968 SingleFile is hooking the IntersectionObserver API to detect and load deferred images. 2 hooks-frames-web.js:1:514
20:31:30.577
[[object Object]]Cannot read property ‘length’ of undefined mainThreadExtensionService.ts:75:10
$onExtensionRuntimeError mainThreadExtensionService.ts:75
_doInvokeHandler rpcProtocol.ts:473
_invokeHandler rpcProtocol.ts:458
_receiveRequest rpcProtocol.ts:374
_receiveOneMessage rpcProtocol.ts:296
h rpcProtocol.ts:161
invoke event.ts:569
fire event.ts:736
fire ipc.net.ts:638
_receiveMessage ipc.net.ts:958
v ipc.net.ts:831
invoke event.ts:569
fire event.ts:736
acceptChunk ipc.net.ts:382
c ipc.net.ts:338
onData browserSocketFactory.ts:230
invoke event.ts:569
fire event.ts:736
onload browserSocketFactory.ts:91
20:31:30.577
TypeError: Cannot read property ‘length’ of undefined
at 取单词条信息 (/home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:106:20)
at 显示简要信息 (/home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:80:16)
at 更新状态栏 (/home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:55:43)
at /home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:18:84
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at S.$acceptEditorPropertiesChanged (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:86:66804)
at n._doInvokeHandler (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:13812)
at n._invokeHandler (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:13496)
at n._receiveRequest (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:12158)
at n._receiveOneMessage (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:10836)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:8945
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at c.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:19017)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:104:34389
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at c.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:19017)
at s._receiveMessage (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:23598)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:21132
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at w.acceptChunk (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:15848)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:14978
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at l._processReadQueue (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:104:21272) mainThreadExtensionService.ts:76:10
$onExtensionRuntimeError mainThreadExtensionService.ts:76
_doInvokeHandler rpcProtocol.ts:473
_invokeHandler rpcProtocol.ts:458
_receiveRequest rpcProtocol.ts:374
_receiveOneMessage rpcProtocol.ts:296
h rpcProtocol.ts:161
invoke event.ts:569
fire event.ts:736
fire ipc.net.ts:638
_receiveMessage ipc.net.ts:958
v ipc.net.ts:831
invoke event.ts:569
fire event.ts:736
acceptChunk ipc.net.ts:382
c ipc.net.ts:338
onData browserSocketFactory.ts:230
invoke event.ts:569
fire event.ts:736
onload browserSocketFactory.ts:91
20:32:22.138
[[object Object]]Cannot read property ‘length’ of undefined mainThreadExtensionService.ts:75:10
$onExtensionRuntimeError mainThreadExtensionService.ts:75
_doInvokeHandler rpcProtocol.ts:473
_invokeHandler rpcProtocol.ts:458
_receiveRequest rpcProtocol.ts:374
_receiveOneMessage rpcProtocol.ts:296
h rpcProtocol.ts:161
invoke event.ts:569
fire event.ts:736
fire ipc.net.ts:638
_receiveMessage ipc.net.ts:958
v ipc.net.ts:831
invoke event.ts:569
fire event.ts:736
acceptChunk ipc.net.ts:382
c ipc.net.ts:338
onData browserSocketFactory.ts:230
invoke event.ts:569
fire event.ts:736
onload browserSocketFactory.ts:91
20:32:22.138
TypeError: Cannot read property ‘length’ of undefined
at 取单词条信息 (/home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:106:20)
at 显示简要信息 (/home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:80:16)
at 更新状态栏 (/home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:55:43)
at /home/cws/.local/share/code-server/extensions/codeinchinese.englishchinesedictionary-1.1.0/out/src/extension.js:18:84
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at S.$acceptEditorPropertiesChanged (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:86:66804)
at n._doInvokeHandler (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:13812)
at n._invokeHandler (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:13496)
at n._receiveRequest (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:12158)
at n._receiveOneMessage (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:10836)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:89:8945
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at c.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:19017)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:104:34389
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at c.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:19017)
at s._receiveMessage (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:23598)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:21132
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at w.acceptChunk (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:15848)
at /home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:66:14978
at d.invoke (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
at w.fire (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
at l._processReadQueue (/home/cws/code-server-4.3.0-linux-amd64/lib/vscode/out/vs/workbench/api/node/extensionHostProcess.js:104:21272) mainThreadExtensionService.ts:76:10
$onExtensionRuntimeError mainThreadExtensionService.ts:76
_doInvokeHandler rpcProtocol.ts:473
_invokeHandler rpcProtocol.ts:458
_receiveRequest rpcProtocol.ts:374
_receiveOneMessage rpcProtocol.ts:296
h rpcProtocol.ts:161
invoke event.ts:569
fire event.ts:736
fire ipc.net.ts:638
_receiveMessage ipc.net.ts:958
v ipc.net.ts:831
invoke event.ts:569
fire event.ts:736
acceptChunk ipc.net.ts:382
c ipc.net.ts:338
onData browserSocketFactory.ts:230
invoke event.ts:569
fire event.ts:736
onload browserSocketFactory.ts:91
21:28:47.628 载入页面时与 ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false 的连接中断。 browserSocketFactory.ts:79:17
21:28:47.632 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] received socket close event (wasClean: false, code: 1006, reason: ). log.ts:301:11
21:28:47.634 ERR
close { target: WebSocket, isTrusted: true, wasClean: false, code: 1006, reason: “”, srcElement: WebSocket, eventPhase: 0, bubbles: false, cancelable: false, returnValue: true, … }
bubbles: false
cancelBubble: false
cancelable: false
code: 1006
composed: false
currentTarget: null
defaultPrevented: false
eventPhase: 0
explicitOriginalTarget: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
binaryType: “blob”
bufferedAmount: 0
extensions: “permessage-deflate”
onclose: null
onerror: null
onmessage: null
onopen: null
protocol: “”
readyState: 3
url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”
<prototype>: WebSocketPrototype { close: close(), send: send(), url: Getter, … }
isTrusted: true
originalTarget: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
binaryType: “blob”
bufferedAmount: 0
extensions: “permessage-deflate”
onclose: null
onerror: null
onmessage: null
onopen: null
protocol: “”
readyState: 3
url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”
<prototype>: WebSocketPrototype { close: close(), send: send(), url: Getter, … }
reason: “”
returnValue: true
srcElement: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
binaryType: “blob”
bufferedAmount: 0
extensions: “permessage-deflate”
onclose: null
onerror: null
onmessage: null
onopen: null
protocol: “”
readyState: 3
url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”
<prototype>: WebSocketPrototype { close: close(), send: send(), url: Getter, … }
CLOSED: 3
CLOSING: 2
CONNECTING: 0
OPEN: 1
binaryType:
bufferedAmount:
close: function close()
constructor: function ()
extensions:
onclose:
onerror:
onmessage:
onopen:
protocol:
readyState:
send: function send()
url:
Symbol(Symbol.toStringTag): “WebSocket”
<get binaryType()>: function binaryType()
<set binaryType()>: function binaryType()
<get bufferedAmount()>: function bufferedAmount()
<get extensions()>: function extensions()
<get onclose()>: function onclose()
<set onclose()>: function onclose()
<get onerror()>: function onerror()
<set onerror()>: function onerror()
<get onmessage()>: function onmessage()
<set onmessage()>: function onmessage()
<get onopen()>: function onopen()
<set onopen()>: function onopen()
<get protocol()>: function protocol()
<get readyState()>: function readyState()
<get url()>: function url()
<prototype>: EventTargetPrototype { addEventListener: addEventListener(), removeEventListener: removeEventListener(), dispatchEvent: dispatchEvent(), … }
target: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
binaryType: “blob”
bufferedAmount: 0
extensions: “permessage-deflate”
onclose: null
onerror: null
onmessage: null
onopen: null
protocol: “”
readyState: 3
url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=false&skipWebSocketFrames=false”
<prototype>: WebSocketPrototype { close: close(), send: send(), url: Getter, … }
timeStamp: 5475625
type: “close”
wasClean: false
<get isTrusted()>: function isTrusted()
length: 0
name: “get isTrusted”
<prototype>: function ()
<prototype>: CloseEventPrototype { wasClean: Getter, code: Getter, reason: Getter, … }
code:
constructor: function ()
reason:
wasClean:
Symbol(Symbol.toStringTag): “CloseEvent”
<get code()>: function code()
<get reason()>: function reason()
<get wasClean()>: function wasClean()
<prototype>: EventPrototype { composedPath: composedPath(), stopPropagation: stopPropagation(), stopImmediatePropagation: stopImmediatePropagation(), … }
log.ts:313:11
21:28:47.636 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] starting reconnecting loop. You can get more information with the trace log level. log.ts:301:11
21:28:47.637 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] resolving connection… log.ts:301:11
21:28:47.641 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] connecting to 127.0.0.1:8080… log.ts:301:11
21:28:49.215 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] reconnected! log.ts:301:11
21:29:00.927 载入页面时与 ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=true&skipWebSocketFrames=false 的连接中断。 browserSocketFactory.ts:79:17
21:29:00.929 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] received socket close event (wasClean: false, code: 1006, reason: ). log.ts:301:11
21:29:00.930 ERR
close { target: WebSocket, isTrusted: true, wasClean: false, code: 1006, reason: “”, srcElement: WebSocket, eventPhase: 0, bubbles: false, cancelable: false, returnValue: true, … }
bubbles: false
cancelBubble: false
cancelable: false
code: 1006
composed: false
currentTarget: null
defaultPrevented: false
eventPhase: 0
explicitOriginalTarget: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=true&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
isTrusted: true
originalTarget: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=true&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
reason: “”
returnValue: true
srcElement: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=true&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
target: WebSocket { url: “ws://127.0.0.1:8080/?type=ExtensionHost&reconnectionToken=b18a168d-4b38-47f4-8a83-12fbd73f6028&reconnection=true&skipWebSocketFrames=false”, readyState: 3, bufferedAmount: 0, … }
timeStamp: 5488924
type: “close”
wasClean: false
<get isTrusted()>: function isTrusted()
<prototype>: CloseEventPrototype { wasClean: Getter, code: Getter, reason: Getter, … }
log.ts:313:11
21:29:00.930 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] starting reconnecting loop. You can get more information with the trace log level. log.ts:301:11
21:29:00.931 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] resolving connection… log.ts:301:11
21:29:00.931 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] connecting to 127.0.0.1:8080… log.ts:301:11
21:29:03.237 INFO [remote-connection][ExtensionHost][b18a1…][reconnect] reconnected! log.ts:301:11
Screenshot/Video
No response
Does this issue happen in VS Code?
- I cannot reproduce this in VS Code.
Are you accessing code-server over HTTPS?
- I am using HTTPS.
Notes
no
Issue Analytics
- State:
- Created a year ago
- Comments:6 (1 by maintainers)
It’s better to use [edge] or [ie] to run the code-server. The production of MC would be kinder to theirs.
@JWleo MicroSoft —> MS