RESOLVED FIXED 268194
ASSERTION FAILED: m_suspendIfNeededWasCalled
https://bugs.webkit.org/show_bug.cgi?id=268194
Summary ASSERTION FAILED: m_suspendIfNeededWasCalled
Jean-Yves Avenard [:jya]
Reported 2024-01-26 14:19:54 PST
Seen during a test: imported/w3c/web-platform-tests/web-locks/acquire.tentative.https.any.serviceworker ``` No crash log found for com.apple.WebKit.WebContent.Development:8818. stdout: stderr: Failed to call suspendIfNeeded() for ServiceWorkerContainer ASSERTION FAILED: m_suspendIfNeededWasCalled /Volumes/Data/worker/macOS-AppleSilicon-Sonoma-Debug-Build-EWS/build/Source/WebCore/dom/ActiveDOMObject.cpp(109) : void WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled() const 1 0x138f89020 WTFCrash 2 0x2844c3f90 WebCore::NetworkResourcesData::ResourceData::hasContent() const 3 0x283a3413c WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled() const 4 0x283d40810 WebCore::ScriptExecutionContext::checkConsistency() const 5 0x283d42684 WebCore::ScriptExecutionContext::stopActiveDOMObjects() 6 0x283ad9a00 WebCore::Document::stopActiveDOMObjects() 7 0x283ad9480 WebCore::Document::commonTeardown() 8 0x283ad9098 WebCore::Document::removedLastRef() 9 0x283ce2820 WebCore::Node::removedLastRef() 10 0x282d01558 WebCore::Node::deref() const 11 0x282d0130c WTF::DefaultRefDerefTraits<WebCore::Document>::derefIfNotNull(WebCore::Document*) 12 0x2833ebc78 WTF::RefPtr<WebCore::Document, WTF::RawPtrTraits<WebCore::Document>, WTF::DefaultRefDerefTraits<WebCore::Document>>::~RefPtr() 13 0x2832f53ec WTF::RefPtr<WebCore::Document, WTF::RawPtrTraits<WebCore::Document>, WTF::DefaultRefDerefTraits<WebCore::Document>>::~RefPtr() 14 0x285ef3cc4 WebCore::ServiceWorkerContainer::ServiceWorkerContainer(WebCore::ScriptExecutionContext*, WebCore::NavigatorBase&) 15 0x285ef3ab0 WebCore::ServiceWorkerContainer::ServiceWorkerContainer(WebCore::ScriptExecutionContext*, WebCore::NavigatorBase&) 16 0x285ef3a34 WebCore::ServiceWorkerContainer::create(WebCore::ScriptExecutionContext*, WebCore::NavigatorBase&) 17 0x284affccc WebCore::NavigatorBase::serviceWorker() 18 0x283d44f60 WebCore::ScriptExecutionContext::serviceWorkerContainer() 19 0x285eef994 WebCore::SWClientConnection::updateRegistrationState(WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&) 20 0x121350aa8 auto void IPC::callMemberFunction<WebKit::WebSWClientConnection, WebCore::SWClientConnection, void (WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>>(WebKit::WebSWClientConnection*, void (WebCore::SWClientConnection::*)(WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>&&)::'lambda'(auto&&...)::operator()<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>(auto&&...) const 21 0x1213509dc decltype(std::declval<WebKit::WebSWClientConnection>()(std::declval<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>>(), std::declval<WebCore::ServiceWorkerRegistrationState>(), std::declval<std::__1::optional<WebCore::ServiceWorkerData>>())) std::__1::__invoke[abi:v160006]<void IPC::callMemberFunction<WebKit::WebSWClientConnection, WebCore::SWClientConnection, void (WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>>(WebKit::WebSWClientConnection*, void (WebCore::SWClientConnection::*)(WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>&&)::'lambda'(auto&&...), WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>(WebKit::WebSWClientConnection&&, WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>&&, WebCore::ServiceWorkerRegistrationState&&, std::__1::optional<WebCore::ServiceWorkerData>&&) 22 0x1213509a0 decltype(auto) std::__1::__apply_tuple_impl[abi:v160006]<void IPC::callMemberFunction<WebKit::WebSWClientConnection, WebCore::SWClientConnection, void (WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>>(WebKit::WebSWClientConnection*, void (WebCore::SWClientConnection::*)(WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>&&)::'lambda'(auto&&...), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>, 0ul, 1ul, 2ul>(WebKit::WebSWClientConnection&&, WebCore::SWClientConnection&&, std::__1::__tuple_indices<0ul, 1ul, 2ul>) 23 0x121350944 decltype(auto) std::__1::apply[abi:v160006]<void IPC::callMemberFunction<WebKit::WebSWClientConnection, WebCore::SWClientConnection, void (WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>>(WebKit::WebSWClientConnection*, void (WebCore::SWClientConnection::*)(WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>&&)::'lambda'(auto&&...), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>>(WebKit::WebSWClientConnection&&, WebCore::SWClientConnection&&) 24 0x12134f800 void IPC::callMemberFunction<WebKit::WebSWClientConnection, WebCore::SWClientConnection, void (WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>>(WebKit::WebSWClientConnection*, void (WebCore::SWClientConnection::*)(WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData>>&&) 25 0x121347ebc void IPC::handleMessage<Messages::WebSWClientConnection::UpdateRegistrationState, WebKit::WebSWClientConnection, WebCore::SWClientConnection, void (WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebSWClientConnection*, void (WebCore::SWClientConnection::*)(WTF::ObjectIdentifierGeneric<WebCore::ServiceWorkerRegistrationIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebCore::ServiceWorkerRegistrationState, std::__1::optional<WebCore::ServiceWorkerData> const&)) 26 0x12134750c WebKit::WebSWClientConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 27 0x12068ff74 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 28 0x12149fff0 IPC::Connection::dispatchMessage(IPC::Decoder&) 29 0x1214a0424 IPC::Connection::dispatchMessage(WTF::UniqueRef<IPC::Decoder>) 30 0x1214a074c IPC::Connection::dispatchOneIncomingMessage() 31 0x1214be068 IPC::Connection::enqueueIncomingMessage(WTF::UniqueRef<IPC::Decoder>)::$_17::operator()() const com.apple.WebKit.WebContent.Development terminated (pid 8818) for reason: crash LEAK: 1 WebPageProxy ``` From https://ews-build.s3-us-west-2.amazonaws.com/macOS-AppleSilicon-Sonoma-Debug-WK2-Tests-EWS/24f7c679-8975/imported/w3c/web-platform-tests/web-locks/acquire.tentative.https.any.serviceworker-crash-log.txt
Attachments
Radar WebKit Bug Importer
Comment 1 2024-01-26 14:20:13 PST
Chris Dumez
Comment 2 2024-01-28 11:53:39 PST
EWS
Comment 3 2024-01-28 19:09:34 PST
Committed 273637@main (23ed729b1703): <https://commits.webkit.org/273637@main> Reviewed commits have been landed. Closing PR #23392 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.