Bug 244134

Summary: REGRESSION(253549@main): [ iOS ] 2X animations/(Layout tests) are constant failures
Product: WebKit Reporter: Hercules Hjalmarsson <hhjalmarsson>
Component: New BugsAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=244017
https://bugs.webkit.org/show_bug.cgi?id=244285

Description Hercules Hjalmarsson 2022-08-19 12:27:29 PDT
animations/no-style-recalc-during-accelerated-animation.html

Is a constant text failure on iOS ToT and since 253549@main.

HISTORY:
https://results.webkit.org/?suite=layout-tests&test=animations/no-style-recalc-during-accelerated-animation.html

DIFF:
@@ -1,2 +1,2 @@
 Got iteration event.
-PASS: saw five or fewer style recalcs during the animation.
+FAIL: saw 8 style recalcs during the animation, should only see five.
Comment 1 Radar WebKit Bug Importer 2022-08-19 12:27:52 PDT
<rdar://problem/98894287>
Comment 3 Hercules Hjalmarsson 2022-08-19 12:32:17 PDT
This issue can be bisected to 253549@main using command:

run-webkit-tests --ios-simulator --iterations=2 animations/no-style-recalc-during-accelerated-animation.html
Comment 4 EWS 2022-08-19 12:44:00 PDT
Test gardening commit 253601@main (886100c335f4): <https://commits.webkit.org/253601@main>

Reviewed commits have been landed. Closing PR #3481 and removing active labels.
Comment 5 Hercules Hjalmarsson 2022-08-19 12:47:03 PDT
animations/steps-transform-rendering-updates.html

Is a constant text failure on iOS ToT with the same regression point of 253549@main. However, with a different DIFF. They both appear to be related.

HISTORY:
https://results.webkit.org/?suite=layout-tests&suite=layout-tests&test=animations%2Fsteps-transform-rendering-updates.html&test=animations%2Fno-style-recalc-during-accelerated-animation.html

DIFF:
@@ -1,5 +1,5 @@
 PASS count is 0
-PASS count < 7 is true
+FAIL count < 7 should be true. Was false.
 PASS successfullyParsed is true

 TEST COMPLETE
Comment 6 EWS 2022-08-19 12:58:09 PDT
Test gardening commit 253602@main (7199d3824d94): <https://commits.webkit.org/253602@main>

Reviewed commits have been landed. Closing PR #3482 and removing active labels.
Comment 7 Alexey Proskuryakov 2022-08-21 14:49:42 PDT
The commit message claims that a few more rendering updates "should be benign". Not sure if the count is flaky now, or what the impact on power use is though.
Comment 8 Simon Fraser (smfr) 2022-08-23 08:46:15 PDT
I've been investigating the causes of the extra updates on iOS; haven't nailed it down yet, but it's benign (a few more per animation, not the "update every frame" that the test was designed to detect).
Comment 9 Simon Fraser (smfr) 2022-08-23 15:08:25 PDT
After lots of debugging, I think the iOS difference is due to differences in timer slop, and how we drive rendering updates with UI-side compositing. I did file bug 244276, and I'll adjust the test to call `setSpeculativeTilingDelayDisabledForTesting(true)` to make sure that doesn't introduce flakiness.
Comment 10 Simon Fraser (smfr) 2022-08-23 18:13:52 PDT
Pull request: https://github.com/WebKit/WebKit/pull/3482
Comment 11 Simon Fraser (smfr) 2022-08-24 19:17:57 PDT
Fixed via https://github.com/WebKit/WebKit/pull/3602