vscode-jupyter: zmq package does not work on Mac High Sierra (results in EH restart)
Environment data
- VS Code version: 1.78.2
- Jupyter Extension version (available under the Extensions sidebar): v2023.3.1000892223 (and above)
- Python Extension version (available under the Extensions sidebar): v2023.8.0
- OS (Windows | Mac | Linux distro) and version: macOS High Sierra 10.13.6
- Python and/or Anaconda version: Python 3.8.2
- Type of virtual environment used (N/A | venv | virtualenv | conda | …): venv
VS Code
- Version: 1.78.2
- Commit: b3e4e68a0bc097f0ae7907b217c1119af9e03435
- Date: 2023-05-10T14:44:45.204Z (3 wks ago)
- Electron: 22.5.2
- Chromium: 108.0.5359.215
- Node.js: 16.17.1
- V8: 10.8.168.25-electron.0
- OS: Darwin x64 17.7.0
- Sandboxed: Yes
VS Code - Insiders
- Version: 1.79.0-insider (Universal)
- Commit: 05ae089c791aa5c8ec05abd5687c9a31517579bc
- Date: 2023-06-02T09:42:42.311Z (23 hrs ago)
- Electron: 22.5.5
- Chromium: 108.0.5359.215
- Node.js: 16.17.1
- V8: 10.8.168.25-electron.0
- OS: Darwin x64 17.7.0
Expected behaviour
Kernel should load properly and allow to Select Another Kernel... (if necessary).
Actual behaviour
Kernel crashes with the following error message:
Extension host terminated unexpectedly 3 times within the last 5 minutes.
The option Select Another Kernel... is empty. No other kernels can be selected.
Afterwards, although Jupyter is installed, VS Code outputs the following error message:
Error: Cannot open resource with notebook editor type 'jupyter-notebook'...
Steps to reproduce:
It turns out that one of the node modules of ms-toolsai.jupyter, i.e. zeromq is the culprit.
Newer versions of ms-toolsai.jupyter load node.napi.glibc.node instead of node.napi.node. Note that node.napi.glibc.node was built for macOS Catalina 10.15. Also note that these newer versions come shipped with two folders, namely zeromq and zeromqold. Somehow, zeromqold is not loaded in case that zeromq fails. Else,
What’s the purpose of zeromqold?
Temporary solution
To solve this for older versions of macOS, either:
- Manually replace
node.napi.glibc.nodewithnode.napi.node. or - Rename the
zeromqtozeromqnew, andzeromqoldtozeromq.
Preferably save a backup as node.napi.glibc.node.bak just in case.
Logs
Command Palette > Developer: Toggle Developer Tools
[Extension Host] Starting WebSocket: RAW/api/kernels/b7ad93b0-b61d-418a-93a8-adb9d7ae5a64 (at console.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:99:161026))
Starting WebSocket: RAW/api/kernels/b7ad93b0-b61d-418a-93a8-adb9d7ae5a64
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /Users/user-1/.vscode-insiders/extensions/ms-toolsai.jupyter-2023.4.1011241018-darwin-x64/out/node_modules/zeromq/prebuilds/darwin-x64/node.napi.glibc.node (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/user-1/.vscode-insiders/extensions/ms-toolsai.jupyter-2023.4.1011241018-darwin-x64/out/node_modules/zeromq/prebuilds/darwin-x64/node.napi.glibc.node (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libSystem.B.dylib
The extension host (LocalProcess) terminated unexpectedly. Code: 6, Signal: unknown
Remarks
Please fix this as soon as possible, at least for the Jupyter Pre-Release Version. Thanks!
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 15 (8 by maintainers)
@DonJayamanne the version which we build has deployment target set to
10.15and it was changed in this commit https://github.com/zeromq/zeromq.js/commit/6364fddf067ca5f692fac4a5607e9a80c8357b90. I am not sure of the reasoning behind the change from the commit, so we can roll back to10.13and check if CI passes.