[client-reliability] client-reliability-9 record active HLS cancellation reproduction

This commit is contained in:
thePR0M3TH3AN committed 2026-10-22 16:54:36 -04:00
1 parent d04d501ee2
commit fb0e671d4d
4 files changed
+18 -1

No files matched your search

@@ -0,0 +1 @@
Item9 HEAD slice done/landedf41ac656. Read-only HLS diagnostic atd04d501e actualobserver/controller/helper reproduces5cancellationfailures/7controls pass/0cancelled/naturalexit1. Pending manifest GET/body retains timer and promise after final-owner disposal; rejoin original,late cache. Need dispatch explicit controller+HLShelper ownership/contract before edits. No browser/full/build/product/retainedtest changes.
@@ -7,5 +7,5 @@
"addedOn": "2026-10-22",
"filedAt": "fb54cea3a2ba99b4860421724a5050af6b97c293",
"brief": "docs/agents/CAMPAIGN-2026-10-22.md",
"evidence": "HEAD-only fix e9c960ed/merged09f52bdd durably landed f41ac656 normalgateexit0,435discovered/435unique starts missingextra0,ancestry0;build/artifactexit0;controlled native Chromium+Firefox lifecycle PASS with synthetic loadeddata/publicdeny. Prior60focused/16mutants/lint11. Resources released. HLS/torrent/RangeGET separately OPEN; no wholeStage3 claim. test_logs/TEST_LOG_2026-10-22_20-52-00_client-reliability-9-browser.md"
"evidence": "HEAD-only fix e9c960ed/merged09f52bdd durably landed f41ac656 normalgateexit0,435discovered/435unique starts missingextra0,ancestry0;build/artifactexit0;controlled native Chromium+Firefox lifecycle PASS with synthetic loadeddata/publicdeny. Prior60focused/16mutants/lint11. Resources released. HLS/torrent/RangeGET separately OPEN; no wholeStage3 claim. test_logs/TEST_LOG_2026-10-22_20-52-00_client-reliability-9-browser.md HLS read-only atd04d501e:12modes/7controls pass/5cancellationfail/0cancelled/naturalexit1; GET/body finalowner retains timer/unsettled,rejoin old,latecache. Await explicit controller+HLShelper routing. test_logs/TEST_LOG_2026-10-22_20-54-00_client-reliability-9-hls-investigation.md"
}
@@ -0,0 +1,11 @@
# Read-only HLS manifest cancellation measurement
- Current HEAD `d04d501ee2a44271397c3af933a1655cf16e49af`, clean before investigation. HEAD slice already landedf41ac656/normal435files/buildartifact/native-controlled browser pass. Dispatch20:52:04Z authorized read-only HLS last-owner/shared/rejoin measurements only; no product or retained-test writes, browser/full/build.
- Actual callpath: `attachUrlHealthBadges` ownership -> `UrlHealthController.handleUrlHealthBadge` -> `probeUrlList` -> `probeUrl` -> HEAD completion -> `probeUrlWithVideoElement` HLS early branch -> `probeHlsManifest`. HLS branch precedes media ownership hook/queue; helper owns GET controller/timer through fetch and response.text but receives no lifecycle. Source locations controller323-349 and hlsPlayback383+ at this SHA. No media slot leak claim.
- Scratch `/tmp/client9-hls-repro.mjs` reuses real observer/controller/cache/HLS helper with JSDOM, controlled IntersectionObserver, deferred fetch/body boundaries, native AbortController, controlled timers; no public network, wall-clock sleep or force exit. Flush only drains continuations. All resources completed via controlled IO before strict failed assertions, then fixture cleanup restores globals.
- Initial9-mode fixture produced7fail/2pass: legacy badge was detached (update intentionally skips disconnected DOM), and automatic healthy mirror contaminated live-error/timeout controls. Retained `/tmp/client9-hls-initial-fixture.tap`; corrected scratch to append legacy badge and use single-source live controls. Corrected9 modes4fail/5pass. Expanded body/cross-controller controls, no product/assertion weakening.
- Final exact command `env -u NODE_TEST_CONTEXT -u UNIT_TEST_SHARD node /tmp/client9-hls-repro.mjs > /tmp/client9-hls-repro-final.tap 2>&1`: naturalexit1,12tests/7pass/5fail/0cancelled/167.265191ms suite.
- Five failures: final-owner disposal retains GET1/abort0/timer1/unsettled/original inflight; same-turn and later same-source owners rejoin original; late success caches healthy after disposal; pending response.text disposal also retains abort0/timer1/unsettled. Media slots0/queue0, disposed badge stayschecking; no stale badge write observed.
- Seven passing controls: shared live owner, cross-controller shared owner, ownerless legacy, live success, live error, live timeout, shared owner during pending body read. All controlled completions leave timers0/slots0/queue0.
- Proposed routing, NOT implemented: controller HLS lifecycle handoff plus hlsPlayback helper optional cancellation API across fetch/body; synchronous cancellation identity, prompt settlement despite ignored abort/missing controller, timer/hook cleanup and no obsolete cache/badge/mirror; preserve all live/shared/legacy/native-media behavior. Helper ownership/spec must be explicitly routed by dispatch before product/test edits.
- HLS playback engine/decoder, real transport bytes, browser HLS behavior, torrent, RangeGET and wholeStage3 remain unverified. No CPU benefit claim. Storage owns heavy slot; no heavy jobs launched.
@@ -0,0 +1,5 @@
- [x] HEAD slice durable,normal435files/buildartifact/controlled nativebrowser complete.
- [x] HLS source/callpath and strict offline12mode diagnostic5fail/7pass documented.
- [ ] Dispatch independent reproduction and explicit HLS helper ownership/spec routing.
- [ ] HLS implementation/retainedtests/verification only after routing.
- [ ] Torrent/RangeGET and broaderStage3 separately open.