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

Issue 732429 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Ash broken when running with !--login-manager

Project Member Reported by mfomitchev@chromium.org, Jun 12 2017

Issue description

ChromeOS version: 9639.0.0
Chrome version: 61.0.3126.0

If I add !--login-manager to /etc/chrome_dev.conf, the device boots up in an unusable state:
- Input does not work
- No Shelf or any other Ash UI
- Full-screen incognito chrome window

 
Components: UI>Shell
Cc: xiy...@chromium.org
+xiyuan - can you think of recent login changes that might do this?

Comment 3 by xiy...@chromium.org, Jun 12 2017

Chrome should start in stub user mode. IIRC, that part of code is not changed recently. I can run in this mode on my dev box. Maybe it just happens on the device.
Any theories why is this happening/what code to look at in order to try to fix this?

Comment 5 by xiy...@chromium.org, Jun 14 2017

Has this worked before on a real device?

Looking at code in ChromeBrowserMainPartsChromeos::PreEarlyInitialization [1]. The stub user switches are only added when NOT running on a real device.

[1]: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/chrome_browser_main_chromeos.cc?rcl=19c5a8a7ff6d04e4688a1a88a3d57ef620fab6ab&l=536-550
I've never used it, but it's in our "Getting Started" guide for deploying builds to a chromebook, so I am assuming it did work at some point. James might know for sure.

Regarding the code you mentioned - if I remove !base::SysInfo::IsRunningOnChromeOS() - should the switch start working on device? (I am not suggesting landing it, just want to get around login).

Comment 7 by xiy...@chromium.org, Jun 14 2017

It appears that is not enough. The current stub user is "stub-user@example.com", which fails policy code when it tries to get user policy from session_manager daemon. I got the following:

[10660:10827:0614/094933.510146:ERROR:object_proxy.cc(573)] Failed to call method: org.chromium.SessionManagerInterface.RetrievePolicyForUser: object_path= /org/chromium/SessionManager: org.chromium.SessionManagerInterface.SessionDoesNotExist: Cannot retrieve user policy before session is started.
[10660:10660:0614/094933.510199:ERROR:user_cloud_policy_store_chromeos.cc(121)] Session manager claims that session doesn't exist; signing out

I worked around the problem by prefixing the domain name "consumer." (i.e. stub-user@consumer.example.com"), which disables user policy code.

https://codereview.chromium.org/2938893002/ shows what is needed to get stub user work on device. This is not a well supported code path though. Think stub-user was intended to run on dev box and for tests.

Status: WontFix (was: Available)
Awesome, thanks, this worked for me!
I will update our guide, and I guess we can close this issue, since you are saying this is not an unsupported code path.
This did work at one point, but I've only used it once and I don't think it's a workflow we want to support on-device. I agree with WontFix.

Sign in to add a comment