Skip to content
This repository was archived by the owner on Jun 24, 2022. It is now read-only.

Commit 64da6d6

Browse files
Crash under JSAudioWorkletProcessorConstructor::~JSAudioWorkletProcessorConstructor()
https://bugs.webkit.org/show_bug.cgi?id=217448 <rdar://problem/70059902> Reviewed by Geoffrey Garen. Make sure we clear out m_processorConstructorMap in AudioWorkletGlobalScope::prepareForTermination() since this map keeps JS wrappers alive. No new tests, already covered by existing tests that are crashing on ASAN bots. * Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::prepareForTermination): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent f92a477 commit 64da6d6

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

Source/WebCore/ChangeLog

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
2020-10-07 Chris Dumez <[email protected]>
2+
3+
Crash under JSAudioWorkletProcessorConstructor::~JSAudioWorkletProcessorConstructor()
4+
https://bugs.webkit.org/show_bug.cgi?id=217448
5+
<rdar://problem/70059902>
6+
7+
Reviewed by Geoffrey Garen.
8+
9+
Make sure we clear out m_processorConstructorMap in AudioWorkletGlobalScope::prepareForTermination()
10+
since this map keeps JS wrappers alive.
11+
12+
No new tests, already covered by existing tests that are crashing on ASAN bots.
13+
14+
* Modules/webaudio/AudioWorkletGlobalScope.cpp:
15+
(WebCore::AudioWorkletGlobalScope::prepareForTermination):
16+
117
2020-10-07 Tyler Wilcock <[email protected]>
218

319
background-clip:var(--a) invalidates -webkit-background-clip:text when --a:text

Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ void AudioWorkletGlobalScope::prepareForTermination()
115115
defaultTaskGroup->stopAndDiscardAllTasks();
116116
stopActiveDOMObjects();
117117

118+
m_processorConstructorMap.clear();
119+
118120
// Event listeners would keep DOMWrapperWorld objects alive for too long. Also, they have references to JS objects,
119121
// which become dangling once Heap is destroyed.
120122
removeAllEventListeners();

0 commit comments

Comments
 (0)