eclipse-theia/theia
在 GitHub 查看Error: Connection is closed due to `settings.json`, `launch.json`, and `tasks.json` ?
Open
#6,424 建立於 2019年10月21日
bughelp wanted
描述
Description
I am not sure but every time I close the electron application (started from source) I see the following error in the console:
root ERROR Uncaught Exception: Error: Connection is closed.
root ERROR Error: Connection is closed.
at throwIfClosedOrDisposed (/Users/akos.kitta/git/theia/node_modules/vscode-jsonrpc/lib/main.js:673:19)
at Object.sendRequest (/Users/akos.kitta/git/theia/node_modules/vscode-jsonrpc/lib/main.js:782:13)
at /Users/akos.kitta/git/theia/packages/core/lib/common/messaging/proxy-factory.js:310:72
at new Promise (<anonymous>)
at /Users/akos.kitta/git/theia/packages/core/lib/common/messaging/proxy-factory.js:303:24
at process._tickCallback (internal/process/next_tick.js:68:7)
root ERROR Uncaught Exception: Error: The channel has been disposed.
root ERROR Error: The channel has been disposed.
at WebSocketChannel.checkNotDisposed (/Users/akos.kitta/git/theia/packages/core/lib/common/messaging/web-socket-channel.js:52:19)
at WebSocketChannel.close (/Users/akos.kitta/git/theia/packages/core/lib/common/messaging/web-socket-channel.js:92:14)
at WebSocket.<anonymous> (/Users/akos.kitta/git/theia/packages/core/lib/node/messaging/messaging-contribution.js:198:29)
at WebSocket.emit (events.js:187:15)
at WebSocket.emitClose (/Users/akos.kitta/git/theia/packages/core/node_modules/ws/lib/websocket.js:193:10)
at Socket.socketOnClose (/Users/akos.kitta/git/theia/packages/core/node_modules/ws/lib/websocket.js:861:15)
at Socket.emit (events.js:182:13)
at TCP._handle.close (net.js:606:12)
root ERROR Uncaught Exception: Error: Connection is closed.
root ERROR Error: Connection is closed.
at throwIfClosedOrDisposed (/Users/akos.kitta/git/theia/node_modules/vscode-jsonrpc/lib/main.js:673:19)
at Object.sendRequest (/Users/akos.kitta/git/theia/node_modules/vscode-jsonrpc/lib/main.js:782:13)
at /Users/akos.kitta/git/theia/packages/core/lib/common/messaging/proxy-factory.js:310:72
at new Promise (<anonymous>)
at /Users/akos.kitta/git/theia/packages/core/lib/common/messaging/proxy-factory.js:303:24
I added some console logging:
diff --git a/packages/core/src/common/messaging/proxy-factory.ts b/packages/core/src/common/messaging/proxy-factory.ts
index 27676d312..043de3469 100644
--- a/packages/core/src/common/messaging/proxy-factory.ts
+++ b/packages/core/src/common/messaging/proxy-factory.ts
@@ -239,7 +239,10 @@ export class JsonRpcProxyFactory<T extends object> implements ProxyHandler<T> {
} else {
const resultPromise = connection.sendRequest(method, ...args) as Promise<any>;
resultPromise
- .catch((err: any) => reject(this.deserializeError(capturedError, err)))
+ .catch((err: any) => {
+ console.log(`error when requesting '${method}' with args: {${JSON.stringify(args)}}`, err);
+ reject(this.deserializeError(capturedError, err));
+ })
.then((result: any) => resolve(result));
}
} catch (err) {
Finally, I could see the real issue:
root INFO error when requesting 'resolveContent' with args: {["file:///Users/akos.kitta/git/theia/.theia/tasks.json",null]} Error
at handleResponse (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:80023:36)
at processMessageQueue (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:79847:9)
at Immediate.<anonymous> (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:79830:7)
at runCallback (timers.js:694:18)
at tryOnImmediate (timers.js:665:5)
at processImmediate (timers.js:647:5)
root INFO [nsfw-watcher: 15573] Started watching: /Users/akos.kitta/git/theia/.vscode/settings.json
root INFO error when requesting 'resolveContent' with args: {["file:///Users/akos.kitta/git/theia/.theia/launch.json",null]} Error
at handleResponse (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:80023:36)
at processMessageQueue (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:79847:9)
at Immediate.<anonymous> (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:79830:7)
at runCallback (timers.js:694:18)
at tryOnImmediate (timers.js:665:5)
at processImmediate (timers.js:647:5)
root INFO error when requesting 'resolveContent' with args: {["file:///Users/akos.kitta/git/theia/.vscode/tasks.json",null]} Error
at handleResponse (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:80023:36)
at processMessageQueue (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:79847:9)
at Immediate.<anonymous> (file:///Users/akos.kitta/git/theia/examples/electron/lib/bundle.js:79830:7)
at runCallback (timers.js:694:18)
at tryOnImmediate (timers.js:665:5)
at processImmediate (timers.js:647:5)
On app stop, something tries to resolve the content of the settings.json, launch.json and tasks.json files. I do not see the same errors with the browser example. I do not know if this is an electron issue only.
Reproduction Steps
Build and start theia electron from the source. Close the app with Cmd+Q (on macOS).
OS and Theia version: macOS f255f5a8c
Diagnostics: