Bug 254184

Summary: [ macOS ] ASSERTION FAILED: m_normalWorld->hasOneRef() on imported/w3c/web-platform-tests/fetch/api/headers/header-setcookie.any.html flakily
Product: WebKit Reporter: Bri Harris <bharris9>
Component: Service WorkersAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: cdumez, webkit-bot-watchers-bugzilla, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=254275

Description Bri Harris 2023-03-20 14:24:12 PDT
imported/w3c/web-platform-tests/fetch/api/headers/header-setcookie.any.html

is a flaky failure on Ventura. 


HISTORY:

https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Ffetch%2Fapi%2Fheaders%2Fheader-setcookie.any.html


CRASH LOG TEXT:

stderr:
ASSERTION FAILED: m_normalWorld->hasOneRef()
bindings/js/WebCoreJSClientData.cpp(144) : virtual WebCore::JSVMClientData::~JSVMClientData()
1   0x153bca0b9 WTFCrash
2   0x112fded0b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x11647483d WebCore::JSVMClientData::~JSVMClientData()
4   0x116474af5 WebCore::JSVMClientData::~JSVMClientData()
5   0x116474b19 WebCore::JSVMClientData::~JSVMClientData()
6   0x155dfa8e9 JSC::VM::~VM()
7   0x155dfb9e5 JSC::VM::~VM()
8   0x154676d0a WTF::ThreadSafeRefCounted<JSC::VM, (WTF::DestructionThread)0>::deref() const::'lambda'()::operator()() const
9   0x15465cd67 WTF::ThreadSafeRefCounted<JSC::VM, (WTF::DestructionThread)0>::deref() const
10  0x155501bde WTF::DefaultRefDerefTraits<JSC::VM>::derefIfNotNull(JSC::VM*)
11  0x1554e61e1 WTF::RefPtr<JSC::VM, WTF::RawPtrTraits<JSC::VM>, WTF::DefaultRefDerefTraits<JSC::VM> >::operator=(std::nullptr_t)
12  0x155afb36a JSC::JSLockHolder::~JSLockHolder()
13  0x155afb3d5 JSC::JSLockHolder::~JSLockHolder()
14  0x11935abeb WebCore::WorkerOrWorkletScriptController::~WorkerOrWorkletScriptController()
15  0x11935ac85 WebCore::WorkerOrWorkletScriptController::~WorkerOrWorkletScriptController()
16  0x1193879fb std::__1::default_delete<WebCore::WorkerOrWorkletScriptController>::operator()(WebCore::WorkerOrWorkletScriptController*) const
17  0x11938797c std::__1::unique_ptr<WebCore::WorkerOrWorkletScriptController, std::__1::default_delete<WebCore::WorkerOrWorkletScriptController> >::reset(WebCore::WorkerOrWorkletScriptController*)
18  0x11935a351 std::__1::unique_ptr<WebCore::WorkerOrWorkletScriptController, std::__1::default_delete<WebCore::WorkerOrWorkletScriptController> >::operator=(std::nullptr_t)
19  0x11935a320 WebCore::WorkerOrWorkletGlobalScope::clearScript()
20  0x1193aea26 WebCore::WorkerOrWorkletThread::stop(WTF::Function<void ()>&&)::$_6::operator()(WebCore::ScriptExecutionContext&) const::'lambda'(WebCore::ScriptExecutionContext&)::operator()(WebCore::ScriptExecutionContext&) const
21  0x1193ae9d1 WTF::Detail::CallableWrapper<WebCore::WorkerOrWorkletThread::stop(WTF::Function<void ()>&&)::$_6::operator()(WebCore::ScriptExecutionContext&) const::'lambda'(WebCore::ScriptExecutionContext&), void, WebCore::ScriptExecutionContext&>::call(WebCore::ScriptExecutionContext&)
22  0x1160394c7 WTF::Function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const
23  0x116029e1d WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&)
24  0x11939321d WebCore::WorkerDedicatedRunLoop::Task::performTask(WebCore::WorkerOrWorkletGlobalScope*)
25  0x119392955 WebCore::WorkerDedicatedRunLoop::runCleanupTasks(WebCore::WorkerOrWorkletGlobalScope*)
26  0x119390cff WebCore::WorkerDedicatedRunLoop::run(WebCore::WorkerOrWorkletGlobalScope*)
27  0x119390c84 WebCore::WorkerOrWorkletThread::runEventLoop()
28  0x119501645 WebCore::ServiceWorkerThread::runEventLoop()
29  0x119391063 WebCore::WorkerOrWorkletThread::workerOrWorkletThread()
30  0x1193bc718 WebCore::WorkerThread::createThread()::$_17::operator()() const
31  0x1193bc6b9 WTF::Detail::CallableWrapper<WebCore::WorkerThread::createThread()::$_17, void>::call()
ServiceWorkerProcess terminated (pid 12707) for reason: crash
LEAK: 1 WebPageProxy
Comment 1 Bri Harris 2023-03-20 14:25:26 PDT
I was able to replicate this crash on Ventura ToT on Intel as follows:

run-webkit-tests --root imported/w3c/web-platform-tests/fetch/api/headers/header-setcookie.any.html
Comment 2 Radar WebKit Bug Importer 2023-03-20 14:25:43 PDT
<rdar://problem/106962567>
Comment 3 Chris Dumez 2023-03-22 16:33:15 PDT

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