Bug 259910

Summary: Regression(266594@main) Crash under NetworkSession::unregisterNetworkDataTask()
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Chris Dumez 2023-08-07 19:25:55 PDT
Crash under NetworkSession::unregisterNetworkDataTask():
```
      11 bool std::__1::__cxx_atomic_compare_exchange_weak[abi:v160006]<unsigned char>(std::__1::__cxx_atomic_base_impl<unsigned char>*, unsigned char*, unsigned char, std::__1::memory_order, std::__1::memory_order) <==
      | 11 std::__1::__atomic_base<unsigned char, false>::compare_exchange_weak[abi:v160006](unsigned char&, unsigned char, std::__1::memory_order)
      |   11 WTF::Atomic<unsigned char>::compareExchangeWeak(unsigned char, unsigned char, std::__1::memory_order)
      |     11 WTF::LockAlgorithm<unsigned char, (unsigned char)1, (unsigned char)2, WTF::EmptyLockHooks<unsigned char> >::lockFastAssumingZero(WTF::Atomic<unsigned char>&)
      |       11 WTF::Lock::lock()
      |         11 WTF::Locker<WTF::Lock>::Locker(WTF::Lock&)
      |           11 WTF::Locker<WTF::Lock>::Locker(WTF::Lock&)
      |             11 bool WTF::ThreadSafeWeakHashSet<WebKit::NetworkDataTask>::remove<WebKit::NetworkDataTask, (void*)0>(WebKit::NetworkDataTask const&)
      |               11 WebKit::NetworkSession::unregisterNetworkDataTask(WebKit::NetworkDataTask&)
      |                 11 WebKit::NetworkDataTask::~NetworkDataTask()
      |                   11 WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa()
      |                     11 WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa()
      |                       11 WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa()
      |                         11 void WTF::ThreadSafeWeakPtrControlBlock::strongDeref<WebKit::NetworkDataTask, (WTF::DestructionThread)1>() const::'lambda'()::operator()() const
      |                           11 WTF::Detail::CallableWrapper<void WTF::ThreadSafeWeakPtrControlBlock::strongDeref<WebKit::NetworkDataTask, (WTF::DestructionThread)1>() const::'lambda'(), void>::call()
      |                             11 void WTF::ThreadSafeWeakPtrControlBlock::strongDeref<WebKit::NetworkDataTask, (WTF::DestructionThread)1>() const
      |                               11 WTF::ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr<WebKit::NetworkDataTask, (WTF::DestructionThread)1>::deref() const
      |                                 11 WTF::DefaultRefDerefTraits<WebKit::NetworkDataTask>::derefIfNotNull(WebKit::NetworkDataTask*)
      |                                   11 WTF::RefPtr<WebKit::NetworkDataTask, WTF::RawPtrTraits<WebKit::NetworkDataTask>, WTF::DefaultRefDerefTraits<WebKit::NetworkDataTask> >::~RefPtr()
      |                                     11 WTF::RefPtr<WebKit::NetworkDataTask, WTF::RawPtrTraits<WebKit::NetworkDataTask>, WTF::DefaultRefDerefTraits<WebKit::NetworkDataTask> >::~RefPtr()
      |                                       11 WebKit::NetworkLoad::~NetworkLoad()
      |                                         11 WebKit::NetworkLoad::~NetworkLoad()
      |                                           11 std::__1::default_delete<WebKit::NetworkLoad>::operator()[abi:v160006](WebKit::NetworkLoad*) const
      |                                             11 std::__1::unique_ptr<WebKit::NetworkLoad, std::__1::default_delete<WebKit::NetworkLoad> >::reset[abi:v160006](WebKit::NetworkLoad*)
      |                                               6 std::__1::unique_ptr<WebKit::NetworkLoad, std::__1::default_delete<WebKit::NetworkLoad> >::operator=[abi:v160006](std::nullptr_t)
      |                                               | 6 WebKit::NetworkResourceLoader::cleanup(WebKit::NetworkResourceLoader::LoadResult)
      |                                               |   6 WebKit::NetworkResourceLoader::abort()
      |                                               |     6 WebKit::NetworkConnectionToWebProcess::didClose(IPC::Connection&)
```
Comment 1 Chris Dumez 2023-08-07 19:26:42 PDT
<rdar://113530127>
Comment 2 Chris Dumez 2023-08-07 19:28:29 PDT
Pull request: https://github.com/WebKit/WebKit/pull/16461
Comment 3 EWS 2023-08-08 10:29:12 PDT
Committed 266690@main (c0a7c3bf2d79): <https://commits.webkit.org/266690@main>

Reviewed commits have been landed. Closing PR #16461 and removing active labels.