Bug 284853
Summary: | REGRESSION(287869@main?): [macOS Debug wk2] ASSERTION FAILED: frame->presentationTime() >= m_lastMuxedSampleStartTime in WebCore::MediaRecorderPrivateEncoder::interleaveAndEnqueueNextFrame() | ||
---|---|---|---|
Product: | WebKit | Reporter: | Marta Darbinyan <darbinyan> |
Component: | New Bugs | Assignee: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bot-watchers-bugzilla, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Marta Darbinyan
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 | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/141646476>
EWS
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
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]
Pull request: https://github.com/WebKit/WebKit/pull/38627
EWS
Committed 288583@main (f75e1eb03f25): <https://commits.webkit.org/288583@main>
Reviewed commits have been landed. Closing PR #38627 and removing active labels.