Skip to content

test(verify): measure fragment spans and expect B1's 4 s fragments on macOS runners - #2789

Closed
richiemcilroy wants to merge 1 commit into
mainfrom
test/verify-b1-fragment-span
Closed

richiemcilroy wants to merge 1 commit into
mainfrom
test/verify-b1-fragment-span

Conversation

@richiemcilroy

Copy link
Copy Markdown
Member

Problem

Since 2026-10-20 every pull request's macOS crash_safety run fails crash/recorder-kill/inproc/static-screen and crash/recorder-kill/oop/static-screen with fragment-span, and so does main. It is not a code regression: re-running Engine verify on 2a61427, the commit that passed the nightly (run 39365191761), now fails the same way (run 39513410142).

The runners now deliver the "static" screen at about 28 fps while the nominal rate is 60 fps. The keyframe interval is a frame count (2 s x nominal fps = 120 frames), so each fragment closes after about 4 s of capture instead of 2 s. That is known bug B1 (fragments are cut only at keyframes and the interval is counted in frames), already expected for this case as loss-time and missing; this is the same mechanism showing up as a span check instead.

Change

  • check_fragment_spans records the measured span (secs) with the problem, so the failure can carry a strict bound like every other expected failure (require_bound = true).
  • A macOS fragment-span entry for crash/recorder-kill/*/static-screen, bounded to 1 to 20 problems and spans of 2.3 to 20.5 s (B1's existing 20 s ceiling). Anything outside the bound, or on another platform, still fails.

Product behaviour is unchanged; this only unblocks the macOS crash suite while B1 itself is open.

Verification

The macOS crash_safety jobs on this pull request should pass with the entry matched, and the Linux and Windows runs are unaffected.

@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cap-status Ready Ready Preview Oct 21, 2026 12:59am UTC

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found 1 potential issue (1 medium).

Open in Capy

[[xfail]]
case = "crash/recorder-kill/*/static-screen"
class = "fragment-span"
platforms = ["macos"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new xfail requires fragment-span on every macOS encoder path

Medium Severity

On a Mac where VideoToolbox is unavailable and encoder selection falls back to libx264, this static-screen test emits synthetic frames at 3 fps with a nominal rate of 30 fps—not runner-captured frames at 28/60 fps. libx264's 60-frame GOP therefore remains open until 20 seconds, beyond the 11-second kill. No complete fragment exists for check_fragment_spans to report, and the existing loss-time and missing entries cover that outcome. Because this new entry applies to every Mac and defaults to flaky = false, judge_with now reports the absent fragment-span class as fixed and fails the previously accepted run with XPASS. Make this allowance optional or conditional on the encoder path that produces it, while retaining its measurement bounds.

Open in Capy

@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Found 1 test failure on Blacksmith runners:

Failure

Test View Logs
cap-verify::crash/crash_safety View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@richiemcilroy

Copy link
Copy Markdown
Member Author

Closing in favour of #2785, which fixes the cause instead of expecting it: the in-process crash test recorded keyframe-only fragments while Studio uses timed 2 s fragments, so a static screen at ~28 fps stretched fragments to ~4 s.

This branch was successfully deployed

2 active deployments
Preview – cap-web — 65da0b8e Deployed Oct 21, 2026 by vercel[bot]
Preview – cap-status — 65da0b8e Deployed Oct 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant