Skip to content

[Bug]: lost connection, cannot open file ,cannot save file  #5168

@wangnan789

Description

@wangnan789

Is 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

  1. 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 09bc300
    [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"
​​
: 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"
​​
: 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"
​​
: 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()
​​​
: 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"
​​
: WebSocketPrototype { close: close(), send: send(), url: Getter, … }

timeStamp: 5475625

type: "close"

wasClean: false

<get isTrusted()>: function isTrusted()
​​
length: 0
​​
name: "get isTrusted"
​​
: function ()

: 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()
​​
: 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()

: 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageThis issue needs to be triaged by a maintainer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions