Bug 168054 - REGRESSION (r211845): [ios-simulator] LayoutTest compositing/masks/solid-color-masked.html is a flaky failure
Summary: REGRESSION (r211845): [ios-simulator] LayoutTest compositing/masks/solid-colo...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-02-09 10:21 PST by Ryan Haddad
Modified: 2017-04-13 10:30 PDT (History)
4 users (show)

See Also:


Attachments
Patch (5.42 KB, patch)
2017-02-10 17:49 PST, Simon Fraser (smfr)
thorton: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Ryan Haddad 2017-02-09 12:05:20 PST
Flakiness dashboard suggests that this started with https://trac.webkit.org/changeset/211845
Comment 2 Simon Fraser (smfr) 2017-02-09 12:19:22 PST
I have a hunch about what the problem is here.
Comment 3 Ryan Haddad 2017-02-10 10:03:43 PST
Marked test as failing in http://trac.webkit.org/projects/webkit/changeset/212123
Comment 4 Simon Fraser (smfr) 2017-02-10 15:17:28 PST
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
Comment 5 Simon Fraser (smfr) 2017-02-10 16:32:39 PST
Ah, i can reproduce this on first MobileSafari launch.
Comment 6 Simon Fraser (smfr) 2017-02-10 16:47:21 PST
Ah, we never run the code at the top of GraphicsLayerCA::recursiveCommitChanges() for mask layers.
Comment 7 Simon Fraser (smfr) 2017-02-10 17:05:22 PST
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.
Comment 8 Radar WebKit Bug Importer 2017-02-10 17:45:29 PST
<rdar://problem/30476807>
Comment 9 Simon Fraser (smfr) 2017-02-10 17:49:49 PST
Created attachment 301228 [details]
Patch
Comment 10 Simon Fraser (smfr) 2017-02-10 18:32:24 PST
https://trac.webkit.org/r212172
Comment 11 Jonathan Bedard 2017-04-13 10:30:17 PDT
Someone forgot to remove this test expectation.

Removed in https://trac.webkit.org/r215324.