New issue
Advanced search Search tips

Issue 647039 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

mash: Crash on startup when trying to show oobe/login screen

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

Issue description

Stack below. ToT as of today, r418662

Build chrome with oxygen, run on linux desktop with:

out_oxygen/Default/chrome --user-data-dir=/w/udd3 --ash-debug-shortcuts --no-sandbox --ash-pen-palette --login-screen=login --no-first-run --stub-cros --login-profile=user --webui-login --login-manager --webui-gaia-login --parallel-auth --oobe-skip-postlogin -skip-oauth-login -lang=en --enable-experimental-apis --auth-ext-path=/w/chrome/src/platform/assets/gaia_auth --mash

It's possible I have a command line flag wrong, but I suspect this is just a regression.

Thanks to xiyuan for volunteering to help us out with some login stuff!

[21331:21331:0914/143021:ERROR:oobe_ui.cc(600)] Not implemented reached in virtual void chromeos::OobeUI::OnCurrentScreenChanged(const std::string &)
[21331:21331:0914/143021:FATAL:keyboard_driven_event_rewriter.cc(37)] Check failed: instance. 
#0 0x7f68c346871e base::debug::StackTrace::StackTrace()
#1 0x7f68c34cbd9c logging::LogMessage::~LogMessage()
#2 0x7f68c54064cd chromeos::KeyboardDrivenEventRewriter::GetInstance()
#3 0x7f68c9025e25 chromeos::CoreOobeHandler::HandleUpdateCurrentScreen()
#4 0x7f68c45e1029 _ZN4base8internal13FunctorTraitsIMN10extensions15ValueStoreCacheEFvRKSsEvE6InvokeIPS3_JS5_EEEvS7_OT_DpOT0_
#5 0x7f68c45e0f66 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN10extensions15ValueStoreCacheEFvRKSsEJPS5_S7_EEEvOT_DpOT0_
#6 0x7f68c9028e97 _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos15CoreOobeHandlerEFvRKSsEJNS0_17UnretainedWrapperIS4_EEEEEFvS6_EE7RunImplIRKS8_RKSt5tupleIJSA_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEES6_
#7 0x7f68c9028dcc _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos15CoreOobeHandlerEFvRKSsEJNS0_17UnretainedWrapperIS4_EEEEEFvS6_EE3RunEPNS0_13BindStateBaseES6_
#8 0x7f68c41cdec6 base::internal::RunMixin<>::Run()
#9 0x7f68c8bee76d _ZN5login18DispatchToCallbackIJRKSsEJLm0EEEEvRKN4base8CallbackIFvDpT_ELNS3_8internal8CopyModeE1ELNS8_10RepeatModeE1EEEPKNS3_9ListValueENS3_13IndexSequenceIJXspT0_EEEE
#10 0x7f68c8bedfbd _ZN5login15CallbackWrapperIJRKSsEEEvRKN4base8CallbackIFvDpT_ELNS3_8internal8CopyModeE1ELNS8_10RepeatModeE1EEEPKNS3_9ListValueE
#11 0x7f68c425605f _ZN4base8internal13FunctorTraitsIPFvRKNS_8CallbackIFSt10unique_ptrINS_5ValueESt14default_deleteIS4_EEvELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPS7_EvE6InvokeIJSD_RKSE_EEEvSG_DpOT_
#12 0x7f68c4691d7d _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKNS_8CallbackIFviELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPiEJSA_SB_EEEvOT_DpOT0_
#13 0x7f68c8bee477 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_8CallbackIFvRKSsELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPKNS_9ListValueEEJS9_EEEFvSE_EE7RunImplIRKSG_RKSt5tupleIJS9_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOSE_
#14 0x7f68c8bee3ac _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_8CallbackIFvRKSsELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPKNS_9ListValueEEJS9_EEEFvSE_EE3RunEPNS0_13BindStateBaseEOSE_
#15 0x7f68bcfe2176 base::internal::RunMixin<>::Run()
#16 0x7f68be53304b content::WebUIImpl::ProcessWebUIMessage()
#17 0x7f68be531e6d content::WebUIImpl::OnWebUISend()
#18 0x7f68be4f3d8b _ZN4base20DispatchToMethodImplIPN7content15WebContentsImplEMS2_FvRK4GURLRKSsRKNS_9ListValueEERKSt5tupleIJS4_SsS9_EEJLm0ELm1ELm2EEEEvRKT_T0_OT1_NS_13IndexSequenceIJXspT2_EEEE
#19 0x7f68be535818 _ZN4base16DispatchToMethodIPN7content9WebUIImplEMS2_FvRK4GURLRKSsRKNS_9ListValueEERKSt5tupleIJS4_SsS9_EEEEvRKT_T0_OT1_
#20 0x7f68be53579f _ZN3IPC16DispatchToMethodIN7content9WebUIImplEMS2_FvRK4GURLRKSsRKN4base9ListValueEEvSt5tupleIJS3_SsS9_EEEEvPT_T0_PT1_RKT2_
#21 0x7f68be533b0b _ZN3IPC8MessageTI26ViewHostMsg_WebUISend_MetaSt5tupleIJ4GURLSsN4base9ListValueEEEvE8DispatchIN7content9WebUIImplESA_vMSA_FvRKS3_RKSsRKS5_EEEbPKNS_7MessageEPT_PT0_PT1_T2_
#22 0x7f68be531cb2 content::WebUIImpl::OnMessageReceived()
#23 0x7f68be4c8b86 content::WebContentsImpl::OnMessageReceived()
#24 0x7f68be4c8a54 content::WebContentsImpl::OnMessageReceived()
#25 0x7f68be1ea56a content::RenderViewHostImpl::OnMessageReceived()
#26 0x7f68be1fe744 content::RenderWidgetHostImpl::OnMessageReceived()
#27 0x7f68be1b17b1 content::RenderProcessHostImpl::OnMessageReceived()
#28 0x7f68bbe2d2e8 IPC::ChannelProxy::Context::OnDispatchMessage()
#29 0x7f68bbe3371b _ZN4base8internal13FunctorTraitsIMN3IPC12ChannelProxy7ContextEFvRKNS2_7MessageEEvE6InvokeIRK13scoped_refptrIS4_EJS7_EEEvS9_OT_DpOT0_
#30 0x7f68bbe33606 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN3IPC12ChannelProxy7ContextEFvRKNS4_7MessageEEJRK13scoped_refptrIS6_ES9_EEEvOT_DpOT0_
#31 0x7f68bbe33593 _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE7RunImplIRKSA_RKSt5tupleIJSC_S6_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#32 0x7f68bbe334ac _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE3RunEPNS0_13BindStateBaseE
#33 0x7f68c343b57b base::internal::RunMixin<>::Run()
#34 0x7f68c346d75b base::debug::TaskAnnotator::RunTask()
#35 0x7f68c34e90e1 base::MessageLoop::RunTask()
#36 0x7f68c34e9364 base::MessageLoop::DeferOrRunPendingTask()
#37 0x7f68c34e962e base::MessageLoop::DoWork()
#38 0x7f68c34ffa4c base::MessagePumpLibevent::Run()
#39 0x7f68c34e8b4a base::MessageLoop::RunHandler()
#40 0x7f68c35825f4 base::RunLoop::Run()
#41 0x7f68c6244f87 ChromeBrowserMainParts::MainMessageLoopRun()

 

