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:
-
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.json file 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__.py
IPython/core/application.py
ipykernel/kernelapp.py
traitlets/config/application.py
ipykernel_launcher.py
Loaded native extension modules at the time of the crash:
zmq.backend.cython._zmq
tornado.speedups
psutil._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.0
ipykernel 7.2.0
jupyter-client 8.8.0
jupyter-core 5.9.1
traitlets 5.14.3
tornado 6.5.5
pyzmq 27.1.0
psutil 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 --help works and even python3 -m ipykernel_launcher --help succeeds, 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 / IPython initialization logic, possibly specific to Python 3.12 in this environment.
Summary
Summary
A Jupyter kernel startup failure occurs when launching
ipykernelunder Python3.12.3inside the project virtual environment. The process crashes withSegmentation faultduringIPKernelAppinitialization. The same kernel startup works correctly on Python3.11.15.This appears to be a bug in the
ipykernel/IPythonstartup path for Python 3.12 rather than a notebook-specific issue.Reproduction Steps
Open the project directory:
cd /home/alvaritogsg/personalProjects/nuclioShool/nuclio_charlasActivate the virtual environment:
. .venv/bin/activateRun the kernel launcher directly with faulthandler:
Observe the crash:
Segmentation fault (core dumped)/tmp/test_kernel.jsonfile is created.Compare with Python 3.11:
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.pyLoaded native extension modules at the time of the crash:
zmq.backend.cython._zmqtornado.speedupspsutil._psutil_linuxVS Code reports:
The error displaed by VS Code was:
~python -m ipykernel_launcherpython -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
2025.9.1/home/alvaritogsg/personalProjects/nuclioShool/nuclio_charlas/.venvPackage Versions in
.venvipython 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.2Python Version Comparison
The working Python 3.11 environment was tested using a temporary venv and a similar
ipykernel_launchercommand.Additional Notes
python3 -m IPython --helpworks and evenpython3 -m ipykernel_launcher --helpsucceeds, but actual kernel startup still crashes.ipykernel/IPythoninitialization logic, possibly specific to Python 3.12 in this environment.