Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8ff9aac9dafb83663ae8f82da58a742ce5d270ea
      
https://github.com/WebKit/WebKit/commit/8ff9aac9dafb83663ae8f82da58a742ce5d270ea
  Author: Alex Christensen <[email protected]>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp

  Log Message:
  -----------
  Fix assertion in WebSWClientConnection::matchRegistration after network 
process crash
https://bugs.webkit.org/show_bug.cgi?id=280005
rdar://136310625

Reviewed by Youenn Fablet.

This fixes an assertion I saw on a bot with this stack trace:

ASSERTION FAILED: Completion handler should always be called
!m_function
.../WebKitBuild/Debug/usr/local/include/wtf/CompletionHandler.h(66) : 
WTF::CompletionHandler<void 
(std::optional<WebCore::ServiceWorkerRegistrationData> 
&&)>::~CompletionHandler()
1   WTF::CompletionHandler<void 
(std::__1::optional<WebCore::ServiceWorkerRegistrationData>&&)>::~CompletionHandler()
2   WTF::CompletionHandler<void 
(std::__1::optional<WebCore::ServiceWorkerRegistrationData>&&)>::~CompletionHandler()
3   
WebKit::WebSWClientConnection::matchRegistration(WebCore::SecurityOriginData&&, 
WTF::URL const&, WTF::CompletionHandler<void 
(std::__1::optional<WebCore::ServiceWorkerRegistrationData>&&)>&&)::$_10::~$_10()
4   
WebKit::WebSWClientConnection::matchRegistration(WebCore::SecurityOriginData&&, 
WTF::URL const&, WTF::CompletionHandler<void 
(std::__1::optional<WebCore::ServiceWorkerRegistrationData>&&)>&&)::$_10::~$_10()
5   
WTF::Detail::CallableWrapper<WebKit::WebSWClientConnection::matchRegistration(WebCore::SecurityOriginData&&,
 WTF::URL const&, WTF::CompletionHandler<void 
(std::__1::optional<WebCore::ServiceWorkerRegistrationData>&&)>&&)::$_10, 
void>::~CallableWrapper()
6   
WTF::Detail::CallableWrapper<WebKit::WebSWClientConnection::matchRegistration(WebCore::SecurityOriginData&&,
 WTF::URL const&, WTF::CompletionHandler<void 
(std::__1::optional<WebCore::ServiceWorkerRegistrationData>&&)>&&)::$_10, 
void>::~CallableWrapper()
7   
WTF::Detail::CallableWrapper<WebKit::WebSWClientConnection::matchRegistration(WebCore::SecurityOriginData&&,
 WTF::URL const&, WTF::CompletionHandler<void 
(std::__1::optional<WebCore::ServiceWorkerRegistrationData>&&)>&&)::$_10, 
void>::~CallableWrapper()
8   
std::__1::default_delete<WTF::Detail::CallableWrapperBase<void>>::operator()[abi:sn170006](WTF::Detail::CallableWrapperBase<void>*)
 const
9   std::__1::unique_ptr<WTF::Detail::CallableWrapperBase<void>, 
std::__1::default_delete<WTF::Detail::CallableWrapperBase<void>>>::reset[abi:sn170006](WTF::Detail::CallableWrapperBase<void>*)
10  std::__1::unique_ptr<WTF::Detail::CallableWrapperBase<void>, 
std::__1::default_delete<WTF::Detail::CallableWrapperBase<void>>>::~unique_ptr[abi:sn170006]()
11  std::__1::unique_ptr<WTF::Detail::CallableWrapperBase<void>, 
std::__1::default_delete<WTF::Detail::CallableWrapperBase<void>>>::~unique_ptr[abi:sn170006]()
12  WTF::Function<void ()>::~Function()
13  WTF::Function<void ()>::~Function()
14  WTF::VectorDestructor<true, WTF::Function<void 
()>>::destruct(WTF::Function<void ()>*, WTF::Function<void ()>*)
15  WTF::VectorTypeOperations<WTF::Function<void 
()>>::destruct(WTF::Function<void ()>*, WTF::Function<void ()>*)
16  WTF::Deque<WTF::Function<void ()>, 0ul>::destroyAll()
17  WTF::Deque<WTF::Function<void ()>, 0ul>::~Deque()
18  WTF::Deque<WTF::Function<void ()>, 0ul>::~Deque()
19  WebKit::WebSWClientConnection::~WebSWClientConnection()
20  WebKit::WebSWClientConnection::~WebSWClientConnection()
21  WebKit::WebSWClientConnection::~WebSWClientConnection()
22  WTF::RefCounted<WebCore::SWClientConnection>::deref() const
23  
WTF::DefaultRefDerefTraits<WebKit::WebSWClientConnection>::derefIfNotNull(WebKit::WebSWClientConnection*)
24  WTF::RefPtr<WebKit::WebSWClientConnection, 
WTF::RawPtrTraits<WebKit::WebSWClientConnection>, 
WTF::DefaultRefDerefTraits<WebKit::WebSWClientConnection>>::~RefPtr()
25  WTF::RefPtr<WebKit::WebSWClientConnection, 
WTF::RawPtrTraits<WebKit::WebSWClientConnection>, 
WTF::DefaultRefDerefTraits<WebKit::WebSWClientConnection>>::~RefPtr()
26  WebKit::NetworkProcessConnection::didClose(IPC::Connection&)
27  IPC::Connection::dispatchDidCloseAndInvalidate()::$_14::operator()() const
28  
WTF::Detail::CallableWrapper<IPC::Connection::dispatchDidCloseAndInvalidate()::$_14,
 void>::call()
29  WTF::Function<void ()>::operator()() const
30  WTF::RunLoop::performWork()
31  WTF::RunLoop::performWork(void*)

* Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::matchRegistration):

Canonical link: https://commits.webkit.org/283969@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to