Bug 232446

Summary: [ Catalina Debug wk1 EWS ] ASSERTION FAILED: m_wrapper on media/track/track-element-dom-change-crash.html
Product: WebKit Reporter: Eric Hutchison <ehutchison>
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: ayumi_kojima, cdumez, cjerdonek, ehutchison, eric.carlson, hi, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=232585
Attachments:
Description Flags
Crash Log
none
Test list none

Description Eric Hutchison 2021-10-28 11:47:55 PDT
Created attachment 442725 [details]
Crash Log

media/track/track-element-dom-change-crash.html

is a flaky crash on Catalina Debug wk1 EWS. This test failure has only been seen on EWS to date.

History: https://results.webkit.org/?suite=layout-tests&test=media/track/track-element-dom-change-crash.html

Build: https://ews-build.webkit.org/#/builders/56/builds/18584; first seen on https://ews-build.webkit.org/#/builders/56/builds/18444

Results: https://ews-build.s3-us-west-2.amazonaws.com/macOS-Catalina-Debug-WK1-Tests-EWS/r442706-18584/results.html

Crash Log (attached): https://ews-build.s3-us-west-2.amazonaws.com/macOS-Catalina-Debug-WK1-Tests-EWS/r442706-18584/media/track/track-element-dom-change-crash-crash-log.txt

Application Specific Information:
CRASHING TEST: media/track/track-element-dom-change-crash.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000010622dc4e WTFCrash + 14 (Assertions.cpp:321)
1   com.apple.WebCore             	0x0000000127d582fb WTFCrashWithInfo(int, char const*, char const*, int) + 27
2   com.apple.WebCore             	0x000000012a992dbf WebCore::JSEventListener::ensureJSFunction(WebCore::ScriptExecutionContext&) const + 639
3   com.apple.WebCore             	0x000000012a9920b4 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 212
4   com.apple.WebCore             	0x000000012b21a257 WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&, WTF::Vector<WTF::RefPtr<WebCore::RegisteredEventListener, WTF::RawPtrTraits<WebCore::RegisteredEventListener>, WTF::DefaultRefDerefTraits<WebCore::RegisteredEventListener> >, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WebCore::EventTarget::EventInvokePhase) + 1063
5   com.apple.WebCore             	0x000000012b219cb4 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) + 356
6   com.apple.WebCore             	0x000000012b1e95da WebCore::EventContext::handleLocalEvents(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) const + 938
7   com.apple.WebCore             	0x000000012b210755 WebCore::dispatchEventInDOM(WebCore::Event&, WebCore::EventPath const&) + 149
8   com.apple.WebCore             	0x000000012b20ffce WebCore::EventDispatcher::dispatchEvent(WebCore::Node&, WebCore::Event&) + 1134
9   com.apple.WebCore             	0x000000012b2b2e6d WebCore::Node::dispatchEvent(WebCore::Event&) + 29
10  com.apple.WebCore             	0x000000012b7d18b7 WebCore::HTMLTrackElement::didCompleteLoad(WebCore::HTMLTrackElement::LoadStatus) + 135
11  com.apple.WebCore             	0x000000012ba74445 WebCore::LoadableTextTrack::scheduleLoad(WTF::URL const&)::$_1::operator()() + 309
12  com.apple.WebCore             	0x000000012ba742be WTF::Detail::CallableWrapper<WebCore::LoadableTextTrack::scheduleLoad(WTF::URL const&)::$_1, void>::call() + 30
13  com.apple.WebCore             	0x0000000127d71202 WTF::Function<void ()>::operator()() const + 130 (Function.h:82)
14  com.apple.WebCore             	0x000000012b7e17c5 WebCore::HTMLTrackElement::scheduleTask(WTF::Function<void ()>&&)::$_3::operator()() + 21
15  com.apple.WebCore             	0x000000012b7e16fe WTF::Detail::CallableWrapper<WebCore::HTMLTrackElement::scheduleTask(WTF::Function<void ()>&&)::$_3, void>::call() + 30
16  com.apple.WebCore             	0x0000000127d71202 WTF::Function<void ()>::operator()() const + 130 (Function.h:82)
17  com.apple.WebCore             	0x000000012b7e0f1e void WebCore::ActiveDOMObject::queueTaskKeepingObjectAlive<WebCore::HTMLTrackElement>(WebCore::HTMLTrackElement&, WebCore::TaskSource, WTF::Function<void ()>&&)::'lambda'()::operator()() const + 30
18  com.apple.WebCore             	0x000000012b7e0b6e WTF::Detail::CallableWrapper<void WebCore::ActiveDOMObject::queueTaskKeepingObjectAlive<WebCore::HTMLTrackElement>(WebCore::HTMLTrackElement&, WebCore::TaskSource, WTF::Function<void ()>&&)::'lambda'(), void>::call() + 30
19  com.apple.WebCore             	0x0000000127d71202 WTF::Function<void ()>::operator()() const + 130 (Function.h:82)
20  com.apple.WebCore             	0x000000012b21defe WebCore::EventLoopFunctionDispatchTask::execute() + 30
21  com.apple.WebCore             	0x000000012b213655 WebCore::EventLoop::run() + 373
22  com.apple.WebCore             	0x000000012b3ba8cc WebCore::WindowEventLoop::didReachTimeToRun() + 44
23  com.apple.WebCore             	0x000000012b3bdd47 decltype(*(std::__1::forward<WebCore::WindowEventLoop*&>(fp0)).*fp()) std::__1::__invoke<void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*&, void>(void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*&) + 119
24  com.apple.WebCore             	0x000000012b3bdcc0 std::__1::__bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<>, __is_valid_bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, 0ul, std::__1::tuple<> >(void (WebCore::WindowEventLoop::*&)(), std::__1::tuple<WebCore::WindowEventLoop*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&) + 64
25  com.apple.WebCore             	0x000000012b3bdc79 std::__1::__bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<>, __is_valid_bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*>::operator()<>() + 41
26  com.apple.WebCore             	0x000000012b3bdbfe WTF::Detail::CallableWrapper<std::__1::__bind<void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*>, void>::call() + 30
27  com.apple.WebCore             	0x0000000127d71202 WTF::Function<void ()>::operator()() const + 130 (Function.h:82)
28  com.apple.WebCore             	0x0000000127d9ae8e WebCore::Timer::fired() + 30
29  com.apple.WebCore             	0x000000012c411b04 WebCore::ThreadTimers::sharedTimerFiredInternal() + 708
30  com.apple.WebCore             	0x000000012c41ecf1 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const + 33
31  com.apple.WebCore             	0x000000012c41ec7e WTF::Detail::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void>::call() + 30
32  com.apple.WebCore             	0x0000000127d71202 WTF::Function<void ()>::operator()() const + 130 (Function.h:82)
33  com.apple.WebCore             	0x000000012c3b842b WebCore::MainThreadSharedTimer::fired() + 139
34  com.apple.WebCore             	0x000000012c4a5db6 WebCore::timerFired(__CFRunLoopTimer*, void*) + 38
35  com.apple.CoreFoundation      	0x00007fff336c0468 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
36  com.apple.CoreFoundation      	0x00007fff336bffce __CFRunLoopDoTimer + 872
37  com.apple.CoreFoundation      	0x00007fff336bfab9 __CFRunLoopDoTimers + 322
38  com.apple.CoreFoundation      	0x00007fff336a470d __CFRunLoopRun + 1885
39  com.apple.CoreFoundation      	0x00007fff336a3953 CFRunLoopRunSpecific + 466
40  DumpRenderTree                	0x000000010200b4a4 runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 3348 (DumpRenderTree.mm:1965)
41  DumpRenderTree                	0x000000010200a6ea runTestingServerLoop() + 218 (DumpRenderTree.mm:1078)
42  DumpRenderTree                	0x0000000102009f28 dumpRenderTree(int, char const**) + 616 (DumpRenderTree.mm:1192)
43  DumpRenderTree                	0x000000010200c052 DumpRenderTreeMain(int, char const**) + 114 (DumpRenderTree.mm:1309)
44  DumpRenderTree                	0x00000001020f9742 main + 34 (DumpRenderTreeMain.mm:34)
45  libdyld.dylib                 	0x00007fff6d7c7cc9 start + 1

I don't have a local platform to attempt reproduction.
Comment 1 Radar WebKit Bug Importer 2021-10-28 11:48:32 PDT
<rdar://problem/84768475>
Comment 2 Eric Hutchison 2021-10-28 11:58:04 PDT
Updated test expectations at https://trac.webkit.org/changeset/284994/webkit.
Comment 3 ayumi_kojima 2021-10-28 14:28:27 PDT
I was not able to reproduce the crash locally on Catalina using run-webkit-tests --force -1 --iterations 500 --exit-after-n-crashes-or-timeouts 1 media/track/track-element-dom-change-crash.html --debug (Also tried with -f flag).

Also tried with "--child-processes 1 --test-list <test list>", but couldn't reproduce the crash.
Comment 4 ayumi_kojima 2021-10-28 14:29:04 PDT
Created attachment 442742 [details]
Test list
Comment 5 Eric Hutchison 2021-11-01 15:11:28 PDT

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