Bug 308557
| Summary: | com.apple.WebKit.WebContent at WebKit: WebKit::AudioVideoRendererRemote::addTrack | ||
|---|---|---|---|
| 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]
```
3 __pthread_kill (libsystem_kernel.dylib)
3 pthread_kill (libsystem_pthread.dylib)
3 abort (libsystem_c.dylib)
3 __abort_message (libc++abi.dylib)
3 demangling_terminate_handler() (libc++abi.dylib)
3 std::__terminate(void (*)()) (libc++abi.dylib)
3 std::terminate() (libc++abi.dylib)
3 auto&& mpark::detail::generic_get<0ul, mpark::variant<WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>&>(mpark::variant<WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>&) (WebKit)
3 mpark::variant_alternative<0ul, mpark::variant<WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>>::type& mpark::get<0ul, WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>(mpark::variant<WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>&) (WebKit)
3 mpark::variant_alternative<0ul, mpark::variant<WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>>::type& std::get<0ul, WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>(mpark::variant<WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>&) (WebKit)
3 std::experimental::fundamentals_v3::expected<WTF::ObjectIdentifierGeneric<WebCore::SamplesRendererTrackIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, WebCore::PlatformMediaError>::operator*() & (WebKit)
==> 3 WebKit::AudioVideoRendererRemote::addTrack(WebCore::TrackInfoTrackType) (WebKit) <==
3 WebCore::SourceBufferPrivateAVFObjC::videoTrackDidChangeSelected(unsigned long long, bool) (WebCore)
3 auto WebCore::SourceBufferPrivateAVFObjC::setTrackChangeCallbacks(WebCore::SourceBufferPrivateClient::InitializationSegment const&, bool)::$_0::operator()(WebCore::VideoTrackPrivate&, bool)::'lambda'(auto&)::operator()<WebCore::SourceBufferPrivateAVFObjC>(auto&) const::'lambda'()::operator()() const (WebCore)
3 WTF::Detail::CallableWrapper<auto WebCore::SourceBufferPrivateAVFObjC::setTrackChangeCallbacks(WebCore::SourceBufferPrivateClient::InitializationSegment const&, bool)::$_0::operator()(WebCore::VideoTrackPrivate&, bool)::'lambda'(auto&)::operator()<WebCore::SourceBufferPrivateAVFObjC>(auto&) const::'lambda'(), void>::call() (WebCore)
3 WTF::Function<void ()>::operator()() const (WebCore)
3 WebCore::SourceBufferPrivateAVFObjC::processInitializationSegment(std::__1::optional<WebCore::SourceBufferPrivateClient::InitializationSegment>&&) (WebCore)
3 _ZZN7WebCore19SourceBufferPrivate31didReceiveInitializationSegmentEONS_25SourceBufferPrivateClient21InitializationSegmentEEN3$_1clINSt12experimental15fundamentals_v38expectedIvNS_18PlatformMediaErrorEEEEEDaT_ (WebCore)
3 std::__1::__invoke_result_impl<void, WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>::type std::__1::__invoke[abi:sqn210106]<WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>(WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1&&, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&) (WebCore)
3 std::__1::__invoke_result_impl<void, WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>::type std::__1::invoke[abi:sqn210106]<WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>(WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1&&, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&) (WebCore)
3 auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::invokeWithVoidOrWithArg<WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>>(WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1&&, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&) (WebCore)
3 auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::whenSettled<WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)::operator()('lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)) (WebCore)
3 WTF::Detail::CallableWrapper<auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::whenSettled<WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&), WTF::Ref<WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>, WTF::RawPtrTraits<WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>>, WTF::DefaultRefDerefTraits<WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>>>, auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::whenSettled<WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)>::call(auto WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::whenSettled<WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::SourceBufferPrivate::didReceiveInitializationSegment(WebCore::SourceBufferPrivateClient::InitializationSegment&&)::$_1&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)) (WebCore)
3 WTF::Function<WTF::Ref<WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>, WTF::RawPtrTraits<WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>>, WTF::DefaultRefDerefTraits<WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>>> (std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&)>::operator()(std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&) const (WebCore)
3 WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::ThenCallback<true, WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>>::processResult(WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>&, std::experimental::fundamentals_v3::expected<void, WebCore::PlatformMediaError>&&) (WebCore)
3 WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>::ThenCallbackBase::dispatch(WTF::NativePromise<void, WebCore::PlatformMediaError, 0u>&, WTF::Locker<WTF::Lock>&)::'lambda'()::operator()() (WebCore)
3 WTF::Function<void ()>::operator()() const (JavaScriptCore)
3 WTF::(anonymous namespace)::DispatchWorkItem::operator()() (JavaScriptCore)
3 void WTF::dispatchWorkItem<WTF::(anonymous namespace)::DispatchWorkItem>(void*) (JavaScriptCore)
3 _dispatch_client_callout (libdispatch.dylib)
3 _dispatch_continuation_invoke_inline (libdispatch.dylib)
3 _dispatch_continuation_pop_inline (libdispatch.dylib)
3 _dispatch_lane_drain (libdispatch.dylib)
3 _dispatch_lane_serial_drain (libdispatch.dylib)
3 _dispatch_lane_invoke2 (libdispatch.dylib)
3 _dispatch_queue_class_invoke (libdispatch.dylib)
3 _dispatch_lane_invoke (libdispatch.dylib)
3 _dispatch_root_queue_drain_deferred_wlh (libdispatch.dylib)
3 _dispatch_wlh_worker_thread (libdispatch.dylib)
3 _dispatch_workloop_worker_thread (libdispatch.dylib)
3 _pthread_wqthread (libsystem_pthread.dylib)
3 start_wqthread (libsystem_pthread.dylib)
```
rdar://170648732
addTrack should be infallible; however should the GPUP crash, we will assert.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Jean-Yves Avenard [:jya]
Pull request: https://github.com/WebKit/WebKit/pull/59336
EWS
Committed 308199@main (6f26fc7aee48): <https://commits.webkit.org/308199@main>
Reviewed commits have been landed. Closing PR #59336 and removing active labels.