NEW 194596
[ Mac Debug ] ASSERTION FAILED: Layout Test performance-api/performance-observer-basic.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=194596
Summary [ Mac Debug ] ASSERTION FAILED: Layout Test performance-api/performance-obser...
Shawn Roberts
Reported 2019-02-13 10:31:15 PST
The following layout test is flaky on Mac Debug performance-api/performance-observer-basic.html Probable cause: Appears to be a flaky crash since inception. The oldest build I can spade is r228050 Reproducible with: run-webkit-tests d228050 performance-api/performance-observer-basic.html --iterations 500 -f --debug run-webkit-tests d228050 performance-api/performance-observer-basic.html --iterations 500 -f --debug -1 Flakiness Dashboard: https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=performance-api%2Fperformance-observer-basic.html Crash log: https://build.webkit.org/results/Apple%20Mojave%20Debug%20WK2%20(Tests)/r241432%20(1575)/performance-api/performance-observer-basic-stderr.txt ASSERTION FAILED: !m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction ./bindings/js/JSEventListener.h(109) : JSC::JSObject *WebCore::JSEventListener::jsFunction(WebCore::ScriptExecutionContext &) const 1 0x2b9f83fd9 WTFCrash 2 0x2a800c24b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x2a9e94ca0 WebCore::JSEventListener::jsFunction(WebCore::ScriptExecutionContext&) const 4 0x2a9e9411b WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&)
Attachments
Radar WebKit Bug Importer
Comment 1 2019-02-13 10:45:01 PST
Ryosuke Niwa
Comment 2 2019-02-21 21:11:44 PST
ASSERTION FAILED: !m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction ./bindings/js/JSEventListener.h(109) : JSC::JSObject *WebCore::JSEventListener::jsFunction(WebCore::ScriptExecutionContext &) const 1 0x2b9f83fd9 WTFCrash 2 0x2a800c24b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x2a9e94ca0 WebCore::JSEventListener::jsFunction(WebCore::ScriptExecutionContext&) const 4 0x2a9e9411b WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) 5 0x2aa47941c WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&, WTF::Vector<WTF::RefPtr<WebCore::RegisteredEventListener, WTF::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, WTF::CrashOnOverflow, 16ul>, WebCore::EventTarget::EventInvokePhase) 6 0x2aa474e72 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) 7 0x2aa478f7a WebCore::EventTarget::dispatchEvent(WebCore::Event&) 8 0x2abd7a474 WebCore::WorkerMessagingProxy::postMessageToWorkerObject(WebCore::MessageWithMessagePorts&&)::$_0::operator()(WebCore::ScriptExecutionContext&) 9 0x2abd7a284 WTF::Function<void (WebCore::ScriptExecutionContext&)>::CallableWrapper<WebCore::WorkerMessagingProxy::postMessageToWorkerObject(WebCore::MessageWithMessagePorts&&)::$_0>::call(WebCore::ScriptExecutionContext&) 10 0x2a9cf9760 WTF::Function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const 11 0x2a9ce64dd WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&) 12 0x2aa410f18 WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task&&)::$_6::operator()() 13 0x2aa410d39 WTF::Function<void ()>::CallableWrapper<WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task&&)::$_6>::call() 14 0x2b9fad89d WTF::Function<void ()>::operator()() const 15 0x2b9fe5b4d WTF::dispatchFunctionsFromMainThread() 16 0x2b9fe8965 -[JSWTFMainThreadCaller call] 17 0x7fff346ecbab __NSThreadPerformPerform 18 0x7fff322f01d9 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 19 0x7fff322f017f __CFRunLoopDoSource0 20 0x7fff322d402c __CFRunLoopDoSources0 21 0x7fff322d35d3 __CFRunLoopRun 22 0x7fff322d2eb6 CFRunLoopRunSpecific 23 0x7fff346574aa -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 24 0x7fff3465737f -[NSRunLoop(NSRunLoop) run] 25 0x7fff5f7e5ebe _xpc_objc_main 26 0x7fff5f7e59bd _xpc_copy_xpcservice_dictionary 27 0x102be8995 WebKit::XPCServiceMain(int, char const**) 28 0x102a557cb WKXPCServiceMain 29 0x102672f5e main 30 0x7fff5f5aded9 start 31 0x1 LEAK: 2 WebPageProxy
Ryosuke Niwa
Comment 3 2019-02-21 21:21:49 PST
This is a GC bug :( It looks like we dispatch an event on a worker thread but the event listener is already dead. Maybe a race between the worker dying vs. event getting dispatched?
Note You need to log in before you can comment on or make changes to this bug.