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

Issue 9235052: Fix race condition in utility process clients (Closed)

Created:
8 years, 11 months ago by dgrogan
Modified:
8 years, 11 months ago
Reviewers:
jam, jsbell
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, native-client-reviews_googlegroups.com, jam, apatrick_chromium
Visibility:
Public.

Description

A few clients of the utility process had a race condition that could lead to a browser crash if the utility process crashed. IndexedDB was the worst offender. WebstoreInstallHelper, the profile importer, and posix plugin loader were also affected. As a side effect, NaClProcessHost and GpuProcessHost are now notified when their respective processes are killed and treat such an occurrence as a crash. BUG=108871 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=119340

Patch Set 1 #

Total comments: 6

Patch Set 2 : revert name to OnProcessCrashed #

Patch Set 3 : revert comments in browser_child_process_host_delegate.h #

Total comments: 2

Patch Set 4 : fix other instances of this error #

Patch Set 5 : added warning comment #

Total comments: 1

Patch Set 6 : updated comment #

Patch Set 7 : sync to ToT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+50 lines, -33 lines) Patch
M chrome/browser/extensions/webstore_install_helper.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/webstore_install_helper.cc View 1 2 3 3 chunks +6 lines, -4 lines 0 comments Download
M chrome/browser/importer/external_process_importer_client.h View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M chrome/browser/importer/external_process_importer_client.cc View 1 2 3 3 chunks +2 lines, -3 lines 0 comments Download
M content/browser/browser_child_process_host_impl.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/in_process_webkit/indexed_db_key_utility_client.cc View 1 2 3 7 chunks +20 lines, -13 lines 0 comments Download
M content/browser/indexed_db/idbbindingutilities_browsertest.cc View 1 2 3 4 5 6 4 chunks +3 lines, -4 lines 0 comments Download
M content/browser/plugin_loader_posix.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M content/browser/plugin_loader_posix.cc View 1 2 3 3 chunks +6 lines, -4 lines 0 comments Download
M content/browser/utility_process_host.h View 1 2 3 4 5 2 chunks +6 lines, -1 line 0 comments Download
M content/browser/utility_process_host.cc View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
dgrogan
jsbell, could you review the indexeddb parts? jam, could you let me know if you ...
8 years, 11 months ago (2012-01-26 03:47:02 UTC) #1
jam
http://codereview.chromium.org/9235052/diff/1/content/browser/browser_child_process_host_impl.cc File content/browser/browser_child_process_host_impl.cc (right): http://codereview.chromium.org/9235052/diff/1/content/browser/browser_child_process_host_impl.cc#newcode232 content/browser/browser_child_process_host_impl.cc:232: delegate_->OnProcessCrashedOrWasKilled(exit_code); it seems that consumers don't care if it ...
8 years, 11 months ago (2012-01-26 03:56:18 UTC) #2
jsbell
What does the behavior in IDB end up being after the utility process crashes, both ...
8 years, 11 months ago (2012-01-26 04:12:48 UTC) #3
dgrogan
http://codereview.chromium.org/9235052/diff/1/content/browser/browser_child_process_host_impl.cc File content/browser/browser_child_process_host_impl.cc (right): http://codereview.chromium.org/9235052/diff/1/content/browser/browser_child_process_host_impl.cc#newcode232 content/browser/browser_child_process_host_impl.cc:232: delegate_->OnProcessCrashedOrWasKilled(exit_code); On 2012/01/26 03:56:18, John Abd-El-Malek wrote: > it ...
8 years, 11 months ago (2012-01-26 04:17:39 UTC) #4
jam
http://codereview.chromium.org/9235052/diff/1/content/browser/utility_process_host.h File content/browser/utility_process_host.h (right): http://codereview.chromium.org/9235052/diff/1/content/browser/utility_process_host.h#newcode33 content/browser/utility_process_host.h:33: public base::SupportsWeakPtr<UtilityProcessHost> { On 2012/01/26 04:17:39, dgrogan wrote: > ...
8 years, 11 months ago (2012-01-26 05:17:00 UTC) #5
dgrogan
jam, could you take another look? http://codereview.chromium.org/9235052/diff/1/content/browser/utility_process_host.h File content/browser/utility_process_host.h (right): http://codereview.chromium.org/9235052/diff/1/content/browser/utility_process_host.h#newcode33 content/browser/utility_process_host.h:33: public base::SupportsWeakPtr<UtilityProcessHost> { ...
8 years, 11 months ago (2012-01-26 23:17:58 UTC) #6
jam
lgtm, thanks! http://codereview.chromium.org/9235052/diff/3008/content/browser/utility_process_host.h File content/browser/utility_process_host.h (right): http://codereview.chromium.org/9235052/diff/3008/content/browser/utility_process_host.h#newcode31 content/browser/utility_process_host.h:31: // Note: If you keep a ptr ...
8 years, 11 months ago (2012-01-26 23:32:15 UTC) #7
dgrogan
On 2012/01/26 04:12:48, jsbell wrote: > What does the behavior in IDB end up being ...
8 years, 11 months ago (2012-01-26 23:32:16 UTC) #8
jsbell
On 2012/01/26 23:32:16, dgrogan wrote: > > If there's an error duing injection, we might ...
8 years, 11 months ago (2012-01-26 23:34:51 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dgrogan@chromium.org/9235052/2018
8 years, 11 months ago (2012-01-26 23:48:18 UTC) #10
commit-bot: I haz the power
8 years, 11 months ago (2012-01-27 02:04:51 UTC) #11
Change committed as 119340

Powered by Google App Engine
This is Rietveld 408576698