RESOLVED FIXED 284853
REGRESSION(287869@main?): [macOS Debug wk2] ASSERTION FAILED: frame->presentationTime() >= m_lastMuxedSampleStartTime in WebCore::MediaRecorderPrivateEncoder::interleaveAndEnqueueNextFrame()
https://bugs.webkit.org/show_bug.cgi?id=284853
Summary REGRESSION(287869@main?): [macOS Debug wk2] ASSERTION FAILED: frame->presenta...
Marta Darbinyan
Reported 2024-12-17 16:00:31 PST
The following tests are flaky crash on macOS Debug wk2 and also flaky instances in EWS. http/wpt/mediarecorder/MediaRecorder-video-bitrate.html http/wpt/mediarecorder/pause-recording.html The change 287869@main looks suspicious based on the timeframe when the regression started. Error output: stderr: ASSERTION FAILED: frame->presentationTime() >= m_lastMuxedSampleStartTime /Volumes/Data/worker/Apple-Sonoma-Debug-Build/build/Source/WebCore/platform/mediarecorder/MediaRecorderPrivateEncoder.cpp(838) : void WebCore::MediaRecorderPrivateEncoder::interleaveAndEnqueueNextFrame() 1 0x368e6cf98 WebCore::MediaRecorderPrivateEncoder::interleaveAndEnqueueNextFrame() 2 0x368e6e040 WebCore::MediaRecorderPrivateEncoder::flushToEndSegment(WTF::MediaTime const&) 3 0x368e84778 auto WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18::operator()<std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>>(std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&) const 4 0x368e846d0 decltype(std::declval<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18>()(std::declval<std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>>())) std::__1::__invoke[abi:sn170006]<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>>(WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18&&, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&) 5 0x368e8469c std::__1::invoke_result<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>>::type std::__1::invoke[abi:sn170006]<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>>(WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18&&, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&) 6 0x368e84668 auto WTF::NativePromise<void, void, 0u>::invokeWithVoidOrWithArg<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>>(WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18&&, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&) 7 0x368e84634 auto WTF::NativePromise<void, void, 0u>::whenSettled<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&)::operator()('lambda'(std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&)) 8 0x368e84570 WTF::Detail::CallableWrapper<auto WTF::NativePromise<void, void, 0u>::whenSettled<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&), WTF::Ref<WTF::NativePromise<void, void, 0u>, WTF::RawPtrTraits<WTF::NativePromise<void, void, 0u>>, WTF::DefaultRefDerefTraits<WTF::NativePromise<void, void, 0u>>>, auto WTF::NativePromise<void, void, 0u>::whenSettled<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&)>::call(auto WTF::NativePromise<void, void, 0u>::whenSettled<WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18>(WTF::GuaranteedSerialFunctionDispatcher&, WebCore::MediaRecorderPrivateEncoder::flushPendingData(WTF::MediaTime const&)::$_18&&, WTF::Logger::LogSiteIdentifier const&)::'lambda'(std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&)) 9 0x3688ec9f0 WTF::Function<WTF::Ref<WTF::NativePromise<void, void, 0u>, WTF::RawPtrTraits<WTF::NativePromise<void, void, 0u>>, WTF::DefaultRefDerefTraits<WTF::NativePromise<void, void, 0u>>> (std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&)>::operator()(std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&) const 10 0x3688ec380 WTF::NativePromise<void, void, 0u>::ThenCallback<true, WTF::NativePromise<void, void, 0u>>::processResult(WTF::NativePromise<void, void, 0u>&, std::experimental::fundamentals_v3::expected<void, WTF::detail::VoidPlaceholder>&&) 11 0x363018970 WTF::NativePromise<void, void, 0u>::ThenCallbackBase::dispatch(WTF::NativePromise<void, void, 0u>&, WTF::Locker<WTF::Lock, void>&)::'lambda'()::operator()() 12 0x363018410 WTF::Detail::CallableWrapper<WTF::NativePromise<void, void, 0u>::ThenCallbackBase::dispatch(WTF::NativePromise<void, void, 0u>&, WTF::Locker<WTF::Lock, void>&)::'lambda'(), void>::call() History: https://results.webkit.org/?suite=layout-tests&suite=layout-tests&test=http%2Fwpt%2Fmediarecorder%2FMediaRecorder-video-bitrate.html&test=http%2Fwpt%2Fmediarecorder%2Fpause-recording.html&platform=mac&style=debug
Attachments
Radar WebKit Bug Importer
Comment 1 2024-12-17 16:01:59 PST
EWS
Comment 2 2024-12-17 16:19:24 PST
Test gardening commit 287971@main (636a7bf6fa79): <https://commits.webkit.org/287971@main> Reviewed commits have been landed. Closing PR #38111 and removing active labels.
Ryan Haddad
Comment 3 2024-12-20 10:56:00 PST
The assertion failure has moved to a new test (http/wpt/mediarecorder/record-96KHz-sources.html) https://results.webkit.org/?suite=layout-tests&test=http%2Fwpt%2Fmediarecorder%2Frecord-96KHz-sources.html&style=debug
Jean-Yves Avenard [:jya]
Comment 4 2025-01-07 00:21:04 PST
EWS
Comment 5 2025-01-07 21:33:04 PST
Committed 288583@main (f75e1eb03f25): <https://commits.webkit.org/288583@main> Reviewed commits have been landed. Closing PR #38627 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.