Forkserver-backed IPython kernel can terminate on Python 3.14 #1810
Closed
teobucos
started this conversation in
Bug reports
Replies: 2 comments
|
This happens every 5 minutes for me. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Description
On Linux with a Python 3.14 kernel, a forkserver-backed IPython kernel terminated twice in the same long-lived resumed Prime Agent session while a cell was waiting for a subprocess-driven, multi-step local verification command.
The Prime daemon and session worker remained alive. Every later IPython call in that session returned
Kernel has been shut down, and the kernel did not restart automatically.This appears intermittent or dependent on long-lived/resumed session state: short clean sessions using the forkserver completed a 35-second subprocess and the same verification workload successfully.
Steps observed
PRIME_AGENT_KERNEL_PYTHONto a Python 3.14.7 environment containing ipykernel and the Prime runtime.The command name above represents a local multi-step verification target; its individual subprocesses all complete successfully when run outside Prime.
Expected behavior
The subprocess completes and the persistent kernel remains available for later IPython calls. If a kernel does exit, a later call should provision a replacement instead of permanently returning the shutdown error.
Actual behavior
The session reported:
Process inspection confirmed the affected kernel used Prime's forkserver path. There was ample available memory and no OOM or system-level kill entry. The exact signal or lower-level cause was not captured.
Environment
Isolation and workaround
After restarting the session with:
export PRIME_AGENT_KERNEL_FORKSERVER=0the same verification workload completed successfully, a second IPython call returned normally, and the direct-spawn kernel remained alive while additional kernels were created.
This strongly isolates the failure to the forkserver-backed path, but does not establish the precise implementation defect. A fresh short-lived forkserver session did not reproduce it, so long-lived/resumed state or concurrency may be relevant.
All reactions