Bug 303035
| Summary: | ASSERTION: ASSERT(isMainThread()); when watching protected content with MediaSourceUseRemoteAudioVideoRenderer enabled | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Component: | Media | Assignee: | 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]
```
* 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
<rdar://problem/165322277>
Jean-Yves Avenard [:jya]
Pull request: https://github.com/WebKit/WebKit/pull/54403
EWS
Committed 303490@main (07e98f6bcf9a): <https://commits.webkit.org/303490@main>
Reviewed commits have been landed. Closing PR #54403 and removing active labels.