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

Issue 7870008: Wait properly for renderer crashes (Closed)

Created:
9 years, 3 months ago by Paweł Hajdan Jr.
Modified:
9 years, 3 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, jam, darin-cc_chromium.org, kkania, Paweł Hajdan Jr., Vangelis Kokkevis
Visibility:
Public.

Description

Wait properly for renderer crashes This replaces a Sleep in automation with a wait for renderer crash. It turns out that our IPC on POSIX had one loophole that caused it not to notice very early crashes, so I also fixed that. The problem was that when the child process died before connecting to the parent's IPC channel, the parent wouldn't notice the crash because the child end of the IPC pipe was kept open for too long. This change makes the code close the child end of the pipe right after forking the child. This might also help with automation not noticing the browser crash during initial launch, or at least should be a good step toward fixing that problem. BUG=38497, 90489 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=101760

Patch Set 1 #

Patch Set 2 : fixes #

Patch Set 3 : fix ipc_tests #

Patch Set 4 : fix mac #

Patch Set 5 : mac #

Patch Set 6 : fix win? #

Total comments: 9

Patch Set 7 : fixes #

Patch Set 8 : fixes #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+152 lines, -86 lines) Patch
M chrome/browser/automation/automation_provider_observers.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/automation/automation_provider_observers.cc View 1 2 3 4 5 6 3 chunks +30 lines, -2 lines 0 comments Download
M chrome/browser/importer/firefox_importer_unittest_utils_mac.cc View 1 2 3 4 5 6 7 4 chunks +9 lines, -8 lines 0 comments Download
M chrome/common/logging_chrome_uitest.cc View 1 2 3 4 5 3 chunks +13 lines, -16 lines 0 comments Download
M chrome/test/automation/automation_proxy.h View 1 2 3 4 5 6 1 chunk +1 line, -3 lines 0 comments Download
M chrome/test/automation/automation_proxy.cc View 1 2 3 4 5 6 1 chunk +3 lines, -9 lines 0 comments Download
M chrome/test/automation/proxy_launcher.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M chrome/test/automation/proxy_launcher.cc View 1 2 3 4 5 6 7 7 chunks +19 lines, -12 lines 1 comment Download
M content/browser/browser_child_process_host.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M content/browser/child_process_launcher.cc View 1 2 chunks +5 lines, -0 lines 0 comments Download
M content/browser/renderer_host/browser_render_process_host.cc View 1 2 3 4 5 6 2 chunks +2 lines, -1 line 0 comments Download
M content/common/gpu/gpu_channel.h View 1 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/gpu_channel.cc View 1 1 chunk +5 lines, -5 lines 0 comments Download
M content/common/gpu/gpu_channel_manager.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download
M content/plugin/plugin_channel.h View 1 2 3 4 5 6 1 chunk +3 lines, -1 line 0 comments Download
M content/plugin/plugin_thread.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M ipc/ipc_channel.h View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M ipc/ipc_channel_posix.h View 1 2 chunks +4 lines, -1 line 0 comments Download
M ipc/ipc_channel_posix.cc View 1 2 7 chunks +32 lines, -18 lines 0 comments Download
M ipc/ipc_channel_proxy.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M ipc/ipc_channel_proxy.cc View 1 1 chunk +10 lines, -4 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Paweł Hajdan Jr.
Please review: Darin: ipc, content, chrome Al (apatrick): content/common/gpu Scott: chrome/test
9 years, 3 months ago (2011-09-12 22:15:46 UTC) #1
sky
chrome/test LGTM
9 years, 3 months ago (2011-09-12 22:36:25 UTC) #2
apatrick_chromium
content/common/gpu LGTM
9 years, 3 months ago (2011-09-12 22:38:36 UTC) #3
apatrick_chromium
+vangelis who is tracking a bug that might be related.
9 years, 3 months ago (2011-09-13 18:54:11 UTC) #4
Paweł Hajdan Jr.
Darin: ping, please take a look.
9 years, 3 months ago (2011-09-14 22:39:53 UTC) #5
darin (slow to review)
http://codereview.chromium.org/7870008/diff/12001/chrome/browser/automation/automation_provider_observers.cc File chrome/browser/automation/automation_provider_observers.cc (right): http://codereview.chromium.org/7870008/diff/12001/chrome/browser/automation/automation_provider_observers.cc#newcode142 chrome/browser/automation/automation_provider_observers.cc:142: // Treat every closing render process as a crash. ...
9 years, 3 months ago (2011-09-15 05:43:37 UTC) #6
Paweł Hajdan Jr.
Darin, PTAL. http://codereview.chromium.org/7870008/diff/12001/chrome/browser/automation/automation_provider_observers.cc File chrome/browser/automation/automation_provider_observers.cc (right): http://codereview.chromium.org/7870008/diff/12001/chrome/browser/automation/automation_provider_observers.cc#newcode142 chrome/browser/automation/automation_provider_observers.cc:142: // Treat every closing render process as ...
9 years, 3 months ago (2011-09-15 18:36:44 UTC) #7
darin (slow to review)
9 years, 3 months ago (2011-09-19 15:18:54 UTC) #8
LGTM

http://codereview.chromium.org/7870008/diff/20002/chrome/test/automation/prox...
File chrome/test/automation/proxy_launcher.cc (right):

http://codereview.chromium.org/7870008/diff/20002/chrome/test/automation/prox...
chrome/test/automation/proxy_launcher.cc:478:
fds.push_back(std::make_pair(ipcfd, kPrimaryIPCChannel + 3));
looks like this worked out well...

Powered by Google App Engine
This is Rietveld 408576698