Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Issue 88183002: HTMLMediaElement::clearMediaPlayer should acquire MediaElementAudioSourceNode::lock() (Closed)

Created:
7 years ago by haraken
Modified:
7 years ago
CC:
blink-reviews, nessy, philipj_slow, gasubic, feature-media-reviews_chromium.org, dglazkov+blink, adamk+blink_chromium.org, vcarbune.chromium
Visibility:
Public.

Description

HTMLMediaElement::clearMediaPlayer should acquire MediaElementAudioSourceNode::lock() Crash report: https://cluster-fuzz.appspot.com/testcase?key=5123869056696320 There is threading race between HTMLMediaElement::clearMediaPlayer and other methods which try to use HTMLMediaElement::m_player. clearMediaPlayer has to acquire a lock before clearing m_player, just like createMediaPlayer is acquiring the lock before clearing m_player. c.f., https://chromiumcodereview.appspot.com/23691033/ is a CL that added the lock to createMediaPlayer. BUG=320344 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=162730

Patch Set 1 #

Total comments: 10

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+30 lines, -10 lines) Patch
M Source/core/html/HTMLMediaElement.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLMediaElement.cpp View 1 3 chunks +29 lines, -10 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
haraken
PTAL
7 years ago (2013-11-26 12:51:56 UTC) #1
acolwell GONE FROM CHROMIUM
There is a code smell around this locking business that I can't quite put my ...
7 years ago (2013-11-26 16:08:58 UTC) #2
DaleCurtis
https://codereview.chromium.org/88183002/diff/1/Source/core/html/HTMLMediaElement.cpp File Source/core/html/HTMLMediaElement.cpp (right): https://codereview.chromium.org/88183002/diff/1/Source/core/html/HTMLMediaElement.cpp#newcode3400 Source/core/html/HTMLMediaElement.cpp:3400: audioSourceProvider()->setClient(0); On 2013/11/26 16:08:58, acolwell wrote: > How does ...
7 years ago (2013-11-26 18:36:14 UTC) #3
Ken Russell (switch to Gerrit)
Needs another iteration. https://codereview.chromium.org/88183002/diff/1/Source/core/html/HTMLMediaElement.cpp File Source/core/html/HTMLMediaElement.cpp (right): https://codereview.chromium.org/88183002/diff/1/Source/core/html/HTMLMediaElement.cpp#newcode3390 Source/core/html/HTMLMediaElement.cpp:3390: m_audioSourceNode->lock(); The manual calls to lock() ...
7 years ago (2013-11-26 20:09:24 UTC) #4
acolwell GONE FROM CHROMIUM
On 2013/11/26 20:09:24, Ken Russell wrote: > Needs another iteration. > I agree. I think ...
7 years ago (2013-11-26 20:18:49 UTC) #5
haraken
PTAL. Addressed comments except for the below comment. If you want to fix the below ...
7 years ago (2013-11-27 01:10:28 UTC) #6
Ken Russell (switch to Gerrit)
Thanks for updating the CL. LGTM.
7 years ago (2013-11-27 01:13:28 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/88183002/20001
7 years ago (2013-11-27 01:15:23 UTC) #8
commit-bot: I haz the power
7 years ago (2013-11-27 02:59:19 UTC) #9
Message was sent while issue was closed.
Change committed as 162730

Powered by Google App Engine
This is Rietveld 408576698