Files
xenia-rs/audit-runs/review-a-step1c-crowbar-v3/re-validation.md
MechaCat02 ef93a4fa14 handoff: VSync/event-wedge fixes + iterate 2.A–2.BC research notes
Source changes (dormant parity infra, retained from iterate 2.AI/2.AO):
- xenia-kernel/exports.rs: nt_create_event manual_reset polarity +
  related event wiring
- xenia-gpu/mmio_region.rs: D1MODE_VBLANK_VLINE_STATUS hardcode parity

Also lands the audit-runs/ analysis notes (.md/.txt/.json digests) for the
iterate 2.x VSync/0x10e8/0x1004 wedge investigation. Raw trace dumps
(.jsonl/.gz/.csv/.stdout) and agent worktrees (.claude/) are gitignored as
regenerable local artifacts — see memory + HANDOFF for the running findings.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 07:19:08 +02:00

2.1 KiB

Re-validation — Crowbar v3 composite progression metric

Date: 2026-05-21 Method: 3x OFF + 3x ON cold runs, 25M-instruction check digests.

Protocol

  • Binary: target/release/xrs-crowbar3 (release build of HEAD + v3 patch).
  • Command: xrs-crowbar3 check <ISO> -n 25000000 --gpu-thread --out <json>.
  • OFF: no env vars set (crowbar default-off).
  • ON: XENIA_CROWBAR_WORKERS=1 XENIA_CROWBAR_CTX_BIN=ctx-canary.bin.
  • ISO: Sylpheed master image; no cache wipes between ours-runs (the crowbar trigger is per-instr-count, deterministic).

Results

Run instructions swaps draws unique_RT score notes
OFF-1 25,000,000 1 0 0 1 natural halt at limit
OFF-2 25,000,000 1 0 0 1 natural halt at limit
OFF-3 25,000,000 1 0 0 1 natural halt at limit
ON-1 20,000,167 1 0 0 1 FAULT @ pc=0 lr=0x82506e38 r3=0xBCE25640 tid=15
ON-2 20,000,167 1 0 0 1 FAULT @ pc=0 lr=0x82506e38 r3=0xBCE25640 tid=15
ON-3 20,000,167 1 0 0 1 FAULT @ pc=0 lr=0x82506e38 r3=0xBCE25640 tid=15

Composite score (option 6 from boot-state review)

score = 1*swaps + 10*draws + 100*unique_render_targets
  • OFF mean: 1.0
  • ON mean: 1.0
  • Δ = 0

Determinism

Across 3 ON runs:

  • Fault PC, LR, CTR, r3, r4, r29, r30, r31 are bit-identical.
  • Fault cycle is bit-identical (cycle=20000167).
  • instructions=20000167 matches across all 3 runs (deterministic scheduling under the GPU thread backend).
  • packets varies slightly (18.6M / 18.7M / 19.1M) — expected, this is the GPU thread race documented as ±2-8% jitter.

Conclusion

3x replication confirms the v3 crowbar deterministically faults at the same dispatch site with the same register state. The XENIA_CROWBAR_CTX_BIN install path is structurally sound — it writes exactly the canary-captured bytes (verified via the post-install u32 slot dump in stderr) — but the secondary-object recursion is now the blocker.

The hypothesis "wedge is crowbar-soluble with full ctx state + worker spawn" is FALSIFIED at the case-(D) recursion level.