New issue
Advanced search Search tips

Issue 916755 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 19
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

SPM: ChromeOS OOBE crashes on shutdown using Ctrl+C

Project Member Reported by xiy...@chromium.org, Dec 19

Issue description

Repro steps:
1. Creates a new user data directory to trigger OOBE;
2. Run "chrome --user-data-dir=<new_dir> --login-manager --enable-features=SingleProcessMash";
3. Press Ctrl+C

Chrome crashes on exit because the Ctrl+C code path is different from regular shutdown code path via chrome::AttemptUserExit. It does through chrome::ExitCleanly first. As a result, the underlying aura::Window is closed before the login screen widget. Crash happens when LoginDisplayHostWebUI attempts to close the widget.

Crashing Stack:
====
Received signal 11 SEGV_MAPERR ffffedeaaac5531c                       
#0 0x7fd6a7f9911f base::debug::StackTrace::StackTrace()             
#1 0x7fd6a7f98c21 base::debug::(anonymous namespace)::StackDumpSignalHandler()       
#2 0x7fd699eae0c0 <unknown>                                               
#3 0x7fd6a1d80982 views::Widget::CloseWithReason()                        
#4 0x560fef00d2a2 chromeos::LoginDisplayHostWebUI::ResetLoginWindowAndView()
#5 0x560fef00d11b chromeos::LoginDisplayHostWebUI::~LoginDisplayHostWebUI()                                                    
#6 0x560fef00d40e chromeos::LoginDisplayHostWebUI::~LoginDisplayHostWebUI()                                   
#7 0x7fd6a7eaace1 base::debug::TaskAnnotator::RunTask()                                                             
#8 0x7fd6a7ed5bf0 base::MessageLoopImpl::RunTask()                                                                                                                 
#9 0x7fd6a7ed6283 base::MessageLoopImpl::DoWork()                                                                                                                  
#10 0x7fd6a7fbc949 base::MessagePumpLibevent::Run()                                                                                                                                
#11 0x7fd6a7ed5798 base::MessageLoopImpl::Run()                                                                     
#12 0x7fd6a7f07099 base::RunLoop::Run()                       
#13 0x560fef6112eb ChromeBrowserMainParts::MainMessageLoopRun()
#14 0x7fd6a4df6614 content::BrowserMainLoop::RunMainMessageLoopParts()
#15 0x7fd6a4df8c36 content::BrowserMainRunnerImpl::Run()
#16 0x7fd6a4df3252 content::BrowserMain()
#17 0x7fd6a58c7c11 content::ContentMainRunnerImpl::RunServiceManager()
#18 0x7fd6a58c7824 content::ContentMainRunnerImpl::Run()
#19 0x7fd6980992d9 service_manager::Main()
#20 0x7fd6a58c5d94 content::ContentMain()
#21 0x560fee65e523 ChromeMain
#22 0x7fd6985d42b1 __libc_start_main
#23 0x560fee65e39a _start

 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 19

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

commit 056687f5bd6a6518e893e3e1fbd53d625fc5d56a
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Wed Dec 19 23:14:06 2018

SPM: Fix Oobe crash on Ctrl+C

Make LoginDisplayHostWebUI observe login widget and clear
reference when the widget goes away.

Bug:  916755 
Change-Id: Iaf56114d38693fcfd8c83a7cfb8bd833b018740b
Reviewed-on: https://chromium-review.googlesource.com/c/1385186
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618001}
[modify] https://crrev.com/056687f5bd6a6518e893e3e1fbd53d625fc5d56a/chrome/browser/chromeos/login/ui/login_display_host_webui.cc
[modify] https://crrev.com/056687f5bd6a6518e893e3e1fbd53d625fc5d56a/chrome/browser/chromeos/login/ui/login_display_host_webui.h

Status: Fixed (was: Assigned)

Sign in to add a comment