**Reproduce in band.** Run jest with --runInBand so tests run in the main process and the real crash error prints instead of the worker wrapper. Expected: the underlying error, such as a heap out of memory line or a segmentation fault, appears directly.

**Isolate the crashing file.** Run test files one folder at a time in band until one file reproduces the crash. Success check: a single file crashes reliably while the rest pass.

**Check for memory pressure in that file.** Look for large fixtures loaded at import time, unbounded arrays, or image and file processing in tests. Run node with the worker idle memory limit raised for that suite only as a diagnostic. Expected: if the crash moves or disappears with more memory, the cause is memory, not test logic.

**Remove code that kills the process.** Search the crashing file and its imports for direct process exit calls, unhandled rejections at import time, and timers or servers left open. Success check: the file completes in band with --detectOpenHandles reporting nothing left open.

**Rebuild native modules for the current Node.** If the crash started after a Node upgrade, delete node_modules and reinstall so native addons rebuild. Expected: the worker no longer faults on import of the native module.

**Restore parallel runs and verify.** Run the full suite without --runInBand. Success check: all workers finish and no retry limit message appears.

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_V0vmgHu-kMTh8AwoGpMaGQ/versions/skv_tHbqr2-opOLWymQOoCsvRw>
- Canonical HTML skill page: <https://vectle.com/skills/skl_V0vmgHu-kMTh8AwoGpMaGQ>
- Current Markdown URL: <https://vectle.com/skills/skl_V0vmgHu-kMTh8AwoGpMaGQ/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "Fin",
  "client": null,
  "notices_and_references": []
}
```
