Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 88b97cdbbb91799427d8144d6425d8743fdf301e
      
https://github.com/WebKit/WebKit/commit/88b97cdbbb91799427d8144d6425d8743fdf301e
  Author: Tim Nguyen <[email protected]>
  Date:   2024-05-02 (Thu, 02 May 2024)

  Changed paths:
    M Tools/TestRunnerShared/Bindings/JSWrappable.h

  Log Message:
  -----------
  `UIScriptControllerIOS::sendEventStream` sometimes asserts on debug builds
https://bugs.webkit.org/show_bug.cgi?id=273601
rdar://124414379

Reviewed by Wenson Hsieh.

Fix following assertion by making JSWrappable inherit from ThreadSafeRefCounted:

```
ASSERTION FAILED: Unsafe to ref/deref from different threads
m_isOwnedByMainThread == isMainThread()
/System/Volumes/Data/otmp/case-sensitive/od.luxon/lw.luxon/sandbox-0/Desktop/Build/Build/Products/webkit/usr/local/include/wtf/RefCounted.h(119)
 : void WTF::RefCountedBase::applyRefDerefThreadingCheck() const
1   0x10f2736d9 WTFCrash
2   0x10a16f24a WTF::RefCountedBase::applyRefDerefThreadingCheck() const
3   0x10a16f059 WTF::RefCountedBase::derefAllowingPartiallyDestroyedBase() const
4   0x10a16eff0 WTF::RefCountedBase::derefBase() const
5   0x10a1ada69 WTF::RefCounted<WTR::JSWrappable, 
std::__1::default_delete<WTR::JSWrappable>>::deref() const
6   0x10a1cbda2 
WTF::DefaultRefDerefTraits<WTR::UIScriptControllerIOS>::derefIfNotNull(WTR::UIScriptControllerIOS*)
7   0x10a1cbd61 WTF::Ref<WTR::UIScriptControllerIOS, 
WTF::RawPtrTraits<WTR::UIScriptControllerIOS>, 
WTF::DefaultRefDerefTraits<WTR::UIScriptControllerIOS>>::~Ref()
8   0x10a1b57a5 WTF::Ref<WTR::UIScriptControllerIOS, 
WTF::RawPtrTraits<WTR::UIScriptControllerIOS>, 
WTF::DefaultRefDerefTraits<WTR::UIScriptControllerIOS>>::~Ref()
9   0x10a1c6079 WTR::UIScriptControllerIOS::sendEventStream(OpaqueJSString*, 
OpaqueJSValue const*)::$_15::~$_15()
10  0x10a1b9195 WTR::UIScriptControllerIOS::sendEventStream(OpaqueJSString*, 
OpaqueJSValue const*)::$_15::~$_15()
```

* Tools/TestRunnerShared/Bindings/JSWrappable.h:

Canonical link: https://commits.webkit.org/278254@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