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

Issue 692784 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Crash in FocusManager on ChromeOS OOBE.

Project Member Reported by alemate@chromium.org, Feb 15 2017

Issue description

How to reproduce:
1) Build Chrome for ChromeOS
2) Start it with empty user dir:

ninja -C out/Release/ -j3000 chrome chrome_sandbox  && (UDD=$HOME/cros-test-user-data-dir-tmp ; rm -rf $HOME/cros-test-user-data-dir-tmp ; mkdir -p $HOME/cros-test-user-data-dir-tmp ; ./out/Release/chrome --login-manager --login-profile=user --user-data-dir=$UDD  --disable-setuid-sandbox --no-sandbox  --remote-debugging-port=9999  )

3) Click on "Accessibility", then use "Tab" to cycle through the elements. After focusing Status tray (i.e. after focus is moved from WebUI elements to native UI), chrome will crash:


[36727:36727:0215/142632.739737:FATAL:focus_manager.cc(306)] Check failed: !view || ContainsView(view). 
#0 0x7f437f00a1fb base::debug::StackTrace::StackTrace()
#1 0x7f437f00887c base::debug::StackTrace::StackTrace()
#2 0x7f437f06c4ec logging::LogMessage::~LogMessage()
#3 0x7f4373304360 views::FocusManager::SetFocusedViewWithReason()
#4 0x7f43733041af views::FocusManager::AdvanceFocus()
#5 0x7f4373303d00 views::FocusManager::OnKeyEvent()
#6 0x7f4373361a0b views::Widget::OnKeyEvent()
#7 0x7f43733b316e views::NativeWidgetAura::OnKeyEvent()
#8 0x7f4372fafd63 ui::EventHandler::OnEvent()
#9 0x7f4372faba80 ui::EventDispatcher::DispatchEvent()
#10 0x7f4372fab3db ui::EventDispatcher::ProcessEvent()
#11 0x7f4372fab172 ui::EventDispatcherDelegate::DispatchEventToTarget()
#12 0x7f4372fab052 ui::EventDispatcherDelegate::DispatchEvent()
#13 0x7f4372fb0a0b ui::EventProcessor::OnEventFromSource()
#14 0x7f436fe05428 ash::AshWindowTreeHostX11::DispatchKeyEventPostIME()
#15 0x7f436fe0548c ash::AshWindowTreeHostX11::DispatchKeyEventPostIME()
#16 0x7f436fde3b18 ash::WindowTreeHostManager::DispatchKeyEventPostIME()
#17 0x7f436fde3b5c ash::WindowTreeHostManager::DispatchKeyEventPostIME()
#18 0x7f437543092b ui::InputMethodBase::DispatchKeyEventPostIME()
#19 0x7f4375438715 ui::InputMethodChromeOS::ProcessUnfilteredKeyPressEvent()
#20 0x7f4375438338 ui::InputMethodChromeOS::DispatchKeyEvent()
#21 0x7f4375438a34 ui::InputMethodChromeOS::DispatchKeyEvent()
#22 0x7f436fe0629d ash::InputMethodEventHandler::OnKeyEvent()
#23 0x7f4372fafd63 ui::EventHandler::OnEvent()
#24 0x7f4372faba80 ui::EventDispatcher::DispatchEvent()
#25 0x7f4372fab835 ui::EventDispatcher::DispatchEventToEventHandlers()
#26 0x7f4372fab344 ui::EventDispatcher::ProcessEvent()
#27 0x7f4372fab172 ui::EventDispatcherDelegate::DispatchEventToTarget()
#28 0x7f4372fab052 ui::EventDispatcherDelegate::DispatchEvent()
#29 0x7f4372fb0a0b ui::EventProcessor::OnEventFromSource()
#30 0x7f4372fb1985 ui::EventSource::DeliverEventToProcessor()
#31 0x7f4372fb15fc ui::EventSource::SendEventToProcessor()
#32 0x7f437186cbb2 aura::WindowTreeHostX11::DispatchEvent()
#33 0x7f437c0a631d ui::PlatformEventSource::DispatchEvent()
#34 0x7f436e90a934 ui::X11EventSourceGlib::ProcessXEvent()
#35 0x7f436e8f7928 ui::X11EventSource::ExtractCookieDataDispatchEvent()
#36 0x7f436e8f78a7 ui::X11EventSource::DispatchXEvents()
#37 0x7f436e90aad5 ui::(anonymous namespace)::XSourceDispatch()
#38 0x7f436a076ce5 g_main_context_dispatch
#39 0x7f436a077048 <unknown>
#40 0x7f436a0770ec g_main_context_iteration
#41 0x7f437f0a8def base::MessagePumpGlib::Run()
#42 0x7f437f093132 base::MessageLoop::RunHandler()
#43 0x7f437f135f74 base::RunLoop::Run()
#44 0x7f4382085cc6 ChromeBrowserMainParts::MainMessageLoopRun()
#45 0x7f437861cb8b content::BrowserMainLoop::RunMainMessageLoopParts()
#46 0x7f437862afc5 content::BrowserMainRunnerImpl::Run()
#47 0x7f43786164a8 content::BrowserMain()
#48 0x7f4379d2d0d6 content::RunNamedProcessTypeMain()
#49 0x7f4379d2f2ee content::ContentMainRunnerImpl::Run()
#50 0x7f4379d2c342 content::ContentMain()
#51 0x7f43802c8c26 ChromeMain
#52 0x7f43802c8ae2 main
#53 0x7f4367217f45 __libc_start_main
#54 0x7f43802c89e5 <unknown>

