NEW230109
[ BigSur arm64 EWS ] ASSERTION FAILED: m_globalScope->hasOneRef() ./workers/WorkerOrWorkletThread.cpp(155) : void WebCore::WorkerOrWorkletThread::workerOrWorkletThread()
https://bugs.webkit.org/show_bug.cgi?id=230109
Summary [ BigSur arm64 EWS ] ASSERTION FAILED: m_globalScope->hasOneRef() ./workers/W...
ayumi_kojima
Reported 2021-09-09 10:33:51 PDT
imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.html Is a flaky crash on macOS-AppleSilicon-Big-Sur-Debug-WK2-Tests-EWS In the open source directory, I don't see any crash but it failed a couple of times in the history: https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fworkers%2Fmodules%2Fdedicated-worker-import-blob-url.any.html Builds that the test failed: https://build.webkit.org/#/builders/70/builds/4727 https://build.webkit.org/#/builders/13/builds/4168 https://build.webkit.org/#/builders/45/builds/1320 The test started being flaky on EWS at https://ews-build.webkit.org/#/builders/60/builds/11578 Stderr: ASSERTION FAILED: m_globalScope->hasOneRef() ./workers/WorkerOrWorkletThread.cpp(155) : void WebCore::WorkerOrWorkletThread::workerOrWorkletThread() 1 0x139dc759c WTFCrash 2 0x11986d8d0 WTFCrashWithInfo(int, char const*, char const*, int) 3 0x11d9b6818 WebCore::WorkerOrWorkletThread::workerOrWorkletThread() 4 0x11da08c0c WebCore::WorkerThread::createThread()::$_1::operator()() const 5 0x11da08b88 WTF::Detail::CallableWrapper<WebCore::WorkerThread::createThread()::$_1, void>::call() 6 0x139df0ee0 WTF::Function<void ()>::operator()() const 7 0x139ec05d4 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) 8 0x139ecebf4 WTF::wtfThreadEntryPoint(void*) 9 0x180d8b878 _pthread_start 10 0x180d865e0 thread_start com.apple.WebKit.WebContent.Development terminated (pid 77307) because the process crashed LEAK: 1 WebPageProxy
Attachments
Crash log (91.03 KB, text/plain)
2021-09-09 10:34 PDT, ayumi_kojima
no flags
ayumi_kojima
Comment 1 2021-09-09 10:34:31 PDT
Created attachment 437758 [details] Crash log
Radar WebKit Bug Importer
Comment 2 2021-09-09 10:35:10 PDT
ayumi_kojima
Comment 3 2021-09-09 10:41:25 PDT
Marked test expectations for the flaky crash to speed up EWS: https://trac.webkit.org/changeset/282224/webkit Because failure only happened 3 times and they are all on different platforms, I will not set expectations for them for now.
ayumi_kojima
Comment 4 2021-09-10 16:14:17 PDT
rwt --root debugToTest --iterations 1000 --clobber-old-results --exit-after-n-crashes-or-timeouts 1 --force --debug imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.html --no-timeout (In reply to ayumi_kojima from comment #3) > Marked test expectations for the flaky crash to speed up EWS: > https://trac.webkit.org/changeset/282224/webkit > > Because failure only happened 3 times and they are all on different > platforms, I will not set expectations for them for now. I did mark test expectations for this test.
ayumi_kojima
Comment 5 2021-09-10 16:16:11 PDT
I was not able to reproduce the crash using --iterations 1000 --clobber-old-results --exit-after-n-crashes-or-timeouts 1 --force --debug imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.html The test timed out instead. It hanged with --no-timeout flag.
Chris Dumez
Comment 6 2022-03-02 15:36:15 PST
I found a recent crash (Feb/24) but the crash looked like: Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x000000013c2f8324 WTFCrash + 20 (Assertions.cpp:322) 1 com.apple.WebCore 0x0000000116f26930 WTFCrashWithInfo(int, char const*, char const*, int) + 32 (Assertions.h:741) 2 com.apple.WebCore 0x000000011a88076c WebCore::JSEventListener::ensureJSFunction(WebCore::ScriptExecutionContext&) const + 596 (JSEventListener.h:157) 3 com.apple.WebCore 0x000000011963e2e8 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 192 (JSEventListener.cpp:140) 4 com.apple.WebCore 0x0000000119fbbb3c 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) + 968 (EventTarget.cpp:363) 5 com.apple.WebCore 0x0000000119fbb604 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) + 328 (EventTarget.cpp:295) 6 com.apple.WebCore 0x0000000119fbb4a8 WebCore::EventTarget::dispatchEvent(WebCore::Event&) + 348 (EventTarget.cpp:253) 7 com.apple.WebCore 0x000000011c2c0660 WebCore::Worker::dispatchEvent(WebCore::Event&) + 56 (Worker.cpp:226) 8 com.apple.WebCore 0x0000000119de8350 WebCore::ActiveDOMObject::queueTaskToDispatchEventInternal(WebCore::EventTarget&, WebCore::TaskSource, WTF::Ref<WebCore::Event, WTF::RawPtrTraits<WebCore::Event> >&&)::$_3::operator()() const + 80 (ActiveDOMObject.cpp:176) 9 com.apple.WebCore 0x0000000119de81cc WTF::Detail::CallableWrapper<WebCore::ActiveDOMObject::queueTaskToDispatchEventInternal(WebCore::EventTarget&, WebCore::TaskSource, WTF::Ref<WebCore::Event, WTF::RawPtrTraits<WebCore::Event> >&&)::$_3, void>::call() + 28 (Function.h:53) 10 com.apple.WebCore 0x00000001168e0de4 WTF::Function<void ()>::operator()() const + 124 (Function.h:82) 11 com.apple.WebCore 0x0000000119de8a98 WebCore::ActiveDOMObjectEventDispatchTask::execute() + 52 (ActiveDOMObject.cpp:160) Looks like we're firing an event at the Worker object but its JS wrapper is already gone.
Note You need to log in before you can comment on or make changes to this bug.