Bug 227046 - [Mac EWS] TestWebKitAPI.WebKit.AudioBufferSize is flaky timing out on EWS
Summary: [Mac EWS] TestWebKitAPI.WebKit.AudioBufferSize is flaky timing out on EWS
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Audio (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Eric Carlson
Keywords: InRadar
Depends on:
Reported: 2021-06-15 14:06 PDT by Truitt Savell
Modified: 2021-06-17 09:34 PDT (History)
5 users (show)

See Also:

Patch (2.84 KB, patch)
2021-06-16 11:40 PDT, Eric Carlson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Truitt Savell 2021-06-15 14:06:06 PDT

This test is very frequently timing out on Mac EWS. It does not seem to be appearing in post commit bots though.
It looks like this started timing out on EWS around r278788 

Ews runs:

Comment 1 Radar WebKit Bug Importer 2021-06-15 14:06:28 PDT
Comment 2 Chris Dumez 2021-06-15 14:16:07 PDT
r278788 is a logging patch so it is unlikely to be the cause?

+ Eric / Jer as this is an API test that was fairly recently introduced by them (r277876).
Comment 3 Truitt Savell 2021-06-15 14:34:13 PDT
Thanks Chris! I didn't think r278788 started the issue, just where I first saw it fail on EWS. It would seem likely then that this API test has been failing sense introduction in r277876
Comment 4 Chris Dumez 2021-06-15 15:23:59 PDT
I don't know much about this particular test but if it relies on the GPUProcess, it might also be related to the following flaky crash that is still occurring on our bots:

ASSERTION FAILED: isInRoutingArbitrationForToken(token) || m_setupArbitrationOngoing
./platform/audio/mac/SharedRoutingArbitrator.mm(123) : void WebCore::SharedRoutingArbitrator::endRoutingArbitrationForToken(const WebCore::SharedRoutingArbitrator::Token &)
1   0x100f29ec0 WTFCrash
2   0x11d9f3540 JSC::JSValue::isUndefined() const
3   0x11eb8d5f4 WebCore::SharedRoutingArbitrator::endRoutingArbitrationForToken(WebCore::SharedRoutingArbitrator::Token const&)
4   0x10aa650f4 WebKit::AudioSessionRoutingArbitratorProxy::endRoutingArbitration()
5   0x1093c13f8 void IPC::callMemberFunctionImpl<WebKit::AudioSessionRoutingArbitratorProxy, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(), std::__1::tuple<> >(WebKit::AudioSessionRoutingArbitratorProxy*, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(), std::__1::tuple<>&&, std::__1::integer_sequence<unsigned long>)
6   0x1093c0f30 void IPC::callMemberFunction<WebKit::AudioSessionRoutingArbitratorProxy, void (WebKit::AudioSessionRoutingArbitratorProxy::*)(), std::__1::tuple<>, std::__1::integer_sequence<unsigned long> >(std::__1::tuple<>&&, WebKit::AudioSessionRoutingArbitratorProxy*, void (WebKit::AudioSessionRoutingArbitratorProxy::*)())
7   0x1093bd53c void IPC::handleMessage<Messages::AudioSessionRoutingArbitratorProxy::EndRoutingArbitration, WebKit::AudioSessionRoutingArbitratorProxy, void (WebKit::AudioSessionRoutingArbitratorProxy::*)()>(IPC::Decoder&, WebKit::AudioSessionRoutingArbitratorProxy*, void (WebKit::AudioSessionRoutingArbitratorProxy::*)())
8   0x1093bd2b8 WebKit::AudioSessionRoutingArbitratorProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
9   0x109959c78 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
10  0x10a9b09e4 WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&)
11  0x10ac9f3b8 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
12  0x10941a428 IPC::Connection::dispatchMessage(IPC::Decoder&)
13  0x10941ab70 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
14  0x109419118 IPC::Connection::dispatchIncomingMessages()
15  0x10943dbf8 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_12::operator()()
16  0x10943db00 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_12, void>::call()
17  0x100f53498 WTF::Function<void ()>::operator()() const
18  0x100fd6ffc WTF::RunLoop::performWork()
19  0x100fdbd28 WTF::RunLoop::performWork(void*)
Comment 5 Ryan Haddad 2021-06-15 16:44:47 PDT
I couldn't find any TestWebKit API crashes lining up with then timeouts on one of the bots I checked, so I can't confirm it is related to that assert.
Comment 6 Eric Carlson 2021-06-16 11:27:21 PDT
This was caused by r278784
Comment 7 Eric Carlson 2021-06-16 11:40:16 PDT
Created attachment 431574 [details]
Comment 8 EWS 2021-06-17 09:34:27 PDT
Committed r278990 (238916@main): <https://commits.webkit.org/238916@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431574 [details].