Bug 305671
| Summary: | [Tahoe Release] fast/animation/css-animation-throttling.html is a flakey text failure. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Diego De La Toba <d_delatoba> |
| Component: | Animations | Assignee: | Antoine Quint <graouts> |
| Status: | REOPENED | ||
| Severity: | Normal | CC: | graouts, webkit-bot-watchers-bugzilla, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Diego De La Toba
fast/animation/css-animation-throttling.html
is a flakey text failure on Tahoe MacOS release.
HISTORY:
https://results.webkit.org/?suite=layout-tests&test=fast%2Fanimation%2Fcss-animation-throttling.html&version_name=Tahoe&architecture=arm64&recent=false
TEXT DIFF:
--- /Volumes/Data/worker/Apple-Tahoe-Release-AppleSilicon-WK2-Tests/build/layout-test-results/fast/animation/css-animation-throttling-expected.txt
+++ /Volumes/Data/worker/Apple-Tahoe-Release-AppleSilicon-WK2-Tests/build/layout-test-results/fast/animation/css-animation-throttling-actual.txt
@@ -4,11 +4,11 @@
internals.setLowPowerModeEnabled(true)
-PASS internals.animationsInterval is throttled
+FAIL internals.animationsInterval should be 0.05333333333333334. Was 0.02666666666666667.
internals.setLowPowerModeEnabled(false)
PASS internals.animationsInterval is unthrottled
internals.setAggressiveThermalMitigationEnabled(true)
-PASS internals.animationsInterval is throttled
+FAIL internals.animationsInterval should be 0.05333333333333334. Was 0.02666666666666667.
internals.setAggressiveThermalMitigationEnabled(false)
PASS internals.animationsInterval is unthrottled
PASS successfullyParsed is true
TEXT URL:
https://build.webkit.org/results/Apple-Tahoe-Release-AppleSilicon-WK2-Tests/305729@main%20(1157)/fast/animation/css-animation-throttling-pretty-diff.html
STEPS TO REPRODUCE:
I was NOT able to reproduce this failure at macOS Tahoe ToT running the test as follows:
run-webkit-tests fast/animation/css-animation-throttling.html --iterations 5000
I am going to mark expectations for this test as a pass failure while it is under investigation.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/168329911>
Diego De La Toba
Pull request: https://github.com/WebKit/WebKit/pull/56742
EWS
Test gardening commit 305739@main (f13ad2306836): <https://commits.webkit.org/305739@main>
Reviewed commits have been landed. Closing PR #56742 and removing active labels.
Antoine Quint
I can't reproduce this flakiness locally but inspecting the code I don't see any code that guarantees that neither low-power mode nor aggressive thermal mitigation mode are disabled prior to the test starting. Something else that appears to be unexpected (to me anyway) is that the intervals in question do not match either `FullSpeedAnimationInterval` (15ms) nor `HalfSpeedThrottlingAnimationInterval` (30ms), which would indicate that `nominalFramesPerSecond` passed to `Seconds preferredFrameInterval(OptionSet<ThrottlingReason>, std::optional<FramesPerSecond>, bool)` is set to something other than `FullSpeedFramesPerSecond`.
I'll add assertions that check that we're in the expected throttling state prior to the test starting to determine whether that is the issue.
Antoine Quint
We don't have existing APIs to query the throttling state, so let's just ensure it's set to be what we expect the default to be.
Antoine Quint
Pull request: https://github.com/WebKit/WebKit/pull/62983
EWS
Committed 311474@main (cb5bd2d7b52c): <https://commits.webkit.org/311474@main>
Reviewed commits have been landed. Closing PR #62983 and removing active labels.
Antoine Quint
Bots indicate this is still an issue, reopening as such.
Antoine Quint
Interesting to see that the last failed run (https://build.webkit.org/#/builders/1716/builds/3268) shows other throttling-related tests failing:
fast/animation/request-animation-frame-throttle-inside-overflow-scroll.html [ Failure ]
fast/animation/request-animation-frame-throttle-subframe-display-none.html [ Failure ]
fast/animation/request-animation-frame-throttle-subframe.html [ Timeout ]
I wonder if we get in a situation where the bot is actually legitimately entering one of those throttling reasons.
Antoine Quint
Hmm, looking at the other test failures (https://build.webkit.org/results/Apple-Tahoe-Release-AppleSilicon-WK2-Tests/311205@main%20(3268)/results.html) it would appear that throttling is unexpectedly set to `VisuallyIdle`. I expect this is the core issue, that throttling is set in this test due to other reasons.