Comment 1 by xiy...@chromium.org, Sep 16 2016

Cc: msw@chromium.org
msw@'s CL https://codereview.chromium.org/2345333002/ would disable KeyboardDrivenEventRewriter until issue 647781 is solved.

Comment 2 by msw@chromium.org, Sep 16 2016

Ah! I didn't even realize it was the same crash; I'll tag this bug there too.
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 18 2016

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

commit 9ea2a739531edffad0859fdfd0a53f1f039026e4
Author: msw <msw@chromium.org>
Date: Sun Sep 18 14:58:38 2016

mash: Avoid KeyboardDrivenEventRewriter::GetInstance crash.

Avoid mash null dcheck/deref with --login-manager.

BUG=647781, 647039 
TEST=No crash running chrome --mash --login-manager
R=alemate@chromium.org,xiyuan@chromium.org

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

[modify] https://crrev.com/9ea2a739531edffad0859fdfd0a53f1f039026e4/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/9ea2a739531edffad0859fdfd0a53f1f039026e4/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc

Comment 4 by xiy...@chromium.org, Sep 20 2016

Status: Fixed (was: Assigned)
Closing this one. Further work of enabling keyboard event rewritter is tracked in issue 647781.
Status: Assigned (was: Fixed)
I'm still crashing when I run with --mash and --login-manager. Does it work for you?

ToT at r419790

out/Default/chrome --user-data-dir=/w/udd3 --ash-debug-shortcuts --no-sandbox --ash-pen-palette --mash --login-manager

