[ios-simulator] LayoutTest compositing/masks/solid-color-masked.html is a flaky failure https://build.webkit.org/results/Apple%20iOS%2010%20Simulator%20Release%20WK2%20(Tests)/r211961%20(3594)/results.html https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=compositing%2Fmasks%2Fsolid-color-masked.html Direct link to images and diff: https://build.webkit.org/results/Apple%20iOS%2010%20Simulator%20Release%20WK2%20(Tests)/r211961%20(3594)/compositing/masks/solid-color-masked-diffs.html
Flakiness dashboard suggests that this started with https://trac.webkit.org/changeset/211845
I have a hunch about what the problem is here.
Marked test as failing in http://trac.webkit.org/projects/webkit/changeset/212123
I get: 463$ $ wktests --debug --ios-simulator LayoutTests/compositing/masks/ --iterations=10 Using port 'ios-simulator' Test configuration: <, x86_64, debug> Placing test results in /Volumes/Data/Development/OSX/webkit/OpenSource/WebKitBuild/Debug-iphonesimulator/layout-test-results Baseline search path: platform/ios-simulator-wk2 -> platform/ios-simulator -> platform/wk2 -> generic Using Debug build Pixel tests disabled Regular timeout: 30000, slow test timeout: 150000 Command line: /Volumes/Data/Development/OSX/webkit/OpenSource/WebKitBuild/Debug-iphonesimulator/WebKitTestRunnerApp.app - Found 20 tests; running 18 (10 times each: --repeat-each=1 --iterations=10), skipping 2. Running 18 tests This machine could support 12 simulators, but is only configured for 2. Please see <https://trac.webkit.org/wiki/IncreasingKernelLimits>. Running 1 WebKitTestRunnerApp.app. [16/180] compositing/masks/solid-color-masked.html passed unexpectedly [34/180] compositing/masks/solid-color-masked.html passed unexpectedly [52/180] compositing/masks/solid-color-masked.html passed unexpectedly [70/180] compositing/masks/solid-color-masked.html passed unexpectedly [88/180] compositing/masks/solid-color-masked.html passed unexpectedly [106/180] compositing/masks/solid-color-masked.html passed unexpectedly [124/180] compositing/masks/solid-color-masked.html passed unexpectedly [142/180] compositing/masks/solid-color-masked.html passed unexpectedly [160/180] compositing/masks/solid-color-masked.html passed unexpectedly [178/180] compositing/masks/solid-color-masked.html passed unexpectedly stopping WebKitTestRunnerApp.app(pid 15605) timed out, killing it 170 tests ran as expected, 10 didn't: Expected to fail, but passed: (1) compositing/masks/solid-color-masked.html
Ah, i can reproduce this on first MobileSafari launch.
Ah, we never run the code at the top of GraphicsLayerCA::recursiveCommitChanges() for mask layers.
Actually GraphicsLayerCA::setVisibleAndCoverageRects() copies the m_intersectsCoverageRect flag to the mask layer. The bug happens when GraphicsLayerCA::setVisibleAndCoverageRects() is called for the masked layer before it has a mask. After than, assigning the mask doesn't ever update the mask's m_intersectsCoverageRect.
<rdar://problem/30476807>
Created attachment 301228 [details] Patch
https://trac.webkit.org/r212172
Someone forgot to remove this test expectation. Removed in https://trac.webkit.org/r215324.