Title: [285085] trunk
Revision
285085
Author
cdu...@apple.com
Date
2021-10-30 18:18:06 -0700 (Sat, 30 Oct 2021)

Log Message

[ BigSur wk2 Debug arm64 ] webaudio/AudioBufferSource/audiobuffersource-playbackrate.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=232500
<rdar://problem/84816843>

Reviewed by Eric Carlson.

Source/WebCore:

The call to HashSet::remove() may cause a memory allocation so we need to extend the scope of the
DisableMallocRestrictionsForCurrentThreadScope to avoid assertion hits in debug builds.

No new tests, unskipped existing test.

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

LayoutTests:

Unskip test that is no longer crashing.

* platform/mac-wk2/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (285084 => 285085)


--- trunk/LayoutTests/ChangeLog	2021-10-30 22:58:21 UTC (rev 285084)
+++ trunk/LayoutTests/ChangeLog	2021-10-31 01:18:06 UTC (rev 285085)
@@ -1,3 +1,15 @@
+2021-10-30  Chris Dumez  <cdu...@apple.com>
+
+        [ BigSur wk2 Debug arm64 ] webaudio/AudioBufferSource/audiobuffersource-playbackrate.html is a flaky crash
+        https://bugs.webkit.org/show_bug.cgi?id=232500
+        <rdar://problem/84816843>
+
+        Reviewed by Eric Carlson.
+
+        Unskip test that is no longer crashing.
+
+        * platform/mac-wk2/TestExpectations:
+
 2021-10-30  Brandon Stewart  <brandonstew...@apple.com>
 
         Selection extend() should trigger exception with no ranges

Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (285084 => 285085)


--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-10-30 22:58:21 UTC (rev 285084)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-10-31 01:18:06 UTC (rev 285085)
@@ -1694,4 +1694,3 @@
 
 webkit.org/b/232497 [ BigSur Debug ] media/media-source/media-source-istypesupported-case-sensitive.html [ Pass Crash ]
 
-webkit.org/b/232500 [ Catalina BigSur Debug ] webaudio/AudioBufferSource/audiobuffersource-playbackrate.html [ Pass Crash ]

Modified: trunk/Source/WebCore/ChangeLog (285084 => 285085)


--- trunk/Source/WebCore/ChangeLog	2021-10-30 22:58:21 UTC (rev 285084)
+++ trunk/Source/WebCore/ChangeLog	2021-10-31 01:18:06 UTC (rev 285085)
@@ -1,3 +1,19 @@
+2021-10-30  Chris Dumez  <cdu...@apple.com>
+
+        [ BigSur wk2 Debug arm64 ] webaudio/AudioBufferSource/audiobuffersource-playbackrate.html is a flaky crash
+        https://bugs.webkit.org/show_bug.cgi?id=232500
+        <rdar://problem/84816843>
+
+        Reviewed by Eric Carlson.
+
+        The call to HashSet::remove() may cause a memory allocation so we need to extend the scope of the
+        DisableMallocRestrictionsForCurrentThreadScope to avoid assertion hits in debug builds.
+
+        No new tests, unskipped existing test.
+
+        * Modules/webaudio/AudioSummingJunction.cpp:
+        (WebCore::AudioSummingJunction::removeOutput):
+
 2021-10-30  Brandon Stewart  <brandonstew...@apple.com>
 
         Selection extend() should trigger exception with no ranges

Modified: trunk/Source/WebCore/Modules/webaudio/AudioSummingJunction.cpp (285084 => 285085)


--- trunk/Source/WebCore/Modules/webaudio/AudioSummingJunction.cpp	2021-10-30 22:58:21 UTC (rev 285084)
+++ trunk/Source/WebCore/Modules/webaudio/AudioSummingJunction.cpp	2021-10-31 01:18:06 UTC (rev 285085)
@@ -75,13 +75,15 @@
 {
     ASSERT(context());
     ASSERT(context()->isGraphOwner());
+
+    // Heap allocations are forbidden on the audio thread for performance reasons so we need to
+    // explicitly allow the following allocation(s).
+    DisableMallocRestrictionsForCurrentThreadScope disableMallocRestrictions;
+
     if (!m_outputs.remove(&output))
         return false;
 
     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
         m_pendingRenderingOutputs.removeFirst(&output);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to