-
-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Version
System:
OS: macOS 15.5
CPU: (10) arm64 Apple M1 Pro
Memory: 380.23 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Browsers:
Brave Browser: 143.1.85.111
Chrome: 143.0.7499.193
Firefox: 140.0.4
Safari: 18.5
npmPackages:
@rstest/core: ^0.7.9 => 0.7.9Details
When tests are interrupted (e.g., with Ctrl+C/SIGINT), tinypool worker processes are not properly cleaned up and continue running indefinitely, consuming high CPU.
Impact:
- Orphaned workers accumulate over time and consume significant system resources
- Workers continue running at high CPU usage even after the test process exits
- Multiple interrupted test runs create multiple orphaned workers that must be manually killed
- This causes severe performance degradation on development machines
Example:
After interrupting tests, orphaned worker processes remain active:
$ pgrep -fl "tinypool.*process.js"
20946 node ... tinypool/dist/entry/process.js
Reproduce link
https://github.com/s-cork/rstest-orphaned-workers-repro
Reproduce Steps
- Clone the reproduction repository:
git clone https://github.com/s-cork/rstest-orphaned-workers-repro
cd rstest-orphaned-workers-repro
npm install - Start the test suite:
npm test - While tests are running, interrupt with Ctrl+C (SIGINT)
- Check for orphaned processes:
pgrep -fl "tinypool.*process.js" - Observe that tinypool worker processes are still running
Expected: Workers should be terminated when the parent test process exits
Actual: Workers continue running indefinitely and must be manually killed
Cleanup: pkill -9 -f "tinypool.*process.js"
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels