[webkit-changes] [WebKit/WebKit] 88b97c: `UIScriptControllerIOS::sendEventStream` sometimes...

Tim Nguyen noreply at github.com
Thu May 2 06:27:26 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 88b97cdbbb91799427d8144d6425d8743fdf301e
      https://github.com/WebKit/WebKit/commit/88b97cdbbb91799427d8144d6425d8743fdf301e
  Author: Tim Nguyen <ntim at apple.com>
  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


More information about the webkit-changes mailing list