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

Issue 647742 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Chrome OS crash on linux desktop build OobeUI::GetErrorScreen

Project Member Reported by msw@chromium.org, Sep 16 2016

Issue description

Chrome OS crash on linux desktop build OobeUI::GetErrorScreen

Please help; this makes it difficult to debug/test the login flow locally.

I'm using a local build of Chrome OS (I'm at ToT @ #418722) on linux desktop:
(1) Run with fresh user data dir: chrome --user-data-dir=/tmp/foo --login-manager
(2) Click "Let's Go" on the first OOBE screen.
(3) "Connect to Network" dialog shows (saying eth1 and wifi1 are connected) without an option to continue...
(4) Click any network option listed to try to proceed. CRASH!

Expected: Can get past dialog somehow and actually login!
Actual: Crash; see stack below.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f49c1ef1385 in std::unique_ptr<chromeos::ErrorScreen, std::default_delete<chromeos::ErrorScreen> >::get (this=0x130)
    at ../../build/linux/ubuntu_precise_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/unique_ptr.h:217
#1  0x00007f49c1ef069c in chromeos::OobeUI::GetErrorScreen (this=0x0)
    at ../../chrome/browser/ui/webui/chromeos/login/oobe_ui.cc:440
#2  0x00007f49be96b44c in chromeos::WizardController::GetErrorScreen (this=0x31f059c3ea20)
    at ../../chrome/browser/chromeos/login/wizard_controller.cc:333
#3  0x00007f49be8a5f36 in chromeos::UpdateScreen::GetErrorScreen (this=0x31f05b6a20a0)
    at ../../chrome/browser/chromeos/login/screens/update_screen.cc:514
#4  0x00007f49be8a4f2c in chromeos::UpdateScreen::StartUpdateCheck (this=0x31f05b6a20a0)
    at ../../chrome/browser/chromeos/login/screens/update_screen.cc:519
#5  0x00007f49be8a4dfd in chromeos::UpdateScreen::OnPortalDetectionCompleted (this=0x31f05b6a20a0, network=0x31f059d7c920, 
    state=...) at ../../chrome/browser/chromeos/login/screens/update_screen.cc:298
#6  0x00007f49be99ac75 in chromeos::NetworkPortalDetectorImpl::AddAndFireObserver (this=0x31f05a624620, observer=0x31f05b6a21b0)
    at ../../chrome/browser/chromeos/net/network_portal_detector_impl.cc:276
#7  0x00007f49be8a57bb in chromeos::UpdateScreen::StartNetworkCheck (this=0x31f05b6a20a0)
    at ../../chrome/browser/chromeos/login/screens/update_screen.cc:321
#8  0x00007f49be96e30e in chromeos::WizardController::InitiateOOBEUpdate (this=0x31f059c3ea20)
    at ../../chrome/browser/chromeos/login/wizard_controller.cc:823
#9  0x00007f49be96e0f3 in chromeos::WizardController::OnNetworkConnected (this=0x31f059c3ea20)
    at ../../chrome/browser/chromeos/login/wizard_controller.cc:616
#10 0x00007f49be96fe61 in chromeos::WizardController::OnExit (this=0x31f059c3ea20, 
    exit_code=chromeos::BaseScreenDelegate::NETWORK_CONNECTED) at ../../chrome/browser/chromeos/login/wizard_controller.cc:1022
#11 0x00007f49be882672 in chromeos::BaseScreen::Finish (this=0x31f0599b5ca0, 
    exit_code=chromeos::BaseScreenDelegate::NETWORK_CONNECTED) at ../../chrome/browser/chromeos/login/screens/base_screen.cc:119
#12 0x00007f49be8986b0 in chromeos::NetworkScreen::NotifyOnConnection (this=0x31f0599b5ca0)
    at ../../chrome/browser/chromeos/login/screens/network_screen.cc:326
#13 0x00007f49be8976f3 in chromeos::NetworkScreen::OnContinueButtonPressed (this=0x31f0599b5ca0)
    at ../../chrome/browser/chromeos/login/screens/network_screen.cc:395
#14 0x00007f49be897601 in chromeos::NetworkScreen::OnUserAction (this=0x31f0599b5ca0, action_id="continue")
    at ../../chrome/browser/chromeos/login/screens/network_screen.cc:129
#15 0x00007f49c230b00b in chromeos::BaseScreenHandler::HandleUserAction (this=0x31f059d60528, action_id="continue")
    at ../../chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc:118

Here are my gn args, in case that matters:
is_component_build = true
target_os = "chromeos"
use_goma = true
use_ozone = true
ozone_auto_platforms = false
ozone_platform_x11 = true
 
Cc: xiy...@chromium.org
+xiyuan

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

Owner: xiy...@chromium.org
Status: Assigned (was: Untriaged)
I saw this yesterday too. Will take a look.

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

Status: Started (was: Assigned)
https://codereview.chromium.org/2341613006/
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 16 2016

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

commit 14947f5240be7a4263819e4d80cf3bef350f51d0
Author: xiyuan <xiyuan@chromium.org>
Date: Fri Sep 16 22:36:15 2016

cros: Fix MD OOBE crash

Reset |oobe_ui_| in ShowLoginScreen is legacy code back when there
are separate OobeDisplay and LoginDisplay. OobeDisplay is no longer
needed when login screen is shown. This has changed as there is
only one LoginDisplay and |oobe_ui_| is used for both OOBE and login.
And it should not change during the lifetime of WizardController.

BUG= 647742 

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

[modify] https://crrev.com/14947f5240be7a4263819e4d80cf3bef350f51d0/chrome/browser/chromeos/login/wizard_controller.cc
[modify] https://crrev.com/14947f5240be7a4263819e4d80cf3bef350f51d0/chrome/browser/chromeos/login/wizard_controller.h

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

Status: Fixed (was: Started)

Comment 6 by dchan@chromium.org, Oct 7 2016

Labels: VerifyIn-55
Status: Verified (was: Fixed)
Verified on ChromeOS 8911.0.0, 56.0.2894.0

No crash is seen on selecting any network option. Proceeds to next screen smoothly.

Sign in to add a comment