ReviewOS

stacks/drone

TCP: qualify Linux passive output deadline conditions

#73
Closed chris opened this 8 days ago ·
8 days ago

Original failed qualification

At source 35b9bd8a8b21f7ca59031f30b111b08a09207960, Linux/Bun 1.4.3 product CI 39856555655 failed both passive TCP output fixtures. The drain fixture began at 4,148 pending bytes with backpressure; the below-watermark progress fixture began at 732 pending bytes without backpressure. Each original 1,500 ms wait ended without a protocol fault. Zero peer application reads did not establish a continuous 500 ms local/kernel stall. Full suite: 1,539 pass, 41 skip, two fail, 489,778 assertions. The same source passed the local Bun 1.4.2 full suite; that did not explain the Linux failures. Original raw results remain retained. Separate workspace startup failure is #72.

Demonstrated cause and correction

The initial focused Linux diagnostic reproduced the drain failure and showed its queue clearing at about 97 ms. A subsequent fixed four-trial uncorrected campaign reproduced drain failures 4/4 and progress failures 2/4. Every failed phase cleared before its real 500 ms epoch: drain at 5.636 to 188.696 ms, progress at 30.392 and 81.052 ms. These failures establish invalid fixture pressure assumptions, rather than a missed continuous-stall deadline.

The corrected fixture at product head b18e1d63d344452cf45719cf3b4072a752b71bce uses a single 10-second/550,000-frame establishment budget and at most 16 retained phase snapshots. Writes stop during each original 1,500 ms observation. A legitimate transition may resume establishment only if observed strictly before 500 ms from the actual drain/progress epoch. A sustained no-fault stall or late/ambiguous transition fails immediately. The 500 ms production deadlines, real public factory, OS socket peer, late-callback rejection, accepted-byte recovery and no replay remain intact. Production transport bytes did not change in this correction.

Both expiry branches were independently disabled in the actual production module as mutation checks. The drain regression failed with the wrong progress fault; the progress regression failed with a genuine pending queue and no fault through the original wait. Exact production bytes were restored. Final focused controls passed 42 tests/699 assertions, including all 19 TCP tests/134 assertions. Native lint and both type checks passed; independent Spec and Standards reviews are clean.

A fixed four-trial corrected Linux campaign passed all four complete TCP files, 76 test executions and 536 assertions, using a byte-identical unit file. Original four failures and complete downloaded archives remain retained. Formatted CLI output truncated two long JSON lines; complete trajectories were recovered from the original cached download, without rerun or refetch.

Acceptance

  • Retain both original failed terminal entries and initial native observations.
  • Reproduce both failures through the real public driver and OS socket peer with unchanged deadlines.
  • Record bounded actual queue/progress/drain observations and distinguish legitimate early native progress from sustained pressure.
  • Correct the fixture according to demonstrated cause and preserve red-capable expiry, late-callback rejection, in-budget recovery and no accepted-byte replay.
  • Qualify the corrected fixture with a fixed Linux campaign and independent review.
  • Complete the corrected product's original full-suite/CI gates and publish qualified source to main.

The exact-head product CI and full local Buddy suite have passed. #71 is merged and the corrected source is published on main. Research-only workflow/startup modes will not merge into main. No physical-command or hardware qualification is claimed.

Completed qualification and publication

Commit b18e1d63d344452cf45719cf3b4072a752b71bce was published to origin/main on 23 October 2026 through a normal fast-forward push as Chris Breuer, author and committer, without coauthors. Local full suite: 1,555 pass, 27 skip, zero fail, 489,808 assertions; all tracked source, HEAD and Bun unchanged. Linux full suite: 1,541 pass, 41 skip, zero fail, 489,785 assertions. All five CI jobs and all four outside-checkout standalone UDP/TCP driver campaigns passed. Original failed campaigns and archives remain retained. This completes the passive fixture qualification issue; broader driver and hardware acceptance remain #7.

Sign in to comment on this issue.