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

Issue 2644843007: 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
Target Ref:
refs/pending/branch-heads/2924
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} (cherry picked from commit fe2fecc147dceea5d6445140448d1ae8a53ecfcb) Review-Url: https://codereview.chromium.org/2644843007 . Cr-Commit-Position: refs/branch-heads/2924@{#822} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} Committed: https://chromium.googlesource.com/chromium/src/+/99fdcd508bf021c25171f9e4c411a8e4a3f6eaed

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: 2 (1 generated)
Ken Rockot(use gerrit already)
3 years, 11 months ago (2017-01-20 21:24:38 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
99fdcd508bf021c25171f9e4c411a8e4a3f6eaed.

Powered by Google App Engine
This is Rietveld 408576698