Bug 303035

Summary: ASSERTION: ASSERT(isMainThread()); when watching protected content with MediaSourceUseRemoteAudioVideoRenderer enabled
Product: WebKit Reporter: Jean-Yves Avenard [:jya] <jean-yves.avenard>
Component: MediaAssignee: Jean-Yves Avenard [:jya] <jean-yves.avenard>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Jean-Yves Avenard [:jya]
Reported 2025-11-23 19:03:25 PST
``` * thread #30, queue = 'MediaSourcePrivateAVFObjC', stop reason = EXC_BAD_ACCESS (code=1, address=0x12f63d9d8) Note: Possible pointer authentication failure detected. Found value that failed to authenticate at address=0x12f63d9d8. frame #0: 0x0000000300002858 WebCore`WTFCrashWithInfo(line=56, file="/Users/jyavenard/Work/webkit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/NeverDestroyed.h", function="static void WTF::MainThreadAccessTraits::assertAccess()", counter=274) at Assertions.h:974:5 frame #1: 0x00000003001f82f0 WebCore`WTF::MainThreadAccessTraits::assertAccess() at NeverDestroyed.h:56:9 frame #2: 0x00000003001f831c WebCore`WTF::NeverDestroyed<WTF::AtomString const, WTF::MainThreadAccessTraits>::storagePointer(this=0x000000030ba36e50) const at NeverDestroyed.h:99:9 frame #3: 0x00000003001e85b8 WebCore`WTF::NeverDestroyed<WTF::AtomString const, WTF::MainThreadAccessTraits>::operator WTF::AtomString const&(this=0x000000030ba36e50) at NeverDestroyed.h:84:29 * frame #4: 0x00000003001e8540 WebCore`WebCore::CDMPrivateFairPlayStreaming::sinfName() at CDMFairPlayStreaming.cpp:85:12 frame #5: 0x00000003001ebbbc WebCore`WebCore::extractSinfData(buffer=0x000000017adfc100) at CDMFairPlayStreaming.cpp:108:39 frame #6: 0x00000003001e87c0 WebCore`WebCore::extractSchemeAndKeyIdFromSinf(buffer=0x000000017adfc100) at CDMFairPlayStreaming.cpp:128:20 frame #7: 0x00000003001e8674 WebCore`WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSinf(buffer=0x000000017adfc100) at CDMFairPlayStreaming.cpp:175:20 frame #8: 0x00000003008e7c20 WebCore`_ZZN7WebCore26SourceBufferPrivateAVFObjC55didProvideContentKeyRequestInitializationDataForTrackIDEON3WTF3RefINS_12SharedBufferENS1_12RawPtrTraitsIS3_EENS1_21DefaultRefDerefTraitsIS3_EEEEyENK3$_1clINSt12experimental15fundamentals_v38expectedIvNS_18PlatformMediaErrorEEEEEDaOT_(this=0x000000017a4ec168, result=0x0000000173a227ce) at SourceBufferPrivateAVFObjC.mm:435:27 frame #10: 0x00000003008e7a9c WebCore`std::__1::invoke_result<WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>::type std::__1::invoke[abi:sn200100]<WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>(__f=0x000000017a4ec168, __args=0x0000000173a227ce) at invoke.h:29:10 frame #11: 0x00000003008e7a6c WebCore`auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::invokeWithVoidOrWithArg<WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>(f=0x000000017a4ec168, arg=0x0000000173a227ce) at NativePromise.h:997:20 frame #12: 0x00000003008e7a3c WebCore`auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::whenSettled<WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)::operator()(this=0x000000017a4ec168, result=0x0000000173a227ce) at NativePromise.h:1029:20 frame #13: 0x00000003008e7968 WebCore`WTF::Detail::CallableWrapper<auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::whenSettled<WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&), void, auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::whenSettled<WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID(WTF::Ref<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer>>&&, unsigned long long)::$_1&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)>::call(this=0x000000017a4ec160, in=0x0000000173a227ce) at Function.h:59:39 frame #14: 0x000000030079663c WebCore`WTF::Function<void (std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)>::operator()(this=0x000000017a564218, in=0x0000000173a227ce) const at Function.h:103:35 frame #15: 0x0000000300795f7c WebCore`WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::ThenCallback<false, void>::processResult(this=0x000000017a5641d0, promise=0x000000017a0c0180, result=0x0000000173a227ce) at NativePromise.h:824:17 frame #16: 0x0000000118aa4858 WebKit`WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::ThenCallbackBase::dispatch(WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>&, WTF::Locker<WTF::Lock>&)::'lambda'()::operator()(this=0x000000017a4ec808) at NativePromise.h:757:36 frame #17: 0x0000000118aa42f0 WebKit`WTF::Detail::CallableWrapper<WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::ThenCallbackBase::dispatch(WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>&, WTF::Locker<WTF::Lock>&)::'lambda'(), void>::call(this=0x000000017a4ec800) at Function.h:59:39 frame #18: 0x000000012bae95d8 JavaScriptCore`WTF::Function<void ()>::operator()(this=0x000000017a6443b0) const at Function.h:103:35 frame #19: 0x000000012bcf49d4 JavaScriptCore`WTF::(anonymous namespace)::DispatchWorkItem::operator()(this=0x000000017a6443b0) at WorkQueueCocoa.cpp:40:25 ```
Attachments
Radar WebKit Bug Importer
Comment 1 2025-11-23 19:03:33 PST
Jean-Yves Avenard [:jya]
Comment 2 2025-11-23 22:40:56 PST
EWS
Comment 3 2025-11-24 05:39:14 PST
Committed 303490@main (07e98f6bcf9a): <https://commits.webkit.org/303490@main> Reviewed commits have been landed. Closing PR #54403 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.