New issue
Advanced search Search tips

Issue 714250 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

DCHECK hit user_manager_base.cc:222 when logging under Guest

Project Member Reported by emaxx@chromium.org, Apr 21 2017

Issue description

Chrome Version: ToT
OS: Chrome OS

What steps will reproduce the problem?
(1) Build a dcheck_always_on=true build of Chrome and deploy it to a Chromebook.
(2) Log into Chromebook under some non-Guest account.
(3) Log out.
(4) Log in under Guest account.

What happens instead?
DCHECK is hit and the browser restarts (although in the end the Guest session finally starts):
[FATAL:user_manager_base.cc(222)] Check failed: false. Switching to a user that is not logged in
#0 0x7f430c9ee8f7 base::debug::StackTrace::StackTrace()
#1 0x7f430ca0843d logging::LogMessage::~LogMessage()
#2 0x7f430d7293dc user_manager::UserManagerBase::SwitchActiveUser()
#3 0x7f430d729a2b user_manager::UserManagerBase::SwitchToLastActiveUser()
#4 0x7f430b786b9b chromeos::UserSessionManager::RestorePendingUserSessions()
#5 0x7f430b783a6a chromeos::UserSessionManager::OnRestoreActiveSessions()
#6 0x7f430d639b08 chromeos::SessionManagerClientImpl::OnRetrieveActiveSessions()
#7 0x7f430d639c5c _ZN4base8internal13FunctorTraitsIMN8chromeos24SessionManagerClientImplEFvRKSsRKNS_8CallbackIFvRKSt3mapIN10cryptohome14IdentificationESsSt4lessIS9_ESaISt4pairIKS9_
SsEEEbELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPN4dbus8ResponseEEvE6InvokeIRKNS_7WeakPtrIS3_EEJRKPKcSO_SR_EEEvST_OT_DpOT0_
#8 0x7f430d6894d0 dbus::ObjectProxy::RunResponseCallback()
#9 0x7f430d68d11e _ZN4base8internal13FunctorTraitsIMN4dbus11ObjectProxyEFvNS_8CallbackIFvPNS2_8ResponseEELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEENS4_IFvPNS2_13ErrorResponseEELS8_1EL
S9_1EEENS_9TimeTicksEP11DBusMessageEvE6InvokeIRK13scoped_refptrIS3_EJRKSA_RKSE_RKSF_RKSH_EEEvSJ_OT_DpOT0_
#10 0x7f430d68d039 _ZN4base8internal7InvokerINS0_9BindStateIMN4dbus11ObjectProxyEFvNS_8CallbackIFvPNS3_8ResponseEELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEENS5_IFvPNS3_13ErrorResponse
EELS9_1ELSA_1EEENS_9TimeTicksEP11DBusMessageEJ13scoped_refptrIS4_ESB_SF_SG_SI_EEEFvvEE3RunEPNS0_13BindStateBaseE
#11 0x7f430a800411 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
#12 0x7f430caa3f5d base::debug::TaskAnnotator::RunTask()
#13 0x7f430ca10731 base::MessageLoop::RunTask()
#14 0x7f430ca10aa8 base::MessageLoop::DeferOrRunPendingTask()
#15 0x7f430ca10f66 base::MessageLoop::DoWork()
#16 0x7f430ca13769 base::MessagePumpLibevent::Run()
#17 0x7f430ca10399 base::MessageLoop::RunHandler()
#18 0x7f430ca39cf4 base::RunLoop::Run()
#19 0x7f430c5be7c5 ChromeBrowserMainParts::MainMessageLoopRun()
#20 0x7f430ae1ebe1 content::BrowserMainLoop::RunMainMessageLoopParts()
#21 0x7f430ae218ff content::BrowserMainRunnerImpl::Run()
#22 0x7f430ae1a106 content::BrowserMain()
#23 0x7f430c5700f7 content::RunNamedProcessTypeMain()
#24 0x7f430c570e1a content::ContentMainRunnerImpl::Run()
#25 0x7f430ddab6d5 service_manager::Main()
#26 0x7f430c56f932 content::ContentMain()
#27 0x7f430a7f8b4d ChromeMain
#28 0x7f430826b816 __libc_start_main
#29 0x7f430a7f8919 _start


alemate@: Assigning to you for triaging. The DCHECK was there for a while, and I'm not even sure whether it was hit all the time or it started happening recently.
 

Comment 1 by xiy...@chromium.org, Apr 21 2017

Sounds like SwitchToLastActiveUser [1] is not necessary when there is no other user session to restore.

https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/session/user_session_manager.cc?rcl=26d226356da24e6e853d7dca4507081155d49ee4&l=1536

Comment 2 Deleted

Project Member

Comment 3 by bugdroid1@chromium.org, May 11 2017

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

commit 67cd35cee72cda91bc0f8254b1efc080e737d848
Author: alemate <alemate@chromium.org>
Date: Thu May 11 23:56:06 2017

ChromeOS: Fix DCHECK hit when logging under Guest

We should not SwitchToLastActiveUser() when there is only one user logged in.
This covers restart on signin, when last_active_user may be outdated.

BUG= 714250 

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

[modify] https://crrev.com/67cd35cee72cda91bc0f8254b1efc080e737d848/chrome/browser/chromeos/login/session/user_session_manager.cc

Status: Fixed (was: Started)
Status: Verified (was: Fixed)
Marking Verified as there is no user facing effect.

Sign in to add a comment