Received signal 6

 

Comment 1 by tapted@chromium.org, Feb 15 2017

Owner: osh...@chromium.org
Status: Assigned (was: Untriaged)
  // TODO(oshima|achuith): This is to diagnose crbug.com/687232.
  // Change this to DCHECK once it's resolved.
  CHECK(!view || ContainsView(view));

Comment 2 by tapted@chromium.org, Feb 15 2017

Cc: achuith@chromium.org

Comment 3 by osh...@chromium.org, Feb 16 2017

Status: Started (was: Assigned)

Comment 4 by osh...@chromium.org, Feb 16 2017

Looks like WebuiLoginView that provides FocusTraversable/FocusSearch return a view on the WebuiLoginView when the focus in on the status widget.

I understand why we want, although I'm not sure if that's a valid way to transfer a focus from one widget to another.

The following CL fixed the problem while preserving the behavior.

https://codereview.chromium.org/2696223003/

sky@ what's your suggestion?

Comment 5 by sky@chromium.org, Feb 16 2017

That seems like a bug in the FocusTraversable implementation. FocusTraversable should return a view in the same widget.

Comment 6 by osh...@chromium.org, Feb 16 2017

Cc: steve...@chromium.org xiy...@chromium.org
Owner: warx@chromium.org
Looks like it's regression in https://codereview.chromium.org/2295843006

-> wax@
cc'ing reviewers

Comment 7 by osh...@chromium.org, Feb 16 2017

Status: Assigned (was: Started)

Comment 8 by osh...@chromium.org, Feb 16 2017

Issue 687232 has been merged into this issue.
Labels: Stability-Crash ReleaseBlock-Stable M-57
Pulling forward labels from 687232. This is a top 5 crasher at the moment.

Comment 10 by sky@chromium.org, Feb 17 2017

While we have this CHECK enabled, it would be good to see if we're hitting it on windows too. If it is hitting on windows it'll be a different reason, but we should verify that.

Comment 11 by warx@chromium.org, Feb 17 2017

yes, crash is blamed on https://codereview.chromium.org/2295843006/, where GetFocusTraversableParentView returns a view in a different widget: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/ui/webui_login_view.cc?l=170

I am working on a revert and thinking of another way to solve  issue 468969  comment 7.

Comment 13 by warx@chromium.org, Feb 22 2017

Cc: keta...@chromium.org
Labels: Merge-Request-57
merge request to m57 for #12
Labels: -Merge-Request-57 Merge-Approved-57
Approving merge to M57 Chrome OS.
Project Member

Comment 15 by bugdroid1@chromium.org, Feb 22 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7238549d0ff22bd230e3ad83b4c4508335acb507

commit 7238549d0ff22bd230e3ad83b4c4508335acb507
Author: Qiang Xu <warx@chromium.org>
Date: Wed Feb 22 18:23:17 2017

[Merge to M57] Revert of Signin screen and locked screen status area focus advancing (https://codereview.chromium.org/2295843006)

Revert reason:
Revert to get rid of the crash before having a proper fix.

TBR=xiyuan@chromium.org, stevenjb@chromium.org, achuith@chromium.org
BUG= 692784 
BUG= 468969 
TEST=crash doesn't happen now, leaving the bug in  crbug.com/468969  comment 7 reopen.

Review-Url: https://codereview.chromium.org/2709593002
Cr-Commit-Position: refs/heads/master@{#451983}
(cherry picked from commit 26f01531f9e0ecd2e0cde6cf5dacb0e4b70610ce)

Review-Url: https://codereview.chromium.org/2711793002 .
Cr-Commit-Position: refs/branch-heads/2987@{#643}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/7238549d0ff22bd230e3ad83b4c4508335acb507/ash/common/system/status_area_widget_delegate.cc
[modify] https://crrev.com/7238549d0ff22bd230e3ad83b4c4508335acb507/ash/common/system/status_area_widget_delegate.h
[modify] https://crrev.com/7238549d0ff22bd230e3ad83b4c4508335acb507/chrome/browser/chromeos/login/ui/webui_login_view.cc
[modify] https://crrev.com/7238549d0ff22bd230e3ad83b4c4508335acb507/chrome/browser/chromeos/login/ui/webui_login_view.h

Comment 16 by warx@chromium.org, Feb 22 2017

Status: Fixed (was: Assigned)
Components: UI>Shell>OOBE
Status: Verified (was: Fixed)
9334.69.0, 58.0.3029.112

Sign in to add a comment