WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
163362
REGRESSION (
r207162
): [ios-simulator] LayoutTest platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html became more flaky
https://bugs.webkit.org/show_bug.cgi?id=163362
Summary
REGRESSION (r207162): [ios-simulator] LayoutTest platform/ios-simulator/ios/p...
Ryan Haddad
Reported
2016-10-12 15:13:31 PDT
LayoutTest platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html failing
https://build.webkit.org/results/Apple%20iOS%2010%20Simulator%20Debug%20WK2%20(Tests)/r207162%20(707)/results.html
http://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=platform%2Fios-simulator%2Fios%2Fplugin%2Fyoutube-flash-plugin-iframe.html
--- /Volumes/Data/slave/ios-simulator-10-debug-tests-wk2/build/layout-test-results/platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-expected.txt +++ /Volumes/Data/slave/ios-simulator-10-debug-tests-wk2/build/layout-test-results/platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-actual.txt @@ -2,7 +2,6 @@ Blocked access to external URL
http://www.youtube.com/embed/N0gb9v4LI4o
Blocked access to external URL
http://www.youtube.com/embed/N0gb9v4LI4o?version=3&hl=en_US
Blocked access to external URL
http://www.youtube.com/embed/N0gb9v4LI4o?version=3&hl=en_US
-Blocked access to external URL
http://www.youtube.com/embed/N0gb9v4LI4o
Test transforming youtube flash plugin to youtube iFrame based player. <
rdar://problem/11201356
> On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". @@ -19,8 +18,8 @@ PASS objectEmbedShadowRoot.firstChild.firstChild.tagName is "IFRAME" PASS internals.shadowPseudoId(objectNoEmbedShadowRoot.firstChild) is "-webkit-plugin-replacement" PASS objectNoEmbedShadowRoot.firstChild.firstChild.tagName is "IFRAME" -PASS internals.shadowPseudoId(normalEmbedInIframeShadowRoot.firstChild) is "-webkit-plugin-replacement" -PASS normalEmbedInIframeShadowRoot.firstChild.firstChild.tagName is "IFRAME" +FAIL internals.shadowPseudoId(normalEmbedInIframeShadowRoot.firstChild) should be -webkit-plugin-replacement. Threw exception TypeError: null is not an object (evaluating 'normalEmbedInIframeShadowRoot.firstChild') +FAIL normalEmbedInIframeShadowRoot.firstChild.firstChild.tagName should be IFRAME. Threw exception TypeError: null is not an object (evaluating 'normalEmbedInIframeShadowRoot.firstChild') PASS successfullyParsed is true TEST COMPLETE
Attachments
Patch
(2.39 KB, patch)
2016-12-08 23:34 PST
,
Alex Christensen
achristensen
: review-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Ryan Haddad
Comment 1
2016-10-12 15:14:10 PDT
Flakiness dashboard seems to indicate that this may be fallout from
http://trac.webkit.org/changeset/207162
Ryan Haddad
Comment 2
2016-10-17 16:03:54 PDT
Marked as flaky in
http://trac.webkit.org/projects/webkit/changeset/207440
Alexey Proskuryakov
Comment 3
2016-11-15 11:49:08 PST
Alex, is this something that you are looking into?
Alex Christensen
Comment 4
2016-11-15 12:52:13 PST
Not actively.
Radar WebKit Bug Importer
Comment 5
2016-11-15 13:32:30 PST
<
rdar://problem/29274536
>
Alex Christensen
Comment 6
2016-12-08 23:26:42 PST
I verified that this test works fine for me locally. run-webkit-tests platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html --ios-simulator --iterations=10 --repeat-each=10 I think we should just unskip it. What do you think, Alexey?
Alex Christensen
Comment 7
2016-12-08 23:34:56 PST
Created
attachment 296647
[details]
Patch
Alex Christensen
Comment 8
2016-12-08 23:42:32 PST
Comment on
attachment 296647
[details]
Patch Nope, I can reproduce this about 10% of the time. URLParser enabled or not, doesn't matter. This means it's probably not related to the URLParser being enabled.
Alex Christensen
Comment 9
2016-12-08 23:46:10 PST
I'm not familiar with this test, or why these URLs should be blocked. Dan, what is going on here?
Daniel Bates
Comment 10
2016-12-09 09:51:10 PST
(In reply to
comment #9
)
> I'm not familiar with this test, or why these URLs should be blocked. Dan, > what is going on here?
The "Blocked access to external URL" messages are because we do not allow external connections when running a test in DRT/WKTR. They can be ignored for the purposes of this test.
> +FAIL internals.shadowPseudoId(normalEmbedInIframeShadowRoot.firstChild) should be -webkit-plugin-replacement. Threw exception TypeError: null is not an object (evaluating 'normalEmbedInIframeShadowRoot.firstChild')
This means that that the plugin had not been not replaced by the time we checked. Plugin/plugin replacement loading is asynchronous with respect to the initial parsing of an HTML object/embed. We need to find a better way to know when a plugin/plugin-replacement has loaded.
Daniel Bates
Comment 11
2016-12-09 09:52:10 PST
(In reply to
comment #10
)
> We need to find a better way to know when a plugin/plugin-replacement has loaded.
I meant to write: We need to find a better way to know when a plugin/plugin-replacement has loaded than using a zero timer.
Alexey Proskuryakov
Comment 12
2016-12-09 10:08:01 PST
Checking internal test history, I see this test being flaky on ASan and GuardMalloc bots even in September. Also, WebKit1 was a flaky failure. But debug WK2 bots did indeed see a very sharp increase in flakiness around
r207162
.
Alex Christensen
Comment 13
2016-12-12 12:12:43 PST
Having concluded that this was not related to the URLParser change because of the equal flakiness rate with or without the URLParser, I'm removing myself as the assignee and I do not intend to look into this further.
Alexey Proskuryakov
Comment 14
2016-12-12 12:50:10 PST
Alex and I looked at the flakiness rate, and it has very clearly increased dramatically around
r207162
. There isn't really another change close enough that can be blamed. There were no failures for ~200 revisions before
r207162
. Here is the history around it: 207158 oooo (this revision was tested 4 times, with 4 passes) 207159 o 207160 (this exact revision hasn't been tested) 207161 o 207162 x (tested once, failed) 207163 o (tested once, passed) 207164 xxxxoo (this revision was tested 6 times, with 4 failures and 2 passes) 207165 x 207166 xo 207167 207168 xx 207169 xx
r207161
is a contributors.json change
r207160
is purely a WebKit1 change
r207159
is a change to iOS 9 built apps that could theoretically have a bug, but it just uses standard settings machinery, unlikely to be wrong.
Alexey Proskuryakov
Comment 15
2016-12-12 12:56:54 PST
It seems likely that it's not an obvious outright bug in the URL parser causing this, but some kind of subtle change (perhaps timing), but we still need to make the test work again.
Ryan Haddad
Comment 16
2017-11-29 09:50:59 PST
This test now fails 100% of the time on debug and it is flaky on release. Here is the diff from a release build: --- /Volumes/Data/slave/ios-simulator-11-release-tests-wk2/build/layout-test-results/platform/ios/ios/plugin/youtube-flash-plugin-iframe-expected.txt +++ /Volumes/Data/slave/ios-simulator-11-release-tests-wk2/build/layout-test-results/platform/ios/ios/plugin/youtube-flash-plugin-iframe-actual.txt @@ -15,8 +15,8 @@ PASS document.querySelectorAll("iframe").length is 1 PASS internals.shadowPseudoId(normalEmbedShadowRoot.firstChild) is "-webkit-plugin-replacement" PASS normalEmbedShadowRoot.firstChild.firstChild.tagName is "IFRAME" -PASS internals.shadowPseudoId(objectEmbedShadowRoot.firstChild) is "-webkit-plugin-replacement" -PASS objectEmbedShadowRoot.firstChild.firstChild.tagName is "IFRAME" +FAIL internals.shadowPseudoId(objectEmbedShadowRoot.firstChild) should be -webkit-plugin-replacement. Threw exception TypeError: null is not an object (evaluating 'objectEmbedShadowRoot.firstChild') +FAIL objectEmbedShadowRoot.firstChild.firstChild.tagName should be IFRAME. Threw exception TypeError: null is not an object (evaluating 'objectEmbedShadowRoot.firstChild') PASS internals.shadowPseudoId(objectNoEmbedShadowRoot.firstChild) is "-webkit-plugin-replacement" PASS objectNoEmbedShadowRoot.firstChild.firstChild.tagName is "IFRAME" PASS internals.shadowPseudoId(normalEmbedInIframeShadowRoot.firstChild) is "-webkit-plugin-replacement"
Matt Lewis
Comment 17
2017-12-13 12:55:07 PST
This is still happening as of 12/13/2017 Updated Expectations:
https://trac.webkit.org/changeset/225867/webkit
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug