Title: [278541] trunk/Source/WebCore
- Revision
- 278541
- Author
- [email protected]
- Date
- 2021-06-06 20:53:19 -0700 (Sun, 06 Jun 2021)
Log Message
Flaky assertion hit in AudioSessionRoutingArbitratorProxy::endRoutingArbitration()
https://bugs.webkit.org/show_bug.cgi?id=226699
Reviewed by Darin Adler.
If m_setupArbitrationOngoing is true, then beginRoutingArbitrationForToken() only adds the token to
m_tokens once the setup is done, asynchronously. As a result, if endRoutingArbitrationForToken() during
setup, the `isInRoutingArbitrationForToken(token)` assertion will hit, because the token wasn't added
to m_tokens yet. Tweak the assertion so that it doesn't hit when m_setupArbitrationOngoing is true.
This is a speculative fix as I wasn't able to reproduce the assertion hit locally.
* platform/audio/mac/SharedRoutingArbitrator.mm:
(WebCore::SharedRoutingArbitrator::endRoutingArbitrationForToken):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (278540 => 278541)
--- trunk/Source/WebCore/ChangeLog 2021-06-07 02:39:33 UTC (rev 278540)
+++ trunk/Source/WebCore/ChangeLog 2021-06-07 03:53:19 UTC (rev 278541)
@@ -1,3 +1,20 @@
+2021-06-06 Chris Dumez <[email protected]>
+
+ Flaky assertion hit in AudioSessionRoutingArbitratorProxy::endRoutingArbitration()
+ https://bugs.webkit.org/show_bug.cgi?id=226699
+
+ Reviewed by Darin Adler.
+
+ If m_setupArbitrationOngoing is true, then beginRoutingArbitrationForToken() only adds the token to
+ m_tokens once the setup is done, asynchronously. As a result, if endRoutingArbitrationForToken() during
+ setup, the `isInRoutingArbitrationForToken(token)` assertion will hit, because the token wasn't added
+ to m_tokens yet. Tweak the assertion so that it doesn't hit when m_setupArbitrationOngoing is true.
+
+ This is a speculative fix as I wasn't able to reproduce the assertion hit locally.
+
+ * platform/audio/mac/SharedRoutingArbitrator.mm:
+ (WebCore::SharedRoutingArbitrator::endRoutingArbitrationForToken):
+
2021-06-06 Darin Adler <[email protected]>
Handle custom identifiers and strings separately, so we can quote strings correctly consistently
Modified: trunk/Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.mm (278540 => 278541)
--- trunk/Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.mm 2021-06-07 02:39:33 UTC (rev 278540)
+++ trunk/Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.mm 2021-06-07 03:53:19 UTC (rev 278541)
@@ -120,7 +120,7 @@
void SharedRoutingArbitrator::endRoutingArbitrationForToken(const Token& token)
{
- ASSERT(isInRoutingArbitrationForToken(token));
+ ASSERT(isInRoutingArbitrationForToken(token) || m_setupArbitrationOngoing);
m_tokens.remove(token);
if (!m_tokens.computesEmpty())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes