Enabling the following currently-disabled test:
TabDragging/DetachToBrowserInSeparateDisplayTabDragControllerTest.DragTabToImmersiveBrowserOnSeparateDisplay/0
...causes a hang on Linux with this callstack:
#0 0x55d88b79c0ff base::debug::StackTrace::StackTrace()
#1 0x55d88aff42c5 content::(anonymous namespace)::DumpStackTraceSignalHandler()
#2 0x7fe108da2cb0 <unknown>
#3 0x7fe10c343402 __pthread_cond_wait
#4 0x55d88b7a86b3 base::ConditionVariable::Wait()
#5 0x55d88b7a9f31 base::WaitableEvent::TimedWaitUntil()
#6 0x55d88b7a9ac9 base::WaitableEvent::Wait()
#7 0x55d8884c108a gpu::GpuChannelHost::Send()
#8 0x55d8884bd7cf gpu::CommandBufferProxyImpl::Send()
#9 0x55d8884bdb31 gpu::CommandBufferProxyImpl::WaitForGetOffsetInRange()
#10 0x55d88833fffa gpu::CommandBufferHelper::WaitForGetOffsetInRange()
#11 0x55d8883400bd gpu::CommandBufferHelper::Finish()
#12 0x55d88c5a914e gpu::ImplementationBase::WaitForCmd()
#13 0x55d88c567fab gpu::gles2::GLES2Implementation::CheckFramebufferStatus()
#14 0x55d88cadf30a viz::GLRenderer::BindFramebufferToTexture()
#15 0x55d88cb49106 viz::DirectRenderer::UseRenderPass()
#16 0x55d88cb486e8 viz::DirectRenderer::DrawRenderPass()
#17 0x55d88cb47fbb viz::DirectRenderer::DrawRenderPassAndExecuteCopyRequests()
#18 0x55d88cb477f1 viz::DirectRenderer::DrawFrame()
#19 0x55d88cac410c viz::Display::DrawAndSwap()
#20 0x55d88cace69f viz::DisplayScheduler::DrawAndSwap()
#21 0x55d88cacdf0f viz::DisplayScheduler::AttemptDrawAndSwap()
#22 0x55d88cacd84f viz::DisplayScheduler::OnBeginFrameDeadline()
#23 0x55d88781f647 _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos17SelectToSpeakTestEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#24 0x55d887c2173f _ZN4base8internal22CancelableCallbackImplINS_17RepeatingCallbackIFvvEEEE16ForwardRepeatingIJEEEvDpT_
#25 0x55d88781f647 _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos17SelectToSpeakTestEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#26 0x55d88b7c03a1 base::debug::TaskAnnotator::RunTask()
#27 0x55d88b70472f base::MessageLoopImpl::RunTask()
#28 0x55d88b704cf3 base::MessageLoopImpl::DoWork()
#29 0x55d88b7bb079 base::MessagePumpLibevent::Run()
#30 0x55d88b704347 base::MessageLoopImpl::Run()
#31 0x55d88b72b3d9 base::RunLoop::Run()
#32 0x55d88d8b801d ash::ToplevelWindowEventHandler::RunMoveLoop()
#33 0x55d88b66f8b6 views::NativeWidgetAura::RunMoveLoop()
#34 0x55d88dd9cccf TabDragController::RunMoveLoop()
#35 0x55d88dd9eaac TabDragController::DetachIntoNewBrowserAndRunMoveLoop()
#36 0x55d88dd9e0f2 TabDragController::DragBrowserToNewTabStrip()
#37 0x55d88dd9d118 TabDragController::ContinueDragging()
#38 0x55d88dd9b386 TabDragController::Drag()
#39 0x55d88dda7c04 TabStrip::ContinueDrag()
#40 0x55d88df4c4ca Tab::OnMouseDragged()
#41 0x55d88b652c2f views::View::ProcessMouseDragged()
#42 0x55d88b65288b views::View::OnMouseEvent()
#43 0x55d88bca3f63 ui::EventDispatcher::ProcessEvent()
#44 0x55d88bca3d85 ui::EventDispatcherDelegate::DispatchEventToTarget()
#45 0x55d88bca3cf6 ui::EventDispatcherDelegate::DispatchEvent()
#46 0x55d88b65858f views::internal::RootView::OnMouseDragged()
#47 0x55d88b65dff4 views::Widget::OnMouseEvent()
#48 0x55d88b67043f views::NativeWidgetAura::OnMouseEvent()
#49 0x55d88bca3f63 ui::EventDispatcher::ProcessEvent()
#50 0x55d88bca3d85 ui::EventDispatcherDelegate::DispatchEventToTarget()
#51 0x55d88bca3cf6 ui::EventDispatcherDelegate::DispatchEvent()
#52 0x55d88bca4ca2 ui::EventProcessor::OnEventFromSource()
#53 0x55d88bca523e ui::EventSource::SendEventToSinkFromRewriter()
#54 0x55d88f80bd67 aura::test::(anonymous namespace)::UIControlsOzone::SendEventToSink()
#55 0x55d88f80c290 aura::test::(anonymous namespace)::UIControlsOzone::PostMouseEventTask()
#56 0x55d88f80c314 _ZN4base8internal7InvokerINS0_9BindStateIMN4aura4test12_GLOBAL__N_115UIControlsOzoneEFvN2ui9EventTypeERKN3gfx5PointEiiNS_12OnceCallbackIFvvEEEEJNS0_17UnretainedWrapperIS6_EES8_SA_iiSF_EEESE_E7RunOnceEPNS0_13BindStateBaseE
#57 0x55d88b7c03a1 base::debug::TaskAnnotator::RunTask()
#58 0x55d88b70472f base::MessageLoopImpl::RunTask()
#59 0x55d88b704cf3 base::MessageLoopImpl::DoWork()
#60 0x55d88b7bb079 base::MessagePumpLibevent::Run()
#61 0x55d88b7042d8 base::MessageLoopImpl::Run()
#62 0x55d88b72b3d9 base::RunLoop::Run()
#63 0x55d8877e8e59 DetachToBrowserTabDragControllerTest::QuitWhenNotDragging()
#64 0x55d8877fbac6 DetachToBrowserInSeparateDisplayTabDragControllerTest_DragTabToImmersiveBrowserOnSeparateDisplay_Test::RunTestOnMainThread()
#65 0x55d88aff3909 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#66 0x55d88aad57d7 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#67 0x55d88aad458b ChromeBrowserMainParts::PreMainMessageLoopRun()
#68 0x55d889758080 chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#69 0x55d888a30ff5 content::BrowserMainLoop::PreMainMessageLoopRun()
#70 0x55d888ef83b5 content::StartupTaskRunner::RunAllTasksNow()
#71 0x55d888a2fcf5 content::BrowserMainLoop::CreateStartupTasks()
#72 0x55d888a33279 content::BrowserMainRunnerImpl::Initialize()
#73 0x55d888a2dc1b content::BrowserMain()
#74 0x55d88a8b26a3 content::ContentMainRunnerImpl::Run()
#75 0x55d88cce4346 service_manager::Main()
#76 0x55d88a8b09f4 content::ContentMain()
#77 0x55d88aff34fc content::BrowserTestBase::SetUp()
#78 0x55d88aac5481 InProcessBrowserTest::SetUp()
#79 0x55d887989830 testing::Test::Run()
#80 0x55d88798a5cf testing::TestInfo::Run()
#81 0x55d88798aaf7 testing::TestCase::Run()
#82 0x55d887996d37 testing::internal::UnitTestImpl::RunAllTests()
#83 0x55d8879968ad testing::UnitTest::Run()
#84 0x55d88b6d75b1 base::TestSuite::Run()
#85 0x55d88778a3f3 InteractiveUITestSuiteRunner::RunTestSuite()
#86 0x55d88affd93a content::LaunchTests()
#87 0x55d88aabf203 LaunchChromeTests()
#88 0x55d88778a39d main
#89 0x7fe108d8df45 __libc_start_main
#90 0x55d8876587ea _start
The test is terminated in the same place consistently across runs and both with and without Mus. I'm thinking this is some kind of deadlock due to the nested message loop for dragging not allowing the main loop to spin, or something.
Comment 1 by rockot@google.com
, Dec 3