New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 644322 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 629707
issue 692246



Sign in to add a comment

mash dbus: Refactor LivenessServiceProvider, maybe into mojo_runner

Project Member Reported by jamescook@chromium.org, Sep 6 2016

Issue description

This is a D-Bus service provided by Chrome.

"This is used to respond to pings from session_manager to make sure that the Chrome browser process isn't hanging. I'm not sure what the plan is for session management under mus+ash (will session_manager launch both ash and Chrome?), but it's probably reasonable for this to live in whichever process(es) are directly managed by session_manager."

There are two possible solutions:
* Implement in window server, ash and chrome, as all of them need liveness checks.
* Implement in mojo_runner, which then ensures its clients are running.

 
Labels: Proj-Mustash
Components: Internals>MUS

Comment 3 by derat@chromium.org, Feb 14 2017

Blockedon: 692246
Owner: derat@chromium.org
Status: Assigned (was: Untriaged)

Comment 4 by derat@chromium.org, Mar 16 2017

Owner: teravest@chromium.org
Justin is already working on moving this into a new D-Bus service (tracked at  issue 692246 ). I'll let him decide if he wants to dupe this bug into that one, or keep this bug open to track moving the new service to a different process, or assign it back to me for that part, or what have you.
Status: Started (was: Assigned)

Comment 6 by derat@chromium.org, Mar 20 2017

Cc: teravest@chromium.org jamescook@chromium.org
 Issue 703205  has been merged into this issue.

Comment 7 by derat@chromium.org, Mar 20 2017

Blockedon: -692246
Blocking: 692246
Project Member

Comment 8 by bugdroid1@chromium.org, May 24 2017

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

commit 4bb59edb9d55aa56f4e79236e86f081b92c686ef
Author: teravest <teravest@chromium.org>
Date: Wed May 24 02:56:39 2017

dbus: Provide LivenessService.CheckLiveness

CheckLiveness is being moved to its own service so that it can be moved
outside the browser process for mus+ash.

BUG= 644322 
TEST=Manual dbus-send test on LibCrosService and LivenessService

Review-Url: https://codereview.chromium.org/2904763002
Cr-Commit-Position: refs/heads/master@{#474140}

[modify] https://crrev.com/4bb59edb9d55aa56f4e79236e86f081b92c686ef/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/4bb59edb9d55aa56f4e79236e86f081b92c686ef/chromeos/dbus/services/liveness_service_provider.cc
[modify] https://crrev.com/4bb59edb9d55aa56f4e79236e86f081b92c686ef/chromeos/dbus/services/liveness_service_provider.h

Comment 9 by derat@chromium.org, Jul 20 2017

Cc: la...@chromium.org
I think that session_manager still needs to be updated to use LivenessService (see src/platform2/login_manager/liveness_checker_impl.cc), followed by the method being deleted from LibCrosService. Justin, feel free to reassign to me or Lann if you're busy with other work at the moment.
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS

Comment 12 by derat@chromium.org, Mar 29 2018

Owner: derat@chromium.org
I'm updating session_manager.
Project Member

Comment 13 by bugdroid1@chromium.org, Mar 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/776bfc6faaa8c06fb29142331f5b767c9a453519

commit 776bfc6faaa8c06fb29142331f5b767c9a453519
Author: Daniel Erat <derat@chromium.org>
Date: Sat Mar 31 21:13:57 2018

login: Use org.chromium.LivenessService to ping Chrome.

Make session_manager call the org.chromium.LivenessService
D-Bus service rather than org.chromium.LibCrosService to
ping Chrome. The new service was added long ago;
session_manager just hasn't been updated to use it.

BUG= chromium:644322 
TEST=unit tests pass; also verified that pings are sent and
     responses received on a ToT build

Change-Id: I973f17180e6c0ea465043ee119efb28315fa97cd
Reviewed-on: https://chromium-review.googlesource.com/987204
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Mattias Nissler <mnissler@chromium.org>

[modify] https://crrev.com/776bfc6faaa8c06fb29142331f5b767c9a453519/login_manager/session_manager_service.cc
[modify] https://crrev.com/776bfc6faaa8c06fb29142331f5b767c9a453519/login_manager/docs/chrome_hang_detection.md
[modify] https://crrev.com/776bfc6faaa8c06fb29142331f5b767c9a453519/login_manager/liveness_checker_impl.cc
[modify] https://crrev.com/776bfc6faaa8c06fb29142331f5b767c9a453519/login_manager/liveness_checker_impl.h
[modify] https://crrev.com/776bfc6faaa8c06fb29142331f5b767c9a453519/login_manager/liveness_checker_impl_unittest.cc

Components: -Internals>Services>WindowService Internals>Services>Ash
Labels: -Proj-Mustash-Mash
Labels: -Proj-Mustash-Mus-WS
Deprecating Proj-Mustash-Mus-WS label in favor of Components.

Comment 16 by derat@chromium.org, May 12 2018

I should probably move this into ash.
Hrm. Are you sure ash is the right place for this?

With OOPAsh it seems like either ash or chrome could hang. (Window server as a separate process doesn't exist in our current plans, ditto for separate service launcher.)

I wonder if session manager should watch ash, and ash should watch chrome. Or maybe session manager should watch both? Or just chrome and chrome watches ash? Not sure.

Comment 18 by derat@chromium.org, May 15 2018

I think that it should live in whichever process is at the root of the process tree that gets kicked off by session_manager. It should furthermore be long-lived (i.e. if not needing to run Chrome-the-browser all the time is still a goal, it shouldn't be there). Does that make ash the best fit for this?

Comment 19 by derat@chromium.org, May 15 2018

Status: Fixed (was: Started)
I'm going to mark this as fixed now that it's in its own D-Bus service. I'm using  issue 843392  to track moving these providers into the right places.

Sign in to add a comment