Bug 187670

Summary: Layout Test media/media-source/media-source-remove.html is flaky crash
Product: WebKit Reporter: Truitt Savell <tsavell>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: ap, eric.carlson, jer.noble, lforschler, realdawei, ryanhaddad
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Mac   
OS: Unspecified   

Description Truitt Savell 2018-07-13 16:09:15 PDT
The following layout test is flaky on Sierra and High Sierra Debug WK2

media/media-source/media-source-remove.html

Probable cause:

Looks like this test has been highly intermittent for a while. Only recorded crashes are on Debug WK2 platforms. looks like in several tests it records media/media-source/media-source-remove-unload-crash.html as the crashing test. 

Flakiness Dashboard:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=media%2Fmedia-source%2Fmedia-source-remove.html

Crash Log:
https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r233813%20(4101)/media/media-source/media-source-remove-crash-log.txt

Crash Excerpt:
VM Regions Near 0xbbadbeef:
--> 
    __TEXT                 0000000108580000-0000000108582000 [    8K] r-x/rwx SM=COW  /Volumes/VOLUME/*/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development

Application Specific Information:
CRASHING TEST: media/media-source/media-source-remove-unload-crash.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000037ced72f0 WTFCrash + 16 (Assertions.cpp:267)
1   com.apple.WebCore             	0x000000036fead27c WebCore::FrameView::didDestroyRenderTree() + 876 (FrameView.cpp:600)
2   com.apple.WebCore             	0x000000036f4ec45e WebCore::Document::destroyRenderTree() + 1214
3   com.apple.WebCore             	0x000000036f4ec730 WebCore::Document::prepareForDestruction() + 624 (Document.cpp:2391)
4   com.apple.WebCore             	0x000000036fea0fd0 WebCore::Frame::setView(WTF::RefPtr<WebCore::FrameView, WTF::DumbPtrTraits<WebCore::FrameView> >&&) + 192 (Frame.cpp:257)
5   com.apple.WebCore             	0x000000036fea50a9 WebCore::Frame::createView(WebCore::IntSize const&, WebCore::Color const&, bool, WebCore::IntSize const&,
Comment 1 Alexey Proskuryakov 2018-07-17 15:40:18 PDT
What assertion is it hitting? The easiest way to tell is by checking stderr output from the test results page.

This may be the same root cause as bug 186946.
Comment 2 Ryan Haddad 2018-07-18 10:24:53 PDT
ASSERTION FAILED: !frame().animation().hasAnimations()
./page/FrameView.cpp(600) : void WebCore::FrameView::didDestroyRenderTree()
1   0x37ced72e9 WTFCrash
2   0x36fead27c WebCore::FrameView::didDestroyRenderTree()
3   0x36f4ec45e WebCore::Document::destroyRenderTree()
4   0x36f4ec730 WebCore::Document::prepareForDestruction()
5   0x36fea0fd0 WebCore::Frame::setView(WTF::RefPtr<WebCore::FrameView, WTF::DumbPtrTraits<WebCore::FrameView> >&&)
6   0x36fea50a9 WebCore::Frame::createView(WebCore::IntSize const&, WebCore::Color const&, bool, WebCore::IntSize const&, WebCore::IntRect const&, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool)
7   0x368a113da WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage()
8   0x36fcea87f WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage*)
9   0x36fce98a9 WebCore::FrameLoader::commitProvisionalLoad()
10  0x36fc9214c WebCore::DocumentLoader::commitIfReady()
11  0x36fc924b2 WebCore::DocumentLoader::finishedLoading()
12  0x36fc9c529 WebCore::DocumentLoader::maybeLoadEmpty()
13  0x36fc9c6e8 WebCore::DocumentLoader::startLoadingMainResource(WebCore::ShouldContinue)
14  0x36fd08c3c WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, WebCore::ShouldContinue, WebCore::AllowNavigationToInvalidURL)::$_14::operator()() const
15  0x36fd088d9 WTF::Function<void ()>::CallableWrapper<WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, WebCore::ShouldContinue, WebCore::AllowNavigationToInvalidURL)::$_14>::call()
16  0x36d739dfb WTF::Function<void ()>::operator()() const
17  0x36eaad825 WTF::CompletionHandler<void ()>::operator()() const
18  0x36fce7927 WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, WebCore::ShouldContinue, WebCore::AllowNavigationToInvalidURL)
19  0x36fd05b65 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::RefPtr<WebCore::FormState, WTF::DumbPtrTraits<WebCore::FormState> >&&, WebCore::AllowNavigationToInvalidURL, WebCore::ShouldTreatAsContinuingLoad, WTF::CompletionHandler<void ()>&&)::$_9::operator()(WebCore::ResourceRequest const&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue) const
20  0x36fd05a45 WTF::Function<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue)>::CallableWrapper<WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::RefPtr<WebCore::FormState, WTF::DumbPtrTraits<WebCore::FormState> >&&, WebCore::AllowNavigationToInvalidURL, WebCore::ShouldTreatAsContinuingLoad, WTF::CompletionHandler<void ()>&&)::$_9>::call(WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue)
21  0x36fd48649 WTF::Function<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue)>::operator()(WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue) const
22  0x36fd385c6 WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue)>::operator()(WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue) const
23  0x36fd4a7fb WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WebCore::DocumentLoader*, WTF::RefPtr<WebCore::FormState, WTF::DumbPtrTraits<WebCore::FormState> >&&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue)>&&, WebCore::PolicyDecisionMode)::$_2::operator()(WebCore::PolicyAction)
24  0x36fd4a3ba WTF::Function<void (WebCore::PolicyAction)>::CallableWrapper<WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WebCore::DocumentLoader*, WTF::RefPtr<WebCore::FormState, WTF::DumbPtrTraits<WebCore::FormState> >&&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue)>&&, WebCore::PolicyDecisionMode)::$_2>::call(WebCore::PolicyAction)
25  0x368199ab1 WTF::Function<void (WebCore::PolicyAction)>::operator()(WebCore::PolicyAction) const
26  0x368a0cbe1 WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&, WebCore::ResourceRequest const&, WebCore::ResourceResponse const&, WebCore::FormState*, WebCore::PolicyDecisionMode, WTF::Function<void (WebCore::PolicyAction)>&&)
27  0x36fd382a5 WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WebCore::DocumentLoader*, WTF::RefPtr<WebCore::FormState, WTF::DumbPtrTraits<WebCore::FormState> >&&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState>&&, WebCore::ShouldContinue)>&&, WebCore::PolicyDecisionMode)
28  0x36fce70d1 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::RefPtr<WebCore::FormState, WTF::DumbPtrTraits<WebCore::FormState> >&&, WebCore::AllowNavigationToInvalidURL, WebCore::ShouldTreatAsContinuingLoad, WTF::CompletionHandler<void ()>&&)
29  0x36fce33bf WebCore::FrameLoader::load(WebCore::DocumentLoader*)
30  0x36fce6358 WebCore::FrameLoader::load(WebCore::FrameLoadRequest&&)
31  0x370994310 WebCore::UserInputBridge::loadRequest(WebCore::FrameLoadRequest&&, WebCore::InputSource)
LEAK: 1 WebPageProxy

*** This bug has been marked as a duplicate of bug 186946 ***