New issue
Advanced search Search tips

Issue 819845 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

Crash in BaseAudioContext::UpdateWorkletGlobalScopeOnRenderingThread()

Project Member Reported by hongchan@chromium.org, Mar 7 2018

Issue description

When BaseAudioContext is being tear down, AudioWorkletGlobalScope might be already gone at that point. When BAC accesses AWGS, we must check its existence.
 
freeze-processor.js
286 bytes View Download
freeze.html
492 bytes View Download
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8117128603fb296677e5e1997c01f77b735df0bf

commit 8117128603fb296677e5e1997c01f77b735df0bf
Author: Hongchan Choi <hongchan@chromium.org>
Date: Fri Mar 09 00:25:37 2018

Check |global_scope| before updating current frame in render loop

When BaseAudioContext is being tear down, AudioWorkletGlobalScope might
be already gone at that point. When BAC accesses AWGS, we must check its
existence.

Currently, the only access point of |global_scope| in BAC is
UpdateWorkletGlobalScopeOnRenderingThread().

Bug:  819845 
Test: The attached repro case does not crash after 20 min run.
Change-Id: I485668708406639b8b77ae348c57c31782db5438
Reviewed-on: https://chromium-review.googlesource.com/954228
Reviewed-by: Raymond Toy <rtoy@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Commit-Queue: Hongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541954}
[modify] https://crrev.com/8117128603fb296677e5e1997c01f77b735df0bf/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp

Status: Fixed (was: Started)

Comment 3 by ajha@chromium.org, Mar 12 2018

Tried to verify this on Mac OS 10.13.3 manually. Loaded freeze.html on build with fix(67.0.3368.0) and on build without fix(67.0.3360.0) but didn't encounter any crash keeping the freeze.html file open for 15 mins.

So, unable to verify/confirm the fix manually.  

Sign in to add a comment