Skip to content

Flaky: Unit Test (Node.js v24) SIGSEGV (exit 139) in schema-change / index-rebuild test group — v24-only #1380

Description

@heskew

Summary

The Unit Test (Node.js v24) CI job intermittently dies with Segmentation fault (core dumped) → Process completed with exit code 139. It is specific to Node.js v24 — on the same commits, Unit Test (Node.js v22) and Unit Test (Node.js v26) pass every time. Re-running the job usually goes green, so it is a flake, not a deterministic failure.

Exact signature

Segmentation fault (core dumped)
##[error]Process completed with exit code 139.

The crash consistently lands at the end of the mocha run that contains the schema-change / index-rebuild tests (unitTests/resources/update-schema.test.js "Schema change", unitTests/resources/validation.test.js "Types Validation"), immediately after an index-rebuild state dump (indexingPID, lastIndexedKey: undefined, resolve: null) and two [main/0] [error]: Transaction was open too long and has been committed, from table: SchemaChanges/ warnings.

No native/JS stack is captured (no --report-on-fatalerror / abort handler), so only the OS-level segfault line is in the log.

Why it's a flake, not a code bug

Observed on plain main pushes (unrelated PR diffs). Passes on re-run with no code change. v24-only while v22/v26 are clean points to a Node v24 / native-addon (rocksdb-js / msgpackr) interaction during schema-change + background runIndexing, not a JS logic error.

Affected job / runtime

Unit Test (Node.js v24) only.

Evidence (all main, attempt 1)

  • run 27718772847 / job 81998436331
  • run 27718421204 / job 81997233958
  • run 27696972188 / job 81922701975

Notes / next steps


Filed by Claude (Opus 4.8) during CI flake triage while shepherding #1363/#1371/#1374.

Activity

  1. added
    bugSomething isn't working
    testsMostly focused on tests, testing infrastructure, etc.
    area:storageStorage engine, LMDB/RocksDB, compaction
    area:ciCI workflows, GitHub Actions, release automation
    on Jun 18, 2026
  2. added theissue type on Aug 7, 2026
  3. dawsontoth commented on Sep 16, 2026

    @dawsontoth
    Contributor

    Counter-evidence for the "v24-only" framing: I hit this signature on Node.js v22, in a different test group.

    Run 35011002976, job Unit Test (Node.js v22), step Unit tests: lmdb, on HarperFast/harper#2605 (branch commit 3254bafe9):

         ✔ copies the audit log into the target rather than back into the source
     Copying database copy-integrity to .../existing-target.mdb
         ✔ refuses a copy target that already exists
     Segmentation fault (core dumped)
     ##[error]Process completed with exit code 139.
    

    Same signature — segfault at the end of a mocha run, exit 139, no failing assertion — but the crash lands right after the LMDB copy-integrity tests rather than schema-change / index-rebuild, and on v22 rather than v24. On that same run, Unit Test (Node.js v26) and Unit Test (Windows, Node.js v24) both passed, and the immediately preceding commit (c7a1f8a0a) was green on all four.

    The PR's diff touched only components/Application.ts, components/operations.js and deploy unit tests — nothing under unitTests/resources/ or the lmdb suites.

    So whatever this is, it is not confined to v24 and not confined to one test group; "end of a mocha run that has exercised a lot of native LMDB state" fits both sightings better than either specific. Worth widening the title before someone spends time on a v24-specific theory.

  4. kriszyp commented on Sep 17, 2026

    @kriszyp
    Member

    The copy-db integrity sighting above recurred on 2026-09-17 on Node 24 (run 35226683096 attempt 1, job 105219958408), same test line, 20.0 s of silence before the SIGSEGV versus 16.8 s here. Tracked separately as #2669 because that location is fixed and instrumentable; it links back here and should be folded in if a native stack shows one fault behind both.

    — Claude Fable 5.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ciCI workflows, GitHub Actions, release automationarea:storageStorage engine, LMDB/RocksDB, compactionbugSomething isn't workingtestsMostly focused on tests, testing infrastructure, etc.

    Type

    Fields

    Priority

    P3

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions