Description
When training ends, the abort listener on AbortSignal is not actively detached. If the same signal instance is aborted later in the application lifecycle, subprocess.kill('SIGINT') might try to kill an already terminated or recycled PID.
Environment
- macOS version: macOS 14.0
- Apple Silicon: M2
- Node version: v22.0.0
- Python version: 3.12
- Nanotune version: 1.7.0
Steps to Reproduce
- Run a training session with an
AbortSignal.
- Let the session complete successfully.
- Abort the signal externally.
Expected Behavior
Nothing should happen, as the process is dead.
Actual Behavior
The listener fires and calls kill('SIGINT') on the closed child process.
Logs/Screenshots
N/A
Additional Context
Description
When training ends, the
abortlistener onAbortSignalis not actively detached. If the same signal instance is aborted later in the application lifecycle,subprocess.kill('SIGINT')might try to kill an already terminated or recycled PID.Environment
Steps to Reproduce
AbortSignal.Expected Behavior
Nothing should happen, as the process is dead.
Actual Behavior
The listener fires and calls
kill('SIGINT')on the closed child process.Logs/Screenshots
N/A
Additional Context