[21855:21855:0920/105728:FATAL:shell.cc(194)] Check failed: instance_. 
#0 0x7fdc09ce68ee base::debug::StackTrace::StackTrace()
#1 0x7fdc09d4dbec logging::LogMessage::~LogMessage()
#2 0x7fdbfc79b220 ash::Shell::GetInstance()
#3 0x7fdc0c12a39d (anonymous namespace)::GetStatusAreaWidgetDelegate()
#4 0x7fdc0c12a1d9 chromeos::WebUILoginView::LoadURL()
#5 0x7fdc0c110f6c chromeos::LoginDisplayHostImpl::LoadURL()
#6 0x7fdc0c110b9f chromeos::LoginDisplayHostImpl::StartWizard()
#7 0x7fdc0c115180 (anonymous namespace)::ShowLoginWizardFinish()
#8 0x7fdc0c114ecf chromeos::ShowLoginWizard()
#9 0x7fdc0c0bf4e1 chromeos::LoginOobeSessionManagerDelegate::Start()
#10 0x7fdbf9d9557a session_manager::SessionManager::Start()
#11 0x7fdc0be3925f chromeos::ChromeBrowserMainPartsChromeos::PostProfileInit()
#12 0x7fdc0cd277e5 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#13 0x7fdc0cd26ca0 ChromeBrowserMainParts::PreMainMessageLoopRun()
#14 0x7fdc0be38335 chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#15 0x7fdc041ed3f1 content::BrowserMainLoop::PreMainMessageLoopRun()
#16 0x7fdc0392dc7d _ZN4base8internal13FunctorTraitsIMN7content12ChildProcessEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_
#17 0x7fdc041f4981 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKMN7content15BrowserMainLoopEFivEJPS5_EEEiOT_DpOT0_
#18 0x7fdc041f4927 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#19 0x7fdc041f486c _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE
#20 0x7fdc037b1f2b base::internal::RunMixin<>::Run()
#21 0x7fdc04c6516b content::StartupTaskRunner::RunAllTasksNow()
#22 0x7fdc041eb324 content::BrowserMainLoop::CreateStartupTasks()
#23 0x7fdc041f76dd content::BrowserMainRunnerImpl::Initialize()
#24 0x7fdc041e7c5f content::BrowserMain()
#25 0x7fdc05d621b6 content::RunNamedProcessTypeMain()
#26 0x7fdc05d64255 content::ContentMainRunnerImpl::Run()
#27 0x7fdc05d613f2 content::ContentMain()
#28 0x7fdc0ac7069e ChromeMain
#29 0x7fdc0ac70602 main
#30 0x7fdbf682af45 __libc_start_main
#31 0x7fdc0ac70505 <unknown>

Chrome browser should not be trying to access ash::Shell under mash. It doesn't existing the browser process.

Looks like a regression caused by a recent patch:

https://codereview.chromium.org/2295843006

I can get a patch up
https://codereview.chromium.org/2351353002/ is up to address that latest crash
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 20 2016

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

commit 2c5fa0e91fb3fcd0b480856104a793ca3219cca1
Author: jonross <jonross@chromium.org>
Date: Tue Sep 20 21:20:14 2016

Update WebUILogin Focus for Mash

There is no ash::Shell instance when running in mash, the new focus code
in WebUILogin does not work. Exit early in newly added code to allow for
login to not crash while running in mash.

TEST=manual
BUG= 647039 

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

[modify] https://crrev.com/2c5fa0e91fb3fcd0b480856104a793ca3219cca1/chrome/browser/chromeos/login/ui/webui_login_view.cc

Comment 9 by xiy...@chromium.org, Sep 21 2016

r420071, no crash observed to login a user (new or old).

However, we would need a way to store session info so that launching exe:chrome again would not show the login ui again. Currently, Ctrl-N creates an incognito browser window with the login UI on top of it. Is this issue tracked yet?
That particular effect is a new issue.

However  issue 648964  tracks needing to hook SessionStateDelegate up for login in mash. That is the current session info transfer between chromeos and ash.
Status: Fixed (was: Assigned)
Let me take  issue 648964  as well.

Closing this one since no crash observed now.
Labels: VerifyIn-55

Comment 13 by dchan@google.com, Nov 19 2016

Labels: VerifyIn-56

Comment 14 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 15 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 16 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 17 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 19 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)
Components: -MUS Internals>Services>WindowService

Sign in to add a comment