RESOLVED FIXED226787
REGRESSION (r278374): [Big Sur] ASSERTION FAILED: !isInRoutingArbitrationForToken(token) in WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken()
https://bugs.webkit.org/show_bug.cgi?id=226787
Summary REGRESSION (r278374): [Big Sur] ASSERTION FAILED: !isInRoutingArbitrationForT...
Ryan Haddad
Reported 2021-06-08 16:18:25 PDT
TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo ASSERTION FAILED: !isInRoutingArbitrationForToken(token) ./platform/audio/mac/SharedRoutingArbitrator.mm(55) : void WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken(const WebCore::SharedRoutingArbitrator::Token &, AudioSession::CategoryType, WebCore::SharedRoutingArbitrator::ArbitrationCallback &&) 1 0x11053a999 WTFCrash 2 0x12d0f842b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x12ed13ff8 WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken(WebCore::SharedRoutingArbitrator::Token const&, WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&) 4 0x11b8d3559 WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory(WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&) 5 0x11a371398 void IPC::callMemberFunctionImpl<WebKit::AudioSessionRoutingArbitratorProxy, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&), void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged), std::__1::tuple<WebCore::AudioSession::CategoryType>, 0ul>(WebKit::AudioSessionRoutingArbitratorProxy*, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&), WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&, std::__1::tuple<WebCore::AudioSession::CategoryType>&&, std::__1::integer_sequence<unsigned long, 0ul>) 6 0x11a36ed45 void IPC::callMemberFunction<WebKit::AudioSessionRoutingArbitratorProxy, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&), void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged), std::__1::tuple<WebCore::AudioSession::CategoryType>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebCore::AudioSession::CategoryType>&&, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&, WebKit::AudioSessionRoutingArbitratorProxy*, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&)) 7 0x11a36ce1e void IPC::handleMessageAsync<Messages::AudioSessionRoutingArbitratorProxy::BeginRoutingArbitrationWithCategory, WebKit::AudioSessionRoutingArbitratorProxy, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&)>(IPC::Connection&, IPC::Decoder&, WebKit::AudioSessionRoutingArbitratorProxy*, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(WebCore::AudioSession::CategoryType, WTF::CompletionHandler<void (WebCore::AudioSessionRoutingArbitrationClient::RoutingArbitrationError, WebCore::AudioSessionRoutingArbitrationClient::DefaultRouteChanged)>&&)) 8 0x11a36cbe7 WebKit::AudioSessionRoutingArbitratorProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 9 0x11a8cf875 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 10 0x11b8066fe WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) 11 0x11bad73cf WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 12 0x11a3ce474 IPC::Connection::dispatchMessage(IPC::Decoder&) 13 0x11a3cec3f IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 14 0x11a3cd1da IPC::Connection::dispatchIncomingMessages() 15 0x11a3f05e2 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_12::operator()() 16 0x11a3f04ee WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_12, void>::call() 17 0x110568582 WTF::Function<void ()>::operator()() const 18 0x1105f0880 WTF::RunLoop::performWork() 19 0x1105f5201 WTF::RunLoop::performWork(void*) 20 0x7fff205a097c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 21 0x7fff205a08e4 __CFRunLoopDoSource0 22 0x7fff205a0664 __CFRunLoopDoSources0 23 0x7fff2059f08c __CFRunLoopRun 24 0x7fff2059e64c CFRunLoopRunSpecific 25 0x7fff2132c647 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 26 0x10d7a985e TestWebKitAPI::Util::run(bool*) 27 0x10d74f3ec -[WKWebView(TestWebKitAPI) objectByEvaluatingJavaScript:] 28 0x10d0fb546 GPUProcess_CrashWhilePlayingVideo_Test::TestBody()::$_0::operator()() const 29 0x10d0faff7 GPUProcess_CrashWhilePlayingVideo_Test::TestBody() 30 0x10da35324 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) 31 0x10d9f701b void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo
Attachments
Patch (2.04 KB, patch)
2021-06-11 14:38 PDT, Peng Liu
eric.carlson: review+
[fast-cq] Patch for landing (2.04 KB, patch)
2021-06-11 23:50 PDT, Peng Liu
no flags
Ryan Haddad
Comment 1 2021-06-08 16:19:18 PDT
It looks like this started with https://trac.webkit.org/changeset/278374/webkit
Radar WebKit Bug Importer
Comment 2 2021-06-08 16:19:28 PDT
Peng Liu
Comment 3 2021-06-11 14:38:05 PDT
Peng Liu
Comment 4 2021-06-11 23:50:37 PDT
Created attachment 431252 [details] [fast-cq] Patch for landing
EWS
Comment 5 2021-06-12 10:37:31 PDT
Committed r278811 (238766@main): <https://commits.webkit.org/238766@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 431252 [details].
Truitt Savell
Comment 6 2021-06-14 13:31:54 PDT
It looks like this crash is still occurring found it for this test http/tests/cache/disk-cache/disk-cache-media-small.html on a run of r278821 History: https://results.webkit.org/?suite=layout-tests&test=http%2Ftests%2Fcache%2Fdisk-cache%2Fdisk-cache-media-small.html
Truitt Savell
Comment 7 2021-06-14 13:33:19 PDT
also is seems this change caused TestWebKitAPI.GPUProcess.ExitsUnderMemoryPressureVideoCase to start crashing on debug queues for Big Sur with the same assert as the others: ASSERTION FAILED: isInRoutingArbitrationForToken(token) || m_setupArbitrationOngoing history: https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.GPUProcess.ExitsUnderMemoryPressureVideoCase
Truitt Savell
Comment 8 2021-06-14 13:41:39 PDT
(In reply to Truitt Savell from comment #6) > It looks like this crash is still occurring > > found it for this test > http/tests/cache/disk-cache/disk-cache-media-small.html > on a run of r278821 > > History: > https://results.webkit.org/?suite=layout- > tests&test=http%2Ftests%2Fcache%2Fdisk-cache%2Fdisk-cache-media-small.html Disregard this, this is a slightly different assert with isInRoutingArbitrationForToken(token) || m_setupArbitrationOngoing
Peng Liu
Comment 9 2021-06-14 14:43:16 PDT
(In reply to Truitt Savell from comment #8) > Disregard this, this is a slightly different assert with > isInRoutingArbitrationForToken(token) || m_setupArbitrationOngoing This assertion failure will be fixed in bug 226896. Let's close this bug.
Note You need to log in before you can comment on or make changes to this bug.