New issue
Advanced search Search tips

Issue 814984 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-02-26
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

Cloud Print Service leaks processes

Project Member Reported by thestig@chromium.org, Feb 23 2018

Issue description

Chrome Version: 66.0.3353.0
OS: Windows

What steps will reproduce the problem?
(1) Open the Windows Task Manager when Chrome isn't running, observe no chrome.exe processes exist.
(2) Start the Cloud Print Service, add some printers, etc. In a steady state after startup and configuration, there should be 1 chrome.exe process.
(3) Print to the Cloud Print Service from another computer.

What is the expected result?

During a print job, there are 2 chrome.exe instances. After which, there should be 1 again.

What happens instead?

2 chrome.exe instances exist and the second one never goes away.
 

Comment 1 by gov...@chromium.org, Feb 23 2018

Cc: pbomm...@chromium.org
M65 Stable promotion is coming VERY soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Merge has to happen latest by 4:00 PM PT Monday (02/26/18) in order to make it to last M65 beta release next week. Thank you.
Status: Started (was: Assigned)
Will have a CL for this soon. Easy fix once I figured out what's going on. Both the service process and its child process are expecting the other side to disconnect, but neither of them disconnects.

Comment 3 by gov...@chromium.org, Feb 23 2018

Thank you  thestig@. Pls request a merge to M65 once cl is ready and baked in canary.
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6064af4e953d2f127e87101878fe464d63082aa7

commit 6064af4e953d2f127e87101878fe464d63082aa7
Author: Lei Zhang <thestig@chromium.org>
Date: Sat Feb 24 00:28:19 2018

Fix child process leaks in the Cloud Print Connector.

Before r526819, the utility process performing the PDF to EMF conversion
disconnects itself. Its ServiceUtilityProcessHost notices the
disconnection and deletes itself. With r526819, the utility process no
longer disconnects itself, and waits forever for its host to tear down
the connection.

Meet this new expectation and tear down the connection from the host
side.

BUG= 814984 

Change-Id: I505673a82eb4748898819c6664802238738443bb
Reviewed-on: https://chromium-review.googlesource.com/935631
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538959}
[modify] https://crrev.com/6064af4e953d2f127e87101878fe464d63082aa7/chrome/service/cloud_print/print_system_win.cc
[modify] https://crrev.com/6064af4e953d2f127e87101878fe464d63082aa7/chrome/service/service_utility_process_host.cc
[modify] https://crrev.com/6064af4e953d2f127e87101878fe464d63082aa7/chrome/service/service_utility_process_host.h

Status: Fixed (was: Started)
Labels: Merge-TBD
[Auto-generated comment by a script] We noticed that this issue is targeted for M-65; it appears the fix may have landed after branch point, meaning a merge might be required. Please confirm if a merge is required here - if so add Merge-Request-65 label, otherwise remove Merge-TBD label. Thanks.

Comment 7 by gov...@chromium.org, Feb 24 2018

NextAction: 2018-02-26
Pls request a merge to M65 once CL listed at #22 is baked/verified in canary on Monday. Thank you.
The NextAction date has arrived: 2018-02-26
Labels: Needs-Feedback
@thestig:
With reference to Comment#0, steps to reproduce the problem it is mentioned in step-1 as "we need to kill all the chrome.exe processes from Task Manager" and in step-2 it is mentioned as "To start cloud print service and add some printers", could you please let us know after closing all the chrome instances how we can start cloud print service, please provide your feedback on it which helps us in verifying the fix.

Thanks!
re: comment 9 - Download from https://tools.google.com/dlpage/cloudprintservice
I should mention, the Cloud Print Service usually expects to interact with Chrome Stable channel. So one must use the 66.0.3354.0 stable channel installer, and not run it as Canary channel.
thestig@, did you get chance to verify this bug on latest canary? Is the fix look good in canary?
Looks ok here. Since I was able to print, that means  bug 813101  also did not occur.
Thank you  thestig@. Approving merge to M65 branch 3325 based on comment #13. Please merge ASAP.
Labels: Merge-Request-65
Labels: -Merge-TBD -Merge-Request-65 Merge-Approved-65
Project Member

Comment 17 by bugdroid1@chromium.org, Feb 26 2018

Labels: -merge-approved-65 merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6db8bcf8a7c6c5df71636f79fbacef7dda5c6e0f

commit 6db8bcf8a7c6c5df71636f79fbacef7dda5c6e0f
Author: Lei Zhang <thestig@chromium.org>
Date: Mon Feb 26 23:14:02 2018

M65: Fix child process leaks in the Cloud Print Connector.

Before r526819, the utility process performing the PDF to EMF conversion
disconnects itself. Its ServiceUtilityProcessHost notices the
disconnection and deletes itself. With r526819, the utility process no
longer disconnects itself, and waits forever for its host to tear down
the connection.

Meet this new expectation and tear down the connection from the host
side.

BUG= 814984 
TBR=rockot@chromium.org

(cherry picked from commit 6064af4e953d2f127e87101878fe464d63082aa7)

Change-Id: I505673a82eb4748898819c6664802238738443bb
Reviewed-on: https://chromium-review.googlesource.com/935631
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#538959}
Reviewed-on: https://chromium-review.googlesource.com/938670
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#599}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/6db8bcf8a7c6c5df71636f79fbacef7dda5c6e0f/chrome/service/cloud_print/print_system_win.cc
[modify] https://crrev.com/6db8bcf8a7c6c5df71636f79fbacef7dda5c6e0f/chrome/service/service_utility_process_host.cc
[modify] https://crrev.com/6db8bcf8a7c6c5df71636f79fbacef7dda5c6e0f/chrome/service/service_utility_process_host.h

Verified with 65.0.3325.106 - installed as Stable channel on Windows 10, registered & started GCP service, and successfully printed to the shared printer from another machine. I actually saw 3 chrome processes in steady state (possibly related to extensions on the profile I was using), but was able to verify that they increased to 4 when I printed from another machine to one of the shared printers and then decreased back to 3 after the print job went to the printer, so they are not increasing per print job.
Installed Chrome version  65.0.3325.106 on Windows 10 Pro N
When Chrome is launched , I could see 14 chrome.exe processes
When registration was in process , I could see 17 Chrome.exe processes
While printing I could see 19 chrome.exe processes
After printing job is done I could see 14 chrome.exe processes

Sign in to add a comment