WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
303035
ASSERTION: ASSERT(isMainThread()); when watching protected content with MediaSourceUseRemoteAudioVideoRenderer enabled
https://bugs.webkit.org/show_bug.cgi?id=303035
Summary
ASSERTION: ASSERT(isMainThread()); when watching protected content with Media...
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
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2025-11-23 19:03:33 PST
<
rdar://problem/165322277
>
Jean-Yves Avenard [:jya]
Comment 2
2025-11-23 22:40:56 PST
Pull request:
https://github.com/WebKit/WebKit/pull/54403
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.
Top of Page
Format For Printing
XML
Clone This Bug