Issue metadata
Sign in to add a comment
|
Layout test plugins/iframe-plugin-bgcolor.html is flaky on Win and Mac |
||||||||||||||||||||
Issue descriptionplugins/iframe-plugin-bgcolor.html flaky on chromium.webkit/WebKit Mac10.11 (dbg) Builders failed on: - WebKit Mac10.11 (dbg): First flake: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.12/builds/4421 Suspecting: https://chromium.googlesource.com/chromium/src/+/8c78e51eefd44cc3514c50fce94d180df184fea9
,
Jul 14 2017
Looking closer at the error it's probably unrelated to GPU. This test flakily doesn't log the following console error on Mac. --- /b/rr/tmpQay1AL/w/layout-test-results/plugins/iframe-plugin-bgcolor-expected.txt +++ /b/rr/tmpQay1AL/w/layout-test-results/plugins/iframe-plugin-bgcolor-actual.txt @@ -1,4 +1,3 @@ -CONSOLE MESSAGE: Blink Test Plugin: initializing layer at (0,0) size 800x600 LayoutView at (0,0) size 800x600 layer at (0,0) size 800x170
,
Jul 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d1b316449804b72b5084b8f26d7f413d42558227 commit d1b316449804b72b5084b8f26d7f413d42558227 Author: Alan Cutter <alancutter@chromium.org> Date: Fri Jul 14 04:56:48 2017 Mark plugins/iframe-plugin-bgcolor.html as flaky on Mac TBR: thakis@chromium.org Bug: 742670 Change-Id: I3e6bfb0d990f36c5643f3f766d63a0dae0c243c3 Reviewed-on: https://chromium-review.googlesource.com/571538 Reviewed-by: Alan Cutter <alancutter@chromium.org> Commit-Queue: Alan Cutter <alancutter@chromium.org> Cr-Commit-Position: refs/heads/master@{#486679} [modify] https://crrev.com/d1b316449804b72b5084b8f26d7f413d42558227/third_party/WebKit/LayoutTests/TestExpectations
,
Jul 14 2017
I don't know anything about this test.
,
Jul 14 2017
I think thakis@ was added based on blame lines in the file, but that was from 2011. I suspect that alancutter won't be looking at this. dcheng, do you know who might be good to look at flaky layout test?
,
Jul 17 2017
Specifically what's happening with this test is that usually the plugin iframe bg color is dark gray, and sometimes it's black. https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Win7/53916/layout-test-results/plugins/iframe-plugin-bgcolor-expected.png https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Win7/53916/layout-test-results/plugins/iframe-plugin-bgcolor-actual.png The reason why it's supposed to be gray is because of a line that thakis added in 2011, but there hasn't been much change to WebKit/core/html/PluginDocument.cpp since then. Taking this off Sheriff queue since there's nothing immediately to do here. Maybe the flakiness is some sort of timing issue where the background color hasn't been applied when the test is considered done sometimes? +CC joelhocky since Joel recently worked on the plugin-related code and might know someone who might be interested in investigating this?
,
Jul 17 2017
This definitely didn't use to be flaky. I'll try to take a look after branch point.
,
Jul 17 2017
Adding in Noel, who I believe first wrote this test.
,
Jul 17 2017
Sorry Noel, I was thinking of the no-focus-ring-embed test that you wrote. This is unrelated.
,
Jul 18 2017
Same problem reported in issue 736333 (but for Win) by the looks. #2 -CONSOLE MESSAGE: Blink Test Plugin: initializing, It's like the plugin is not loaded when the test ends.
,
Jul 18 2017
I have been able to replicate the flaky behavior going back to early May. (I can't get 'gclient sync' to work earlier than that). I don't think anything has changed recently in the plugin, or paint code to cause these flakes. I'm surprised this test did not show up as flaky years ago, or at least since the test changed to use blink-test-plugin. I suspect that we are currently seeing flakes due to this test taking longer to run, possibly when layout tests started to be sharded. When a plugin loads as an iframe, as per this test, it appears that the following things happen: 1/ The background color of the iframe is set. PluginDocument.cpp sets this to rgb(38,38,38). 2/ The plugin loads and sets the background to black. 3/ The plugin paints a checkerboard pattern. It seems that the test has been relying on the test completing at step 1. In the flaky failures, we see examples of both 2 and 3. I am able to replicate the flaky behavior by running the single layout test to see the failures and running the test as part of all 'plugin' tests where it succeeds. I get this on HEAD and also on code going back to start of May. failure when run as single test: third_party/WebKit/Tools/Scripts/run-webkit-tests -t Default third_party/WebKit/LayoutTests/plugins/iframe-plugin-bgcolor.html success when run with all 75 plugin tests: third_party/WebKit/Tools/Scripts/run-webkit-tests -t Default pluginsthird_party/WebKit/LayoutTests/plugins I think that if we want to get this test working, then we need to change the blink-test-plugin to have some transparency rather than total checkerboard pattern, and then change the test to always wait for the plugin to load and paint completely.
,
Jul 18 2017
Thanks joelhockey@ for looking into this! In order to control the time when the test finishes, one approach used by some tests is to use testRunner.waitUntilDone() and testRunner.notifyDone(). If there's some event that we can wait for that indicates the plugin is finished initializing, then this could be added. Example test that uses notifyDone: https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
,
Jul 18 2017
The test plugin's code is in https://cs.chromium.org/chromium/src/ppapi/tests/blink_test_plugin.cc?type=cs&q=blink_test_plugin&sq=package:chromium&l=135 -- we could certainly make it paint transparently. Detecting the paint is a bit harder. As the <iframe> itself is a plugin document in this test case, we can't use the post message hooks that the plugin itself exposes (IIRC, it post messages to the <embed> element, and there's no reachable embed element in this case--it's internal to the special PluginDocument). Traditionally, we've used startAfterLoadAndFinish() as a hack instead, relying on internal implementation details so that we can assume we painted.
,
Jul 31 2017
,
Dec 19
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/825926d301743f87f66b3dc5884d084a9b52e3d1 commit 825926d301743f87f66b3dc5884d084a9b52e3d1 Author: Xianzhu Wang <wangxianzhu@chromium.org> Date: Wed Dec 19 22:01:39 2018 Update test expectations of several plugin tests - plugins/mouse-click-plugin-clears-selection.html combine the platform entries. - plugins/iframe-plugin-bgcolor.html combine the platform entries and use the correct bug number. - plugins/fullscreen-plugins-dont-reload.html unskip to ensure test coverage, and add entry in LeakTests TBR=kpaulhamus@chromium.org,dcheng@chromium.org Bug: 838354 ,676229,742670 Change-Id: I9d3fc173d02c2f2835a633e2984b7588f40b2ec7 Reviewed-on: https://chromium-review.googlesource.com/c/1385014 Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org> Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#617971} [modify] https://crrev.com/825926d301743f87f66b3dc5884d084a9b52e3d1/third_party/blink/web_tests/LeakExpectations [modify] https://crrev.com/825926d301743f87f66b3dc5884d084a9b52e3d1/third_party/blink/web_tests/TestExpectations |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by alancutter@chromium.org
, Jul 14 2017