Bug 161547

Summary: REGRESSION: [mac-wk2 debug] LayoutTest tiled-drawing/scrolling/fixed/four-bars-zoomed.html is a flaky failure
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: WebKit Misc.Assignee: Simon Fraser (smfr) <simon.fraser>
Status: NEW ---    
Severity: Normal CC: ap, jonlee, simon.fraser, 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=105223

Description Ryan Haddad 2016-09-02 13:57:57 PDT
LayoutTest tiled-drawing/scrolling/fixed/four-bars-zoomed.html is a flaky failure

This test is a flaky failure on mac-wk2 debug bots

https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20WK2%20(Tests)/builds/14759

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=tiled-drawing%2Fscrolling%2Ffixed%2Ffour-bars-zoomed.html

--- /Volumes/Data/slave/yosemite-debug-tests-wk2/build/layout-test-results/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt
+++ /Volumes/Data/slave/yosemite-debug-tests-wk2/build/layout-test-results/tiled-drawing/scrolling/fixed/four-bars-zoomed-actual.txt
@@ -43,9 +43,9 @@
       (coverage rect 0.00, 0.00 341.30 x 254.35)
       (intersects coverage rect 1)
       (contentsScale 2.30)
-      (tile cache coverage 0, 0 341 x 445)
-      (tile size 785 x 512)
-      (top left tile 0, 0 tiles grid 1 x 2)
+      (tile cache coverage 0, 0 445 x 445)
+      (tile size 512 x 512)
+      (top left tile 0, 0 tiles grid 2 x 2)
       (children 4
         (GraphicsLayer
           (position -4.00 -4.00)
Comment 1 Ryan Haddad 2016-09-07 13:06:19 PDT
First failure according to the dashboard is ~r204892, but that change itself seems unrelated.
Comment 2 Alexey Proskuryakov 2016-09-08 13:54:45 PDT
<rdar://problem/28213422>
Comment 3 Ryan Haddad 2016-09-09 12:04:38 PDT
Marked test as flaky in http://trac.webkit.org/projects/webkit/changeset/205758
Comment 4 Alexey Proskuryakov 2016-09-20 22:44:08 PDT
I can reproduce this 100% by simply running the test alone:

run-webkit-tests LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed.html

Or, it reproduces 50 times like this:

run-webkit-tests LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed.html --repeat 50 --no-retry -v --run-singly
Comment 5 Alexey Proskuryakov 2016-09-20 22:44:51 PDT
The test has a 10 ms timer, which is never good in regression tests.
Comment 6 Alexey Proskuryakov 2016-09-20 22:50:20 PDT
And if I change the timeout to 1000 ms, then the results are different yet.

Simon, is logging tile sizes meaningful at all? Are there any common techniques for deflaking tests of this kind?
Comment 7 Simon Fraser (smfr) 2016-09-21 08:40:45 PDT
Seems like the test is racing with the tile-size timer. I wonder if we could turn off dumping of the tile caches for this test.