Skip to content

oxlint crashes with SIGABRT (2.8GB RAM) on large TypeScript projects during dead code detection #84

@Leon69924

Description

@Leon69924

Description

When running react-doctor on a large TypeScript/React project, oxlint crashes with SIGABRT during the "Detecting dead code" / "Running lint checks" step. The process uses up to 2.8 GB of RAM before crashing, and systemd-coredump processes the crash for ~3 seconds. This happens repeatedly — react-doctor keeps restarting oxlint, which keeps crashing in a loop.

This is related to #77, but with a harder symptom: instead of a silent abort, we get a full crash with coredump.

Environment

  • react-doctor: 0.0.29
  • oxlint: 1.50.0 (bundled by react-doctor)
  • Node.js: 25.2.1
  • OS: Arch Linux (x86_64)
  • Project: ~70+ TypeScript test files passed to oxlint in a single invocation

Reproduction

react-doctor is invoked (via Cursor IDE) on a React/TypeScript project with a large test suite. The generated oxlint command looks like:

oxlint -c /tmp/react-doctor-oxlintrc-XXXXX.json --format json --tsconfig ./tsconfig.json \
  src/__tests__/components/... [~70 .test.tsx files]

Observed behavior

systemd-coredump: Process (MainThread) terminated abnormally with signal 6/ABRT
Module oxlint.linux-x64-gnu.node without build-id.
Memory peak: 2.8G

oxlint crashes with SIGABRT, consuming 2.8 GB before dying. Since react-doctor/Cursor retries, the crash loops every few minutes, causing system-wide freezes (btrfs commit stalls due to coredump I/O).

Expected behavior

oxlint should either lint the files successfully or fail gracefully with an error message — not crash with SIGABRT.

Workaround

Pinning oxlint to 1.41.0 via pnpm override prevents the crash:

"pnpm": {
  "overrides": {
    "react-doctor>oxlint": "1.41.0"
  }
}

Notes

  • The project's own oxlint (^1.35.0 → resolved 1.41.0) works fine
  • oxlint 1.50.0 (latest) is the crashing version
  • The crash does not occur with fewer files — suspect a memory/stack issue in oxlint.linux-x64-gnu.node when processing large batches

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions