eCryptfs -> ext4 : Gracefully handle the case when Chrome crashed while migration is in progress. |
||||||
Issue descriptionThe 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.
,
Apr 24 2017
,
May 16 2017
,
May 17 2017
was there anything more to do here?
,
May 17 2017
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.
,
May 25 2017
I hope I'm now done with all my major tasks for M60. Coming back.
,
May 25 2017
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 |
||||||
Comment 1 by hashimoto@chromium.org
, Mar 16 2017