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.node
withnode.napi.node
. or - Rename the
zeromq
tozeromqnew
, andzeromqold
tozeromq
.
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.15
and 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.13
and check if CI passes.