Title: [277721] trunk/Source/WebCore
Revision
277721
Author
cdu...@apple.com
Date
2021-05-19 08:04:36 -0700 (Wed, 19 May 2021)

Log Message

Fix flaky assertion hit under AudioSummingJunction::removeOutput()
https://bugs.webkit.org/show_bug.cgi?id=225951

Reviewed by Eric Carlson.

Temporarily disable assertion preventing heap allocations on the audio thread
in AudioSummingJunction::removeOutput() as it is flakily hitting on the bots.

* Modules/webaudio/AudioSummingJunction.cpp:
(WebCore::AudioSummingJunction::removeOutput):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (277720 => 277721)


--- trunk/Source/WebCore/ChangeLog	2021-05-19 14:47:40 UTC (rev 277720)
+++ trunk/Source/WebCore/ChangeLog	2021-05-19 15:04:36 UTC (rev 277721)
@@ -1,3 +1,16 @@
+2021-05-19  Chris Dumez  <cdu...@apple.com>
+
+        Fix flaky assertion hit under AudioSummingJunction::removeOutput()
+        https://bugs.webkit.org/show_bug.cgi?id=225951
+
+        Reviewed by Eric Carlson.
+
+        Temporarily disable assertion preventing heap allocations on the audio thread
+        in AudioSummingJunction::removeOutput() as it is flakily hitting on the bots.
+
+        * Modules/webaudio/AudioSummingJunction.cpp:
+        (WebCore::AudioSummingJunction::removeOutput):
+
 2021-05-19  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [GPU Process] Add more bounds checking and input validation in DisplayListIterator

Modified: trunk/Source/WebCore/Modules/webaudio/AudioSummingJunction.cpp (277720 => 277721)


--- trunk/Source/WebCore/Modules/webaudio/AudioSummingJunction.cpp	2021-05-19 14:47:40 UTC (rev 277720)
+++ trunk/Source/WebCore/Modules/webaudio/AudioSummingJunction.cpp	2021-05-19 15:04:36 UTC (rev 277721)
@@ -78,9 +78,12 @@
     if (!m_outputs.remove(&output))
         return false;
 
-    if (m_pendingRenderingOutputs.isEmpty())
+    if (m_pendingRenderingOutputs.isEmpty()) {
+        // Heap allocations are forbidden on the audio thread for performance reasons so we need to
+        // explicitly allow the following allocation(s).
+        DisableMallocRestrictionsForCurrentThreadScope disableMallocRestrictions;
         m_pendingRenderingOutputs = copyToVector(m_outputs);
-    else
+    } else
         m_pendingRenderingOutputs.removeFirst(&output);
 
     markRenderingStateAsDirty();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to