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

Issue 5362003: Stopgap fix for crash in issue 53867 comment 15 (Closed)

Created:
10 years ago by Nico
Modified:
9 years, 7 months ago
CC:
chromium-reviews, vrk (LEFT CHROMIUM), fbarchard, ddorwin+watch_chromium.org, Alpha Left Google, acolwell GONE FROM CHROMIUM, annacc, darin-cc_chromium.org, awong, brettw-cc_chromium.org, scherkus (not reviewing), pam+watch_chromium.org
Visibility:
Public.

Description

Stopgap fix for crash in issue 53867 comment 15 gwtquake lets the renderer create > 300 threads (one per audio element?), and eventually thread creation fails. This CL makes the media code more robust against thread creation failure (currently, it just crashes the renderer). The Real Fix probably is to have a thread pool for media stuff instead of one thread per media object. And maybe threads just leak under some circumstances. I will file a follow-up bug for that case, hopefully with a reduced test case. BUG=53867, 61293 TEST=Completing the first level in gwtquake shouldn't crash the renderer. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=67824

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : fixed! #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Total comments: 8

Patch Set 9 : comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+125 lines, -80 lines) Patch
M chrome/renderer/render_view.cc View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -4 lines 0 comments Download
M media/base/pipeline_impl.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M media/base/pipeline_impl.cc View 1 2 3 4 5 6 7 9 chunks +70 lines, -54 lines 0 comments Download
M webkit/glue/webmediaplayer_impl.h View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -5 lines 0 comments Download
M webkit/glue/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 3 chunks +18 lines, -10 lines 0 comments Download
M webkit/support/webkit_support.cc View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -3 lines 0 comments Download
M webkit/tools/test_shell/test_webview_delegate.cc View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -3 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Nico
This only papers over the crash (thread.Start() fails), and something else crashes a little later, ...
10 years ago (2010-11-30 01:39:32 UTC) #1
Nico
The CL now fixes all crashes that happen when you complete the first level in ...
10 years ago (2010-12-01 03:13:32 UTC) #2
scherkus (not reviewing)
LGTM w/ nits thanks again for looking into this -- you are a brave soul ...
10 years ago (2010-12-01 06:37:54 UTC) #3
Nico
10 years ago (2010-12-01 06:46:04 UTC) #4
Thanks for the review!

http://codereview.chromium.org/5362003/diff/18001/webkit/glue/webmediaplayer_...
File webkit/glue/webmediaplayer_impl.cc (right):

http://codereview.chromium.org/5362003/diff/18001/webkit/glue/webmediaplayer_...
webkit/glue/webmediaplayer_impl.cc:252: fprintf(stderr, "returning early\n");
On 2010/12/01 06:37:55, scherkus wrote:
> looks like leftover debugging code

Done.

http://codereview.chromium.org/5362003/diff/18001/webkit/glue/webmediaplayer_...
File webkit/glue/webmediaplayer_impl.h (right):

http://codereview.chromium.org/5362003/diff/18001/webkit/glue/webmediaplayer_...
webkit/glue/webmediaplayer_impl.h:172: // Callers must call |initialization()|
before they can use the object.
On 2010/12/01 06:37:55, scherkus wrote:
> |initialization()| -> initialize()

Done.

http://codereview.chromium.org/5362003/diff/18001/webkit/glue/webmediaplayer_...
webkit/glue/webmediaplayer_impl.h:178: bool initialize(
On 2010/12/01 06:37:55, scherkus wrote:
> nit: actually this method can be Chromium styled (i.e., Initialize vs.
> initialize)
> 
> the camelCase methods are due to implementing WebMediaPlayer interface, but
> since we don't really want to have to change that interface we can simply go
> with Initialize() with a capital I

Done.

http://codereview.chromium.org/5362003/diff/18001/webkit/glue/webmediaplayer_...
webkit/glue/webmediaplayer_impl.h:179: MediaResourceLoaderBridgeFactory*
bridge_factory_simple,
On 2010/12/01 06:37:55, scherkus wrote:
> nit: indent by 4 spaces

Done.

Powered by Google App Engine
This is Rietveld 408576698