Version
main
Platform
Subsystem
report
What steps will reproduce the bug?
import { Worker } from 'node:worker_threads';
new Worker(`require('node:child_process').execFileSync('sleep', ['30']);`, { eval: true });
Run with
$ node --process-timeout=1s --report-on-process-timeout repro.js
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior? Why is that the expected behavior?
A complete, valid JSON report is written. Blocked Workers could be left out or marked as unresponsive. A stuck Worker is exactly the case where you'd want the report. The forced-exit message should also start on its own line.
What do you see instead?
(node:2291000) Process timed out after 1s (--process-timeout). Exiting with code 124.
Main thread was not executing JavaScript.
Resources keeping the event loop alive:
Worker (thread 1, name 'WorkerThread')
Writing Node.js report to file: report.20260925.212601.2291000.0.001.json(node:2291000) The process did not finish exiting within 5000ms after --process-timeout expired. Forcing exit.
$ node -e "JSON.parse(require('fs').readFileSync('report.20260925.212601.2291000.0.001.json'))"
SyntaxError: Expected property name or '}' in JSON at position 8192 (line 338 column 9)
Additional information
No response
Version
main
Platform
Subsystem
report
What steps will reproduce the bug?
Run with
$ node --process-timeout=1s --report-on-process-timeout repro.jsHow often does it reproduce? Is there a required condition?
Always
What is the expected behavior? Why is that the expected behavior?
A complete, valid JSON report is written. Blocked Workers could be left out or marked as unresponsive. A stuck Worker is exactly the case where you'd want the report. The forced-exit message should also start on its own line.
What do you see instead?
Additional information
No response