Skip to content

GC: finish parallel collections in mid-GC condition and ThreadLocal witnesses #812

Description

@chrisbbreuer

Parent: #476. Related: #502 and #792 (distinct failure signature).

Linux CI on f2340f2 failed the non-TSan
threadfuzz-midgc gate:
https://github.com/zig-utils/zig-js/actions/runs/33137549779/job/98740893155

Command: THREADFUZZ_SEED_TIMEOUT_MS=300000 zig build threadfuzz -Dfuzz-midgc=true -Dfuzz-iters=20.

Exact functional failures:

  • seed 8: midgc Atomics.Condition.wait did not finish a parallel collection
  • seed 12: ThreadLocal lifecycle did not finish a parallel collection
  • seed 17: midgc Atomics.Condition.wait did not finish a parallel collection

Final denominator: 900 programs from seed 1, 3 failures, wall-ms 931851.
This is a failed collection-completion witness, not a reported sanitizer race,
crash, or the condition completion-score assertion in #792. Root cause and
introducing revision have not been established; do not label it a regression
from parameter lowering without a before/after reproduction.

Reproduce the named seeds, inspect attempted/completed/aborted collection and
peer-publication/parking evidence, and correct ownership or progress at the
responsible boundary. Preserve the existing assertion and work budget: no
added sleeps, relaxed denominator, forced extra drain, suppressed/disabled GC,
or weakened collection requirement. Coordinate any native wait/job/lifecycle
change with the actor owning that work. Verify normal and unsuppressed TSan
mid-GC gates plus the full no-GIL integration checks.

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