Segfault launching ipykernel on Python 3.12.3 in VS Code Jupyter (works on Python 3.11)
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 35/100
研究方向
使用 python3 -X faulthandler -m ipykernel_launcher -f /tmp/test_kernel.json 重現故障,然後將其與正常運作的 Python 3.11 命令進行比較。從 ipykernel_launcher.py、ipykernel/kernelapp.py 和列出的原生擴充功能開始;完成的標準是 Python 3.12 啟動核心並建立其連線檔案,且不發生 segmentation fault。
由索引模型根據 Issue 內容生成。
描述
Summary
Summary
A Jupyter kernel startup failure occurs when launching ipykernel under Python 3.12.3 inside the project virtual environment. The process crashes with Segmentation fault during IPKernelApp initialization. The same kernel startup works correctly on Python 3.11.15.
This appears to be a bug in the ipykernel / IPython startup path for Python 3.12 rather than a notebook-specific issue.
Reproduction Steps
-
Open the project directory:
cd /home/alvaritogsg/personalProjects/nuclioShool/nuclio_charlas -
Activate the virtual environment:
. .venv/bin/activate -
Run the kernel launcher directly with faulthandler:
python3 -X faulthandler -m ipykernel_launcher -f /tmp/test_kernel.json -
Observe the crash:
Segmentation fault (core dumped)- No
/tmp/test_kernel.jsonfile is created.
-
Compare with Python 3.11:
python3.11 -X faulthandler -m ipykernel_launcher -f /tmp/test_kernel_py311.json -
The Python 3.11 kernel starts successfully and remains alive.
Actual Behavior
The kernel process crashes immediately with a segmentation fault while initializing the IPython kernel application.
The stack trace includes:
logging/__init__.pyIPython/core/application.pyipykernel/kernelapp.pytraitlets/config/application.pyipykernel_launcher.py
Loaded native extension modules at the time of the crash:
zmq.backend.cython._zmqtornado.speedupspsutil._psutil_linux
VS Code reports:
The error displaed by VS Code was:
Error: El kernel ha muerto. Error: ... Vea Jupyter [log](command:jupyter.viewOutput) para obtener más detalles.
- The execution that is falling is:
~python -m ipykernel_launcher - The check command
python -c "import ipykernel; print(...)"works correctly.
Expected Behavior
The kernel should start normally and create a connection file such as /tmp/test_kernel.json. Jupyter frontends should be able to connect to the kernel without the process dying.
Environment
- OS: Linux (WSL/Remote VS Code)
- VS Code Jupyter extension:
2025.9.1 - Python 3.12.3 virtualenv:
/home/alvaritogsg/personalProjects/nuclioShool/nuclio_charlas/.venv
Package Versions in .venv
ipython 9.12.0ipykernel 7.2.0jupyter-client 8.8.0jupyter-core 5.9.1traitlets 5.14.3tornado 6.5.5pyzmq 27.1.0psutil 7.2.2
Python Version Comparison
- Python 3.12.3: fails
- Python 3.11.15: works
The working Python 3.11 environment was tested using a temporary venv and a similar ipykernel_launcher command.
Additional Notes
python3 -m IPython --helpworks and evenpython3 -m ipykernel_launcher --helpsucceeds, but actual kernel startup still crashes.- The crash appears to happen before any frontend-level Jupyter communication begins, so this is likely not a VS Code issue.
- The failing path is likely in the
ipykernel/IPythoninitialization logic, possibly specific to Python 3.12 in this environment.
- 主要語言
- Python
- 星號
- 734
- 分支
- 411
- 平均合併
- 1 天 5 小時
- 30 天內合併 PR
- 8
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
ipython/ipykernel 的其他 Issue
-
難度 1/5 1 小時以內 新手友好度 72/100
-
難度 4/5 3-5 天 新手友好度 68/100
-
難度 3/5 1-2 天 新手友好度 66/100
-
難度 4/5 3-5 天 新手友好度 35/100
查看 ipython/ipykernel 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 88/100
-
難度 2/5 1-3 小時 新手友好度 82/100
-
難度 2/5 1-3 小時 新手友好度 78/100
-
enhancement
難度 2/5 1-3 小時 新手友好度 72/100
-
難度 2/5 1-3 小時 新手友好度 74/100