From d1b1baeae5f66936b87423e52038b16a3babf7a5 Mon Sep 17 00:00:00 2001 From: Don Jayamanne Date: Sat, 24 May 2025 15:37:22 +1000 Subject: [PATCH 1/2] Some logging --- .../execution/cellExecutionMessageHandler.ts | 19 ++++++++++++++++++- src/test/index.node.ts | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/kernels/execution/cellExecutionMessageHandler.ts b/src/kernels/execution/cellExecutionMessageHandler.ts index 7b136309471..8672ef263c3 100644 --- a/src/kernels/execution/cellExecutionMessageHandler.ts +++ b/src/kernels/execution/cellExecutionMessageHandler.ts @@ -496,6 +496,14 @@ export class CellExecutionMessageHandler implements IDisposable { this.execution?.start(this.startTime); logger.debug(`Kernel acknowledged execution of cell ${this.cell.index} @ ${this.startTime}`); } + if (!msg.header) { + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + logger.warn(`Got a message without a header ${JSON.stringify(msg)}`); + } catch { + logger.warn(`Got a message without a header, no idea what it is`, msg); + } + } // eslint-disable-next-line @typescript-eslint/no-require-imports const jupyterLab = require('@jupyterlab/services') as typeof import('@jupyterlab/services'); @@ -527,7 +535,16 @@ export class CellExecutionMessageHandler implements IDisposable { } else if (jupyterLab.KernelMessage.isCommCloseMsg(msg)) { // Noop. } else { - logger.warn(`Unknown message ${msg.header.msg_type} : hasData=${'data' in msg.content}`); + if (msg.header) { + logger.warn(`Unknown message ${msg.header.msg_type} : hasData=${'data' in msg.content}`); + } else { + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + logger.warn(`Unknown message ${JSON.stringify(msg)}`); + } catch { + logger.warn(`Unknown message, no idea what it is`, msg); + } + } } // Set execution count, all messages should have it diff --git a/src/test/index.node.ts b/src/test/index.node.ts index 4091cd57e3e..ed79d0d6060 100644 --- a/src/test/index.node.ts +++ b/src/test/index.node.ts @@ -65,6 +65,7 @@ process.on('unhandledRejection', (ex: Error, _a) => { msg.includes('View Jupyter [log](command:jupyter.viewOutput)')) || msg.includes('Channel has been closed') || msg.includes('Error: custom request failed') || + msg.includes('resources/app/extensions/github-authentication/dist') || // Ignore known external issues, https://github.com/microsoft/vscode/issues/249697 msg.includes('ms-python.python') || // We don't care about unhanded promise rejections from the Python extension. msg.includes('ms-python.isort') || // We don't care about unhanded promise rejections from the Python related extensions. msg.includes('extensions/git/dist/main.js') // git extension often throws errors from calling extension APIs after EH has been disconnected From 66f099a122b56b7b0d7c4a109bc0e6527adf9fc5 Mon Sep 17 00:00:00 2001 From: Don Jayamanne Date: Fri, 30 May 2025 08:15:43 +1000 Subject: [PATCH 2/2] Updates --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fac8cd2c7ef..b57dee08341 100644 --- a/package-lock.json +++ b/package-lock.json @@ -229,7 +229,7 @@ "webpack-cli": "^5.1.4" }, "engines": { - "vscode": "^1.101.0" + "vscode": "^1.100.0" }, "optionalDependencies": { "fsevents": "^2.3.2" diff --git a/package.json b/package.json index 75fe7a0eb48..f9e8ae440c2 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "theme": "light" }, "engines": { - "vscode": "^1.101.0" + "vscode": "^1.100.0" }, "l10n": "./l10n", "extensionKind": [