Repository navigation
test(player): a Safari perf run that fails says which wait timed out and why - #7347
Merged
Merged
Conversation
miguel-heygen
force-pushed
the
test/player-safari-bench-errors
branch
from
November 7, 2026 10:49
ac00789 to
969950c
Compare
Contributor
Edit accuracy: accurate 267 (base branch 267), smooth 107 of thoseThe gate passes. Quarantined, measured but not gated (8)
Unstable (1)
|
miguel-heygen
force-pushed
the
test/player-safari-bench-errors
branch
from
November 7, 2026 11:40
846b295 to
157d6e4
Compare
Contributor
There was a problem hiding this comment.
Approving at 157d6e4a. No blockers.
bench-page.js: theisPlayingtimeout now names the videos stuck atreadyState === 0andnetworkState === 2(HAVE_NOTHING, LOADING), usingcurrentSrcbasenames. If no video matches, it rethrows the originaltimed out after 5000 ms waiting for isPlaying, so nothing else changes.videos()anduntilare the existing helpers.run.ts: the error is nowString(e)pluse.stack. Before,e.stack || edropped the message on Safari, whose stack has no message line. The"\\n"inside the template literal reaches the page as a real\n, which is correct.- Fails-without-the-fix line: this PR only changes test code, adding diagnostics to the perf bench. No product behavior changes. The line names the bench run that gets the vaguer error without the change. That fits the change, so I'm accepting it as the before/after evidence.
- CI on this head: green, including Player Safari perf ("Heavy films: Safari vs Chrome"), CI, CodeQL, regression, preview-regression and Player perf. Windows render verification was still running and doesn't touch this code.
Nit, non-blocking: on Chrome/V8, e.stack already starts with Error: <message>, so the first line now shows up twice there. It's harmless.
Collaborator
Author
|
On the nit: yes, Chrome shows the first line twice. I'm leaving it as is, so the bench doesn't branch on browser just for its error text. |
SanHsien
added a commit
to SanHsien/hyperframes
that referenced
this pull request
Nov 7, 2026
…, heygen-com#7360, heygen-com#7347); review to PR heygen-com#7362 Adopt heygen-com#7357 and heygen-com#7361 (upload completion waits and retries), heygen-com#7360 (Chrome start failure names its cause in check) and heygen-com#7347 (Safari perf tooling); release v0.9.20 not applicable. Pin open heygen-com#7362 (needs its golden LFS pointer when adopted); record issue heygen-com#7363. Monitored 126 -> 127. Co-authored-by: Miguel Ángel <miguel.sierra@heygen.com> Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A Safari perf run that fails now says why.
the browser never started loading h264-1080.mp4.Why
In some Safari runs of the heavy alpha WebM film, the H.264 video reports
networkStateLOADING andreadyStateHAVE_NOTHING and stays there.e.stack, so before this change the failure read as a bare script error.Tried and dropped
A one-time
load()on such a video, 5 s after it was first asked to play, does not recover it. Across 24 CI runs, the restart fired in each of the 4 stalled runs. 15 s later the video was still at HAVE_NOTHING and LOADING. The runtime is left unchanged, and this PR only makes the failure name its cause.Test plan
POST /session/.../execute/syncwith an empty error message.restarted fetches 1and the stuck video's state, which confirmed that the restart does not help.Size
Small on purpose: two error messages in the perf bench. No runtime change.