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

Issue 702071 link

Starred by 0 users

Issue metadata

Status: Verified
Owner:
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 688900



Sign in to add a comment

eCryptfs -> ext4 : Gracefully handle the case when Chrome crashed while migration is in progress.

Project Member Reported by kinaba@chromium.org, Mar 16 2017

Issue description

The concern is arisen from hashimoto@.

Anything can happen. We should never brick the device in any worst case.

Under the current design that cryptohomed concentrates on migration until it finish,
what I predict to happen when Chrome crashed is:
1) Chrome restarts from the beginning of the login screen.
2) Since cryptohomed is busy, any login attempt will fail (probably by dbus timeout) (with no indication what's happening behind.)
3) If the user waits in the login screen until the background migration finishes, the user can just login.
4) If the user reboots the device, the migration is (of course) stopped, and leaves the partially migrated home directory. Afterwards, the login screen should work as expected. (Login to other accounts goes well, and login to the aborted account will resume migration.) 


This is not a good UX (especially 2 and 3) but not the worst. We should
* make sure if this is really what happens, and
* come up with nicer handling if possible.
 
> * make sure if this is really what happens, and
This is most important. We should make sure that, at least, the user's data doesn't get corrupted even when Chrome crashes.

> * come up with nicer handling if possible.
If the above condition is met, this is optional.
Of course, this is a nice to have if it doesn't cost much.

Comment 2 by kinaba@chromium.org, Mar 29 2017

Blocking: -699436 688900

Comment 3 by uekawa@google.com, Apr 24 2017

Labels: ArcExt4Migration

Comment 4 by kinaba@chromium.org, May 16 2017

Labels: -M-59 M-60

Comment 5 by uekawa@chromium.org, May 17 2017

was there anything more to do here?

Comment 6 by kinaba@chromium.org, May 17 2017

Cc: kinaba@chromium.org
Owner: ----
Status: Available (was: Assigned)
Nothing is yet done at all so something has to be done.

Releasing my ownership since I'm not sure if I could manage to make time in a short term.

Comment 7 by kinaba@chromium.org, May 25 2017

Owner: kinaba@chromium.org
Status: Started (was: Available)
I hope I'm now done with all my major tasks for M60. Coming back.

Comment 8 by kinaba@chromium.org, May 25 2017

Status: Verified (was: Started)
Confirmed that exactly what we predicted as (1)(2)(3)(4) in the first comment is happening.

Mount attempt is failing in timeout like:

[16137:16137:0525/151633.513778:ERROR:object_proxy.cc(573)] Failed to call method: org.chromium.CryptohomeInterface.MountEx: object_path= /org/chromium/Cryptohome: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
[16137:16137:0525/151633.514097:ERROR:device_event_log_impl.cc(156)] [15:16:33.513] Login: cryptohome_authenticator.cc:909 Cryptohome failure: state(AuthState)=2, code(cryptohome::MountError)=1
[16137:16137:0525/151633.514161:VERBOSE1:cryptohome_authenticator.cc(752)] Resolved state to: 2
[16137:16137:0525/151633.514374:ERROR:device_event_log_impl.cc(156)] [15:16:33.514] Login: cryptohome_authenticator.cc:685 Login failed: Could not mount cryptohome.
[16137:16137:0525/151633.514496:ERROR:login_performer.cc(63)] Login failure, reason=1, error.state=0
[16137:16137:0525/151633.514751:VERBOSE1:existing_user_controller.cc(1193)] Could not mount cryptohome.
[16137:16137:0525/151633.514810:VERBOSE1:webui_login_display.cc(110)] Show error, error_id: 6860, attempts:1, help_topic_id: 188036

etc, etc.


So, IMO, we are in a OK state.
Chrome shouldn't crash basically, and even if it does, cryptohomed is making sure that user data won't be broken.

Sign in to add a comment