Skip to content

gc-root-dominance.yml has been red at --audit-poll-reach since 2026-08-15, so its corpus and checker never run #8821

Description

@proggeramlug

gc-root-dominance.yml is structurally unable to report on the thing it exists to check. Over the last 60 runs:

58 skipped
 2 failure
 0 success

Both failures are scheduled main runs, and both die at the same early step — before the corpus is ever emitted:

run 32820308411 (2026-08-25 07:10, schedule)
  job: gc-root-dominance              step FAILED: ALLOC_RE symbols that reach a poll-capable one must be listed
  job: gc-root-dominance-statepoints  step FAILED: ALLOC_RE symbols that reach a poll-capable one must be listed

That is the --audit-poll-reach audit. It exits 2 on all recent scheduled main runs. Every pull_request run is skipped (the job is label-gated behind run-extended-tests).

Consequence

The corpus step (scripts/gc_root_dominance_corpus.sh) and the checker step (scripts/gc_root_dominance_check.py) have never executed in CI. So neither of these has ever been observable at any profile:

CLAUDE.md enumerates four ways a gate can be unable to fail. This hits two of them simultaneously — not in branch protection's required contexts (label-gated, so skipped on every PR) and the gate runs but its subject never did (the one path that does run stops before reaching its subject). A third is arguably in play: a skipped check satisfies a required context.

What needs deciding

  1. Fix the --audit-poll-reach failure so the workflow can proceed to its actual subject, or split that audit into its own job so an unrelated failure cannot mask the corpus and checker.
  2. Decide whether this gate should be label-gated at all. A GC-rooting dominance check that never runs on a PR cannot prevent the class of bug it was written for — and docs/src/internals/gc-rooting-invariant.md describes that class as one this project has shipped repeatedly.
  3. Only after 1 and 2 will gc-root-dominance: 7/3 gated (8/4 unfiltered) NEW root-dominance regressions landed 2026-08-15..25 while the gate was red #8809 and gc_root_dominance_corpus.sh: 2 GC-rooting sources silently emit no IR (budget 0) on clean main #8810 have a CI signal to be judged against.

Found while auditing #8783 (root-dominance A/B) and while fixing #8810.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions