New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 729275 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 727091
Owner:
Email to this user bounced
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Data race in blink::BaseAudioContext::HandleStoppableSourceNodes

Project Member Reported by ClusterFuzz, Jun 3 2017

Issue description

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

Fuzzer: inferno_twister_c
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race READ 8
Crash Address: 0x7ea23c441d58
Crash State:
  blink::BaseAudioContext::HandleStoppableSourceNodes
  blink::BaseAudioContext::HandlePreRenderTasks
  blink::AudioDestinationHandler::Render
  
Sanitizer: thread (TSAN)

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5370096213295104


Issue filed automatically.

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Cc: ranjitkan@chromium.org
Components: Blink>WebAudio
Labels: -Type-Bug M-61 Test-Predator-Wrong Type-Bug-Regression
Owner: tzik@chromium.org
Status: Assigned (was: Untriaged)
Regression information is not available. The result is the blame information. 

Author: tzik
Project: chromium
Changelist: https://chromium.googlesource.com/chromium/src/+/ecb1b24070b8cbf7958f05ecad9373b979e212b9
Time: Tue Mar 21 07:25:54 2017
The CL last changed line 80 of file callback.h, which is stack frame 6. 

@tzik: Assigning to you, kindly take a look into it. Please help us to find an owner to triage it.

Thanks.!

Comment 2 by tzik@chromium.org, Jun 8 2017

Cc: aarya@google.com
Labels: QA-Triage-Wrong
Owner: ----
Status: Untriaged (was: Assigned)

Comment 3 by rtoy@chromium.org, Jun 8 2017

Cc: sigbjo...@opera.com
I believe this is the same (or very closely related to)  issue 727091 .  This is being worked on in https://codereview.chromium.org/2913303002

sigbjornf@  Is that right?
Owner: sigbjo...@opera.com
Yes, I agree - same underlying issue.

Comment 5 by rtoy@chromium.org, Jun 8 2017

Mergedinto: 727091
Status: Duplicate (was: Untriaged)
Thanks for the info.
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 8 2017

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

commit 548a4efe0d1cf9aa4958b1b73d53a9f0b1126a89
Author: sigbjornf <sigbjornf@opera.com>
Date: Thu Jun 08 21:10:42 2017

Avoid unsafe heap access from audio thread.

The audio thread tries to touch main thread Blink GCed objects in a
select few places, which isn't safe as a GC might concurrently run.

Avoid such cross off-thread usage, rearrange the processing of
finished nodes from the audio thread to the main thread.

R=hongchan,rtoy,haraken
BUG= 727091 , 729275 

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

[modify] https://crrev.com/548a4efe0d1cf9aa4958b1b73d53a9f0b1126a89/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
[modify] https://crrev.com/548a4efe0d1cf9aa4958b1b73d53a9f0b1126a89/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h
[modify] https://crrev.com/548a4efe0d1cf9aa4958b1b73d53a9f0b1126a89/third_party/WebKit/Source/modules/webaudio/OfflineAudioContext.cpp

Project Member

Comment 7 by ClusterFuzz, Jun 9 2017

ClusterFuzz has detected this issue as fixed in range 478007:478121.

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

Fuzzer: inferno_twister_c
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race READ 8
Crash Address: 0x7ea23c441d58
Crash State:
  blink::BaseAudioContext::HandleStoppableSourceNodes
  blink::BaseAudioContext::HandlePreRenderTasks
  blink::AudioDestinationHandler::Render
  
Sanitizer: thread (TSAN)

Fixed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=478007:478121

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5370096213295104


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.

Sign in to add a comment