Bug 156983 - media/video-fullscreen-restriction-removed.html is flaky on Mac
Summary: media/video-fullscreen-restriction-removed.html is flaky on Mac
Status: REOPENED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Eric Carlson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-25 09:24 PDT by Ryan Haddad
Modified: 2022-12-07 00:51 PST (History)
5 users (show)

See Also:


Attachments
Proposed patch. (3.03 KB, patch)
2016-04-26 10:50 PDT, Eric Carlson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2016-04-25 09:24:41 PDT
media/video-fullscreen-restriction-removed.html is flaky on Mac

Test seems to have been flaky since added with <http://trac.webkit.org/changeset/199667>

Most recent failure:
<https://build.webkit.org/builders/Apple%20El%20Capitan%20Debug%20WK1%20(Tests)/builds/4673>

Flakiness dashboard:
<https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=media%2Fvideo-fullscreen-restriction-removed.html>

--- /Volumes/Data/slave/elcapitan-debug-tests-wk1/build/layout-test-results/media/video-fullscreen-restriction-removed-expected.txt
+++ /Volumes/Data/slave/elcapitan-debug-tests-wk1/build/layout-test-results/media/video-fullscreen-restriction-removed-actual.txt
@@ -1,6 +1,6 @@
 Test that "fullscreen requires user gesture restriction" is removed by a user gesture.
 
-Click me!
+  Click me!
 RUN(internals.settings.setAllowsInlineMediaPlayback(false))
 RUN(internals.setMediaElementRestrictions(video, "RequireUserGestureForFullscreen"))
 * set video.src
@@ -18,8 +18,6 @@
 EXPECTED (video.paused == 'true') OK
 RUN(video.play())
 
-EVENT(webkitfullscreenchange)
-EXPECTED (video.paused == 'false') OK
-
+FAIL: did not end fast enough
 END OF TEST
Comment 1 Ryan Haddad 2016-04-25 09:27:08 PDT
Marked test as flaky in <http://trac.webkit.org/projects/webkit/changeset/200029>
Comment 2 Eric Carlson 2016-04-26 10:50:20 PDT
Created attachment 277399 [details]
Proposed patch.
Comment 3 WebKit Commit Bot 2016-04-27 11:57:28 PDT
Comment on attachment 277399 [details]
Proposed patch.

Clearing flags on attachment: 277399

Committed r200137: <http://trac.webkit.org/changeset/200137>
Comment 4 WebKit Commit Bot 2016-04-27 11:57:32 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Ms2ger (he/him; ⌚ UTC+1/+2) 2017-08-14 02:07:52 PDT
The expectation removed in r200137 is not the one added in r200029; the latter is still present.
Comment 6 Kimmo Kinnunen 2022-12-06 22:40:05 PST
Reparable with:

run-webkit-tests --debug --no-build  --iterations 100  $(find LayoutTests/media -iname '*fullscreen*.html')       

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   JavaScriptCore                	       0x134c84b98 WTFCrash + 24 (Assertions.cpp:327)
1   WebKit                        	       0x11715b584 WTFCrashWithInfo(int, char const*, char const*, int) + 36 (Assertions.h:754)
2   WebKit                        	       0x1191da338 WebKit::WebFullScreenManager::willExitFullScreen() + 204 (WebFullScreenManager.cpp:293)
3   WebKit                        	       0x1194e7fec WKBundlePageWillExitFullScreen + 36 (WKBundlePage.cpp:151)
4   WebKitTestRunnerInjectedBundle	       0x1030d61f4 WTR::InjectedBundlePage::exitFullScreenForElement(OpaqueWKBundleNodeHandle const*) + 204 (InjectedBundlePage.cpp:1591)
5   WebKitTestRunnerInjectedBundle	       0x1030cf294 WTR::InjectedBundlePage::exitFullScreenForElement(OpaqueWKBundlePage const*, OpaqueWKBundleNodeHandle const*) + 168 (InjectedBundlePage.cpp:1577)
6   WebKit                        	       0x1194d7478 WebKit::InjectedBundlePageFullScreenClient::exitFullScreenForElement(WebKit::WebPage*, WebCore::Element*) + 120 (InjectedBundlePageFullScreenClient.cpp:67)
7   WebKit                        	       0x1191d9874 WebKit::WebFullScreenManager::exitFullScreenForElement(WebCore::Element*) + 176 (WebFullScreenManager.cpp:208)
8   WebKit                        	       0x1196d6088 WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad() + 196 (WebFrameLoaderClient.cpp:528)
9   WebCore                       	       0x284469e14 WebCore::FrameLoader::prepareForLoadStart() + 360 (FrameLoader.cpp:1257)
10  WebCore                       	       0x2844a6e70 WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, WebCore::NavigationPolicyDecision, WebCore::AllowNavigationToInvalidURL)::$_11::operator()() + 336 (FrameLoader.cpp:3667)
11  WebCore                       	       0x2844a6c44 WTF::Detail::CallableWrapper<WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, WebCore::NavigationPolicyDecision, WebCore::AllowNavigationToInvalidURL)::$_11, void>::call() + 32 (Function.h:53)
12  WebCore                       	       0x282b21ad4 WTF::Function<void ()>::operator()() const + 172 (Function.h:82)
13  WebCore                       	       0x280085760 WTF::CompletionHandler<void ()>::operator()() + 136 (CompletionHandler.h:75)
14  WebCore                       	       0x28446ee84 WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, WebCore::NavigationPolicyDecision, WebCore::AllowNavigationToInvalidURL) + 2532 (FrameLoader.cpp:3688)
15  WebCore                       	       0x2844a3628 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::RefPtr<WebCore::FormState, WTF::RawPtrTraits<WebCore::FormState>, WTF::DefaultRefDerefTraits<WebCore::FormState> >&&, WebCore::AllowNavigationToInvalidURL, WTF::CompletionHandler<void ()>&&)::$_8::operator()(WebCore::ResourceRequest const&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision) + 96 (FrameLoader.cpp:1683)
16  WebCore                       	       0x2844a34c8 WTF::Detail::CallableWrapper<WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::RefPtr<WebCore::FormState, WTF::RawPtrTraits<WebCore::FormState>, WTF::DefaultRefDerefTraits<WebCore::FormState> >&&, WebCore::AllowNavigationToInvalidURL, WTF::CompletionHandler<void ()>&&)::$_8, void, WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision>::call(WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision) + 108 (Function.h:53)
17  WebCore                       	       0x2844e24d0 WTF::Function<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision)>::operator()(WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision) const + 240 (Function.h:82)
18  WebCore                       	       0x2844cc83c WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision)>::operator()(WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision) + 196 (CompletionHandler.h:75)
19  WebCore                       	       0x2844e54b4 WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WebCore::DocumentLoader*, WTF::RefPtr<WebCore::FormState, WTF::RawPtrTraits<WebCore::FormState>, WTF::DefaultRefDerefTraits<WebCore::FormState> >&&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision)>&&, WebCore::PolicyDecisionMode)::$_7::operator()(WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::LocalPolicyCheckIdentifierType> >) + 2244 (PolicyChecker.cpp:232)
20  WebCore                       	       0x2844e4aa0 WTF::Detail::CallableWrapper<WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WebCore::DocumentLoader*, WTF::RefPtr<WebCore::FormState, WTF::RawPtrTraits<WebCore::FormState>, WTF::DefaultRefDerefTraits<WebCore::FormState> >&&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision)>&&, WebCore::PolicyDecisionMode)::$_7, void, WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::LocalPolicyCheckIdentifierType> > >::call(WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::LocalPolicyCheckIdentifierType> >) + 108 (Function.h:53)
21  WebKit                        	       0x1196d9d1c WTF::Function<void (WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::LocalPolicyCheckIdentifierType> >)>::operator()(WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::LocalPolicyCheckIdentifierType> >) const + 240 (Function.h:82)
22  WebKit                        	       0x1197ed1d8 WebKit::WebFrame::didReceivePolicyDecision(unsigned long long, WebKit::PolicyDecision&&) + 848 (WebFrame.cpp:304)
23  WebKit                        	       0x119a64f3c WebKit::WebPage::didReceivePolicyDecision(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&) + 396 (WebPage.cpp:3700)
24  WebKit                        	       0x119b42e70 auto void IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision> >(WebKit::WebPage*, void (WebKit::WebPage::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>&&)::'lambda'(auto&&...)::operator()<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>(auto&&...) const + 248 (HandleMessage.h:133)
25  WebKit                        	       0x119b42cec decltype(static_cast<WebKit::WebPage>(fp)(static_cast<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >>(fp0), static_cast<unsigned long long>(fp0), static_cast<WebKit::PolicyDecision>(fp0))) std::__1::__invoke_constexpr<void IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision> >(WebKit::WebPage*, void (WebKit::WebPage::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>&&)::'lambda'(auto&&...), WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>(WebKit::WebPage&&, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >&&, unsigned long long&&, WebKit::PolicyDecision&&) + 52 (type_traits:3924)
26  WebKit                        	       0x119b42c98 decltype(auto) std::__1::__apply_tuple_impl<void IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision> >(WebKit::WebPage*, void (WebKit::WebPage::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>, 0ul, 1ul, 2ul>(WebKit::WebPage&&, WebKit::WebPage&&, std::__1::__tuple_indices<0ul, 1ul, 2ul>) + 100 (tuple:1536)
27  WebKit                        	       0x119b42c28 decltype(auto) std::__1::apply<void IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision> >(WebKit::WebPage*, void (WebKit::WebPage::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision> >(WebKit::WebPage&&, WebKit::WebPage&&) + 56 (tuple:1545)
28  WebKit                        	       0x119b3fa9c void IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision> >(WebKit::WebPage*, void (WebKit::WebPage::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision>&&) + 92 (HandleMessage.h:131)
29  WebKit                        	       0x119ae4f3c void IPC::handleMessage<Messages::WebPage::DidReceivePolicyDecision, WebKit::WebPage, WebKit::WebPage, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, unsigned long long, WebKit::PolicyDecision&&)) + 232 (HandleMessage.h:213)
30  WebKit                        	       0x119adc1ec WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&) + 10756 (WebPageMessageReceiver.cpp:721)
31  WebKit                        	       0x119a6e7cc WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 416 (WebPage.cpp:5443)
32  WebKit                        	       0x11a0ae740 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 472 (MessageReceiverMap.cpp:129)
33  WebKit                        	       0x11914ceb4 WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 52 (WebProcess.cpp:915)
34  WebKit                        	       0x11a0819d4 IPC::Connection::dispatchMessage(IPC::Decoder&) + 652 (Connection.cpp:1179)
35  WebKit                        	       0x11a081e68 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 636 (Connection.cpp:1223)
36  WebKit                        	       0x11a0821c0 IPC::Connection::dispatchOneIncomingMessage() + 188 (Connection.cpp:1284)
37  WebKit                        	       0x11a0a0fdc IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_17::operator()() const + 32 (Connection.cpp:1141)
38  WebKit                        	       0x11a0a0ef4 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_17, void>::call() + 32 (Function.h:53)
39  JavaScriptCore                	       0x13
Comment 7 Kimmo Kinnunen 2022-12-07 00:51:59 PST
This recent commit fixes the above assertion failure:
https://github.com/WebKit/WebKit/commit/0dc90f513149b730dd704f1e19f97bebcc6da750