Skip to content

Conversation

justinmk
Copy link
Member

Problem:

Exception when calling console.assert().
Example from vscode-neovim/vscode-neovim#2242 :

{"tag":"dap.send","timestamp":1726115647837,"metadata":{"connectionId":3,"message":{"seq":1,"type":"response","request_seq":1,"command":"initialize","success":false,"body":{"error":{"id":9221,"format":
"Error processing initialize: TypeError: Cannot read properties of undefined (reading 'apply')
at console.<computed> [as assert] (/home/vscode/.vscode-server/extensions/asvetliakov.vscode-neovim-1.18.11/node_modules/neovim/lib/utils/logger.js:72:46)
at r.onInitialize (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:120:345)
at /vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:119:1632
at zc._onMessage (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:34:4948)
at /vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:34:3426
at D.fire (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:30:10962)
at Socket._handleData (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:116:688)
at Socket.emit (node:events:519:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:191:23)","showUser":false,"sendTelemetry":false}}}},"level":0}

9a2cf4c restored "console.x monkey-patching", but the logic was sloppy: it replaces every console.x function instead of only the ones that our logger actually supports.

Solution:

  • Only patch console.x functions we can actually support.
  • Special-case console.assert.

Problem:
Exception when calling `console.assert()`.
Example from vscode-neovim/vscode-neovim#2242 :

    {"tag":"dap.send","timestamp":1726115647837,"metadata":{"connectionId":3,"message":{"seq":1,"type":"response","request_seq":1,"command":"initialize","success":false,"body":{"error":{"id":9221,"format":
    "Error processing initialize: TypeError: Cannot read properties of undefined (reading 'apply')
    at console.<computed> [as assert] (/home/vscode/.vscode-server/extensions/asvetliakov.vscode-neovim-1.18.11/node_modules/neovim/lib/utils/logger.js:72:46)
    at r.onInitialize (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:120:345)
    at /vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:119:1632
    at zc._onMessage (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:34:4948)
    at /vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:34:3426
    at D.fire (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:30:10962)
    at Socket._handleData (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:116:688)
    at Socket.emit (node:events:519:28)
    at addChunk (node:internal/streams/readable:559:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
    at Socket.Readable.push (node:internal/streams/readable:390:5)
    at Pipe.onStreamRead (node:internal/stream_base_commons:191:23)","showUser":false,"sendTelemetry":false}}}},"level":0}

9a2cf4c restored "console.x monkey-patching", but the logic was
sloppy: it replaces every console.x function instead of only the ones
that our logger actually supports.

Solution:
- Only patch `console.x` functions we can actually support.
- Special-case `console.assert`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant