New issue
Advanced search Search tips

Issue 899862 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 6
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

ShutdownPolicyLockerTest fails in Mash

Project Member Reported by est...@chromium.org, Oct 29

Issue description

2 tests crashed:
    ShutdownPolicyLockerTest.PolicyChange (../../chrome/browser/chromeos/shutdown_policy_browsertest.cc:278)
    ShutdownPolicyLockerTest.TestBasic (../../chrome/browser/chromeos/shutdown_policy_browsertest.cc:273)


[60583:60583:1029/131031.258811:FATAL:keyboard_controller.cc(198)] Check failed: g_keyboard_controller. 
#0 0x7f7710e72c1f base::debug::StackTrace::StackTrace()
#1 0x7f7710da443b logging::LogMessage::~LogMessage()
#2 0x7f77096650b9 keyboard::KeyboardController::Get()
#3 0x7f7708ebba47 ash::LockWindow::LockWindow()
#4 0x00000284600f chromeos::WebUIScreenLocker::LockScreen()
#5 0x00000283f1e3 chromeos::ScreenLocker::Init()
#6 0x0000028429ae _ZN4base8internal7InvokerINS0_9BindStateIZN8chromeos12ScreenLocker4ShowEvE3$_1JEEEFvvEE3RunEPNS0_13BindStateBaseE
#7 0x7f77089bb4df ash::mojom::SessionController_PrepareForLock_ForwardToCallback::Accept()
#8 0x7f770de3df26 mojo::InterfaceEndpointClient::HandleValidatedMessage()
#9 0x7f770de3d726 mojo::FilterChain::Accept()
#10 0x7f770de3f185 mojo::InterfaceEndpointClient::HandleIncomingMessage()
#11 0x7f770de4578b mojo::internal::MultiplexRouter::ProcessIncomingMessage()
#12 0x7f770de44bb0 mojo::internal::MultiplexRouter::Accept()
#13 0x7f770de3d726 mojo::FilterChain::Accept()
#14 0x7f770de3864f mojo::Connector::ReadSingleMessage()

 
Cc: steve...@chromium.org jdufault@chromium.org sky@chromium.org
Labels: -Pri-3 Proj-Mash-SingleProcess Pri-2
After fixing the keyboard for single process mash, these tests now fail with the following stack:

[97305:97305:1203/123624.761199:FATAL:window.cc(393)] Check failed: env_ == child->env_ (0x80af5cbab20 vs. 0x80af5a65620)All windows in a hierarchy must share the  same Env.
#0 0x55dcb275851d base::debug::StackTrace::StackTrace()
#1 0x55dcb250687a base::debug::StackTrace::StackTrace()
#2 0x55dcb254c64e logging::LogMessage::~LogMessage()
#3 0x55dcb79524aa aura::Window::AddChild()
#4 0x55dcb510211e views::internal::NativeWidgetPrivate::ReparentNativeView()
#5 0x55dcb50d12ed views::Widget::ReparentNativeView()
#6 0x55dcb50f1d65 views::NativeViewHostAura::AddClippingWindow()
#7 0x55dcb50f12bb views::NativeViewHostAura::AttachNativeView()
#8 0x55dcb504214e views::NativeViewHost::Attach()
#9 0x55dcbcb541bd views::WebView::AttachWebContents()
#10 0x55dcbcb54bfe views::WebView::ViewHierarchyChanged()
#11 0x55dcb50b518d views::View::ViewHierarchyChangedImpl()
#12 0x55dcb50b5389 views::View::PropagateAddNotifications()
#13 0x55dcb50b5347 views::View::PropagateAddNotifications()
#14 0x55dcb50b28ec views::View::AddChildViewAt()
#15 0x55dcb50b22ae views::View::AddChildView()
#16 0x55dcb50cb33c views::internal::RootView::SetContentsView()
#17 0x55dcb50d1917 views::Widget::SetContentsView()
#18 0x55dcaf261bb7 chromeos::WebUIScreenLocker::LockScreen()
#19 0x55dcaf24ec85 chromeos::ScreenLocker::Init()
#20 0x55dcaf254861 chromeos::ScreenLocker::Show()::$_1::operator()()
#21 0x55dcaf2545ed _ZN4base8internal13FunctorTraitsIZN8chromeos12ScreenLocker4ShowEvE3$_1vE6InvokeIRKS4_JEEEvOT_DpOT0_
#22 0x55dcaf2545bd _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKZN8chromeos12ScreenLocker4ShowEvE3$_1JEEEvOT_DpOT0_
#23 0x55dcaf254591 _ZN4base8internal7InvokerINS0_9BindStateIZN8chromeos12ScreenLocker4ShowEvE3$_1JEEEFvvEE7RunImplIRKS5_RKNSt3__15tupleIJEEEJEEEvOT_OT0_NSC_16integer_sequenceImJXspT1_EEEE
#24 0x55dcaf25450c _ZN4base8internal7InvokerINS0_9BindStateIZN8chromeos12ScreenLocker4ShowEvE3$_1JEEEFvvEE3RunEPNS0_13BindStateBaseE
#25 0x55dca5b5c70e _ZNO4base12OnceCallbackIFvvEE3RunEv
#26 0x55dcae22a33f ash::mojom::SessionController_PrepareForLock_ForwardToCallback::Accept()
#27 0x55dcb56696e2 mojo::InterfaceEndpointClient::HandleValidatedMessage()
#28 0x55dcb56682e1 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept()
#29 0x55dcb56970d8 mojo::FilterChain::Accept()
#30 0x55dcb566c1e6 mojo::InterfaceEndpointClient::HandleIncomingMessage()
#31 0x55dcb5675ae2 mojo::internal::MultiplexRouter::ProcessIncomingMessage()
#32 0x55dcb5675105 mojo::internal::MultiplexRouter::Accept()
#33 0x55dcb56970d8 mojo::FilterChain::Accept()
#34 0x55dcb5663304 mojo::Connector::ReadSingleMessage()
#35 0x55dcb56642aa mojo::Connector::ReadAllAvailableMessages()
#36 0x55dcb5664078 mojo::Connector::OnHandleReadyInternal()
#37 0x55dcb5663f7b mojo::Connector::OnWatcherHandleReady()
#38 0x55dca5ef1ddf _ZN4base8internal13FunctorTraitsIMN13safe_browsing24DownloadDangerPromptTestEFvN20DownloadDangerPrompt6ActionEEvE6InvokeIS7_PS3_JS5_EEEvT_OT0_DpOT1_
#39 0x55dca5ef1d0f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN13safe_browsing24DownloadDangerPromptTestEFvN20DownloadDangerPrompt6ActionEEJPS5_S7_EEEvOT_DpOT0_
#40 0x55dcb5665685 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEEOj
#41 0x55dcb56655ab _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEj
#42 0x55dca5ee56de _ZNKR4base17RepeatingCallbackIFvN13safe_browsing19DownloadCheckResultEEE3RunES2_
#43 0x55dcaada055f mojo::SimpleWatcher::DiscardReadyState()
#44 0x55dcaada07cf _ZN4base8internal13FunctorTraitsIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEvE6InvokeIRKSC_JS6_jSA_EEEvOT_DpOT0_
#45 0x55dcaada076d _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS8_jSC_EEEvOT_DpOT0_
#46 0x55dcaada0710 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE7RunImplIRKSD_RKNSt3__15tupleIJS5_EEEJLm0EEEEvOT_OT0_NSK_16integer_sequenceImJXspT1_EEEEOjSB_
#47 0x55dcaada0636 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE3RunEPNS0_13BindStateBaseEjSB_
#48 0x55dca5e16e7e _ZNKR4base17RepeatingCallbackIFviRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEE3RunEiS9_
#49 0x55dcb3e7d7db mojo::SimpleWatcher::OnHandleReady()
#50 0x55dcaa290d23 _ZN4base8internal13FunctorTraitsIMN5media22DecryptingAudioDecoderEFviNS2_9Decryptor6StatusERKNSt3__14listI13scoped_refptrINS2_11AudioBufferEENS6_9allocatorISA_EEEEEvE6InvokeISH_RKNS_7WeakPtrIS3_EEJRKiS5_SF_EEEvT_OT0_DpOT1_
#51 0x55dcb3e7e1d5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN4mojo13SimpleWatcherEFvijRKNS4_18HandleSignalsStateEERKNS_7WeakPtrIS5_EEJRKiRKjS8_EEEvOT_OT0_DpOT1_
#52 0x55dcb3e7e132 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE
#53 0x55dcb3e7df7c _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE3RunEPNS0_13BindStateBaseE
#54 0x55dca5b5c70e _ZNO4base12OnceCallbackIFvvEE3RunEv
#55 0x55dcb27be5ba base::debug::TaskAnnotator::RunTask()
#56 0x55dcb2564b0c base::MessageLoopImpl::RunTask()
#57 0x55dcb2564e0b base::MessageLoopImpl::DeferOrRunPendingTask()
#58 0x55dcb2565644 base::MessageLoopImpl::DoWork()
#59 0x55dcb279c479 base::MessagePumpLibevent::Run()
#60 0x55dcb2564326 base::MessageLoopImpl::Run()
#61 0x55dcb25eb832 base::RunLoop::Run()

Owner: jdufault@chromium.org
Status: Assigned (was: Untriaged)
Please verify once that CL lands:

autoninja -C out/Debug browser_tests && ./testing/xvfb.py out/Debug/browser_tests --enable-features=SingleProcessMash --gtest_filter=ShutdownPolicyLockerTest.TestBasic

Ah, it looks like these tests inject directly to webui, so they are using webui login/lock. When we migrate to views they will get fixed as part of that.

I'm not planning on fixing them directly outside of migrating them to views; feel free to take ownership stevenjb@ if they need to be fixed sooner.
*inject JS directly into the webui
It's not urgent, we're just disabling the tests for now. Is there a timeframe for migrating to Views?

Owner: sky@chromium.org
I'll take a look at this.
Migration will probably be within the next few months.
Status: Started (was: Assigned)
Project Member

Comment 10 by bugdroid1@chromium.org, Dec 6

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

commit b1e4803dd916d499f16209589ff06a0745a8e474
Author: Scott Violet <sky@chromium.org>
Date: Thu Dec 06 18:22:31 2018

chromeos: refactor LockWindow

LockWindow is used from both chrome and ash. LockWindow reaches directly into
ash and parents a widget to ash's hierarchy. This won't work from the chrome
side. The code has been refactored in two ways:

. ash specific functionality has been moved into LockLayoutManager.
. a factory function for creating the widget is added to ash/public/cpp. The
  function takes an argument that dictates how it works. Specifically in
  ash code the parent is supplied, outside of ash the container id is used.

BUG= 899862 
TEST=covered by tests

Change-Id: I4c0ca9c91948df9f653f5cb97bb6bc1c48c09301
Reviewed-on: https://chromium-review.googlesource.com/c/1364076
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614420}
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/BUILD.gn
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/login/login_screen_controller.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/login/login_screen_test_api.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/login/ui/lock_screen.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/login/ui/lock_screen.h
[delete] https://crrev.com/e908ae1d722150daddb6a3074842d564e29b6694/ash/login/ui/lock_window.cc
[delete] https://crrev.com/e908ae1d722150daddb6a3074842d564e29b6694/ash/login/ui/lock_window.h
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/login/ui/lock_window_unittest.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/login/ui/login_bubble.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/public/cpp/BUILD.gn
[add] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/public/cpp/lock_screen_widget_factory.cc
[add] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/public/cpp/lock_screen_widget_factory.h
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/shelf/login_shelf_view.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/system/message_center/ash_message_center_lock_screen_controller.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/system/tray/tray_background_view.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/ash/wm/lock_layout_manager.cc
[delete] https://crrev.com/e908ae1d722150daddb6a3074842d564e29b6694/chrome/browser/chromeos/login/lock/DEPS
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/chrome/browser/chromeos/login/lock/webui_screen_locker.h
[modify] https://crrev.com/b1e4803dd916d499f16209589ff06a0745a8e474/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter

Status: Fixed (was: Started)

Sign in to add a comment