Skip to content

slowDrive flaked once in CI: the Device never stood in (run 39868816619, 34.5 s) #950

Closed

Description

@Skeyelab

Summary

The test "A Drive too slow to keep up drops audio but isn't given up: the Device stands in from the drop, and Repair fills the Drive" (slowDrive, Packages/ShowRecorderKit/Tests/RecordingTests/DriveOnlyTakeTests.swift) failed once in CI on a pull request that doesn't touch that path. It has not failed since in any run we could make.

Why it matters

A red package-tests job blocks a PR for a reason that has nothing to do with the PR. If it comes back, we need what this run showed so we don't start from zero.

Done when


Details

Failure: CI run 39868816619, job 120137816462 ("App (package tests)", Debug) on #930. Release package tests passed in the same run. The test took 34.5 s; it takes about 1 s on a quiet Mac, so that runner was heavily loaded. Three expectations failed at DriveOnlyTakeTests.swift:636-638: copies[.drive] was .complete, not .repaired; the Drive samples did not match; the Device Take folder still existed. That reads as the Device never standing in. The stand-in only starts when checkDestinations() sees the Drive overflowed, failed or stalled (standInIfDriveLost).

Not reproduced:

Not #930: #930 changes StemWriter.reopen and the order in ChannelRenamer. Repair reopens Stems our own writer made, and the new guard accepts those.

Which wait: unknown. The test's waitUntil { recorder.droppedFrameCount > 0 } and the checkDestinations() call right after it are the first places to look: the test delivers 5 s of audio in about 0.5 s, so a loaded runner may reorder the drop and the check.

Not built. Filed so we see it if it comes back.

Activity

  1. added
    P3Launch: last (polish, or needs the rest first)
    on Oct 23, 2026
  2. Skeyelab commented on Oct 24, 2026

    @Skeyelab
    MemberAuthor

    Correction from the fix in #955: the Device Take folder still existing means the stand-in did start, so the opening guess (it never started) was wrong. What fits all three failed expectations is that Stop gave the Drive up: the test recorder's no-progress stop window was 300 ms, and a Drive writer that pauses that long at its close is abandoned (Repair skips it, the stand-in stays on the Device). Not a measured cause: it didn't reproduce idle, under load, or with 24 hogs. #955 raises that window for this test only.

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

    P3Launch: last (polish, or needs the rest first)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions