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

Issue 2645713004: Always notify Mojo EDK of incomplete content child process launch (Closed)

Created:
3 years, 11 months ago by Ken Rockot(use gerrit already)
Modified:
3 years, 11 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Always notify Mojo EDK of incomplete content child process launch There are some cases where RenderProcessHostImpl creates a ChildConnection - and therefore allocates a partial message pipe with a corresponding pending reservation for the other end, associated with a child token - but never launches a child process or even attempts to use a ChildProcessLauncher. This is intentional due to the fact that ChildConnection facilitates IPC Channel creation, and we support horribly subtle legacy expectations regarding the existence of said Channel at various points in the RPHI's lifetime. In such cases, neither mojo::edk::ChildProcessLaunched nor mojo::edk::ChildProcessLaunchFailed is called for the child token, as this is normally done by ChildProcessLauncher. This leaves the child's ServiceRequest pipe reservation pending indefinitely and thus leaves the corresponding ServiceManager Instance with an indefinitely open Service pipe, effectively causing the Service Manager to leak content_renderer Instances. This CL fixes the problem by having ChildConnection notify the EDK of launch failure if the ChildConnection is destroyed before its user provides a child process handle. BUG=682459 R=ben@chromium.org Review-Url: https://codereview.chromium.org/2645713004 Cr-Commit-Position: refs/heads/master@{#444830} Committed: https://chromium.googlesource.com/chromium/src/+/fe2fecc147dceea5d6445140448d1ae8a53ecfcb

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -2 lines) Patch
M content/browser/browser_child_process_host_impl.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/service_manager/child_connection.h View 1 chunk +2 lines, -0 lines 0 comments Download
M content/common/service_manager/child_connection.cc View 2 chunks +12 lines, -2 lines 0 comments Download

Messages

Total messages: 11 (7 generated)
Ken Rockot(use gerrit already)
3 years, 11 months ago (2017-01-19 19:17:36 UTC) #4
Ben Goodger (Google)
lgtm
3 years, 11 months ago (2017-01-19 19:22:43 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2645713004/1
3 years, 11 months ago (2017-01-19 19:24:18 UTC) #8
commit-bot: I haz the power
3 years, 11 months ago (2017-01-19 20:16:56 UTC) #11
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/chromium/src/+/fe2fecc147dceea5d6445140448d...

Powered by Google App Engine
This is Rietveld 408576698