New issue
Advanced search Search tips

Issue 707949 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Apr 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

CHECK failure: m_contextState == Suspended in BaseAudioContext.cpp

Project Member Reported by ClusterFuzz, Apr 3 2017

Issue description

Components: Blink>WebAudio
Labels: Test-Predator-Wrong M-59
Owner: rtoy@chromium.org
Status: Assigned (was: Untriaged)
Through code search on file BaseAudioContext.cpp, suspected CL is
https://chromium.googlesource.com/chromium/src/+/3010bfc167e7af9d4ecd48a54189c721c2b93dbf%5E%21/#F2
rtoy@, could you please take a look?.
Thank you

Comment 2 by rtoy@chromium.org, Apr 5 2017

Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 6 2017

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

commit 5149859e198b741fe8c89a165e4035339efcdb62
Author: rtoy <rtoy@chromium.org>
Date: Thu Apr 06 16:42:52 2017

Resume() should return if context is already running

It's valid to call AudioContext.resume() if the context is already
running.  The promise should resolve immediately; we can handle the
promise now instead of saving it on a list to be resolved later.  This
prevents us from setting the context state to running again when it's
already running, because that triggers a DCHECK.

The spedc also says to resolve the promise when the context is already
running.

BUG= 707949 
TEST=audiocontext-suspend-resume.html

Review-Url: https://codereview.chromium.org/2798973002
Cr-Commit-Position: refs/heads/master@{#462506}

[modify] https://crrev.com/5149859e198b741fe8c89a165e4035339efcdb62/third_party/WebKit/LayoutTests/webaudio/AudioContext/audiocontext-suspend-resume.html
[modify] https://crrev.com/5149859e198b741fe8c89a165e4035339efcdb62/third_party/WebKit/Source/modules/webaudio/AudioContext.cpp

Project Member

Comment 4 by ClusterFuzz, Apr 7 2017

ClusterFuzz has detected this issue as fixed in range 462366:462558.

Detailed report: https://clusterfuzz.com/testcase?key=4845503633424384

Fuzzer: mbarbella_js_mutation_layout
Job Type: linux_debug_content_shell_drt
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  m_contextState == Suspended in BaseAudioContext.cpp
  blink::BaseAudioContext::setContextState
  blink::BaseAudioContext::resolvePromisesForResumeOnMainThread
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_debug_content_shell_drt&range=455700:456019
Fixed: https://clusterfuzz.com/revisions?job=linux_debug_content_shell_drt&range=462366:462558

Reproducer Testcase: https://clusterfuzz.com/download/AMIfv940ROFfycaCTP9_oV4yXWWVVR3bk115nPbh7vR0WEcPgkgZ1klZzlU3K4KfxIlRWMLN1njfa7N8Cvy6ApNKBJM39MPQhRJuiL2r7AAJDsmbasd_DOnDtvrbtIWy-3a9Xk4CUMGUw7YQGRBplx-307YsOMYol8Xpmdybe38aggqV9I_Eg5IrGeaUdQoSCc2jYP3NI6w5sHJEdocIq_V3w2w8DoQhURiRiRXMThqm2huI5jG4uw5uEbpE0T8viKhQFTNGImGZ-mEp1fcVl5H1-xc7lVfLi71ImSQonGUddPgZs18j4E4RP_V0XamobG4_ltMwpOVCPNaERzxc_A6sJFnpHazaUe1r_UtO5vVjBLmLohdnixM?testcase_id=4845503633424384


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 5 by ClusterFuzz, Apr 7 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Started)
ClusterFuzz testcase 4845503633424384 is verified as fixed, so closing issue.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment