HeadlessBrowserContextIsolationTest.RunAsyncTest fails with GPU compositing blacklisting moving to GPU process |
|||
Issue descriptionBoth in headless_browsertests and renderer_side_navigation_headless_browsertests On Linux Debug bot Here is the log: [ RUN ] HeadlessBrowserContextIsolationTest.RunAsyncTest [14862:14862:1103/065140.150954:5532836708:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065140.423155:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [14862:14912:1103/065140.458101:5533143857:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [14862:14912:1103/065140.569801:5533255561:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [1103/065140.806580:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065140.833133:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU. [14862:14862:1103/065140.856693:5533542451:ERROR:gpu_process_transport_factory.cc(1011)] Lost UI shared context. [1103/065140.881978:ERROR:command_buffer_proxy_impl.cc(137)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer. [1103/065140.882200:ERROR:context_provider_command_buffer.cc(245)] GpuChannelHost failed to create command buffer. [1103/065140.894200:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065140.894325:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [14862:14862:1103/065140.859514:5533545268:FATAL:single_thread_proxy.cc(134)] Check failed: layer_tree_frame_sink_creation_requested_. #0 0x7fea91bb9f1d base::debug::StackTrace::StackTrace() #1 0x7fea91bb834c base::debug::StackTrace::StackTrace() #2 0x7fea91c3f28a logging::LogMessage::~LogMessage() #3 0x7fea8a3aafe5 cc::SingleThreadProxy::SetLayerTreeFrameSink() #4 0x7fea8a2b8f12 cc::LayerTreeHost::SetLayerTreeFrameSink() #5 0x7fea8795e78e ui::Compositor::SetLayerTreeFrameSink() #6 0x7fea8d597e1f content::GpuProcessTransportFactory::EstablishedGpuChannel() #7 0x7fea8d59e447 _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeIRKNS4_IS3_EEJRKS7_RKbSB_EEEvSD_OT_DpOT0_ #8 0x7fea8d59e345 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEERKNS6_IS5_EEJRKS9_RKbSD_EEEvOT_OT0_DpOT1_ #9 0x7fea8d59e299 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE7RunImplIRKSE_RKNSt3__15tupleIJSF_S8_bEEEJLm0ELm1ELm2EEEEvOT_OT0_NSM_16integer_sequenceImJXspT1_EEEEOSC_ #10 0x7fea8d59e154 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE3RunEPNS0_13BindStateBaseEOSC_ #11 0x7fea8b65b3d0 _ZNKR4base17RepeatingCallbackIFvN4mojo16InterfaceRequestIN15service_manager5mojom14ServiceFactoryEEEEE3RunES6_ #12 0x7fea8cbc16fd content::BrowserGpuChannelHostFactory::GpuChannelEstablished() #13 0x7fea8cbc1053 content::BrowserGpuChannelHostFactory::EstablishRequest::FinishOnMain() #14 0x7fea8ba06cbf _ZN4base8internal13FunctorTraitsIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEvE6InvokeI13scoped_refptrIS4_EJEEEvS6_OT_DpOT0_ #15 0x7fea8ba06c34 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS6_EEEEvOT_DpOT0_ #16 0x7fea8ba06be0 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunImplIS7_NSt3__15tupleIJS9_EEEJLm0EEEEvOT_OT0_NSE_16integer_sequenceImJXspT1_EEEE #17 0x7fea8ba06b39 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #18 0x7fea91b66051 _ZNO4base12OnceCallbackIFvvEE3RunEv #19 0x7fea91bbe24a base::debug::TaskAnnotator::RunTask() #20 0x7fea91c5e0d5 base::internal::IncomingTaskQueue::RunTask() #21 0x7fea91c67030 base::MessageLoop::RunTask() #22 0x7fea91c672e6 base::MessageLoop::DeferOrRunPendingTask() #23 0x7fea91c67630 base::MessageLoop::DoWork() #24 0x7fea91c6acfc base::MessagePumpGlib::HandleDispatch() #25 0x7fea91c6b4a1 base::(anonymous namespace)::WorkSourceDispatch() #26 0x7fea7fdb4e04 g_main_context_dispatch #27 0x7fea7fdb5048 <unknown> #28 0x7fea7fdb50ec g_main_context_iteration #29 0x7fea91c6adff base::MessagePumpGlib::Run() #30 0x7fea91c667ac base::MessageLoop::Run() #31 0x7fea91d12b1b base::RunLoop::Run() #32 0x0000007c647f headless::HeadlessBrowserTest::RunAsynchronousTest() #33 0x0000007c715a headless::HeadlessAsyncDevTooledBrowserTest::RunTest() #34 0x0000007368c5 headless::HeadlessBrowserContextIsolationTest_RunAsyncTest_Test::RunTestOnMainThread() #35 0x0000011c218a content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() #36 0x00000073b81d _ZN4base8internal13FunctorTraitsIMN8headless35HeadlessBrowserContextIsolationTestEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #37 0x00000073b794 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN8headless35HeadlessBrowserContextIsolationTestEFvvEJPS5_EEEvOT_DpOT0_ #38 0x00000073b745 _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE #39 0x00000073b6dc _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #40 0x7fea91b66051 _ZNO4base12OnceCallbackIFvvEE3RunEv #41 0x7fea91bbe24a base::debug::TaskAnnotator::RunTask() #42 0x7fea91c5e0d5 base::internal::IncomingTaskQueue::RunTask() #43 0x7fea91c67030 base::MessageLoop::RunTask() #44 0x7fea91c672e6 base::MessageLoop::DeferOrRunPendingTask() #45 0x7fea91c67630 base::MessageLoop::DoWork() #46 0x7fea91c6ae36 base::MessagePumpGlib::Run() #47 0x7fea91c667ac base::MessageLoop::Run() #48 0x7fea91d12b1b base::RunLoop::Run() #49 0x7fea8c72121d content::BrowserMainLoop::MainMessageLoopRun() #50 0x7fea8c720f27 content::BrowserMainLoop::RunMainMessageLoopParts() #51 0x7fea8c72ad4f content::BrowserMainRunnerImpl::Run() #52 0x7fea9191de22 headless::HeadlessContentMainDelegate::RunProcess() #53 0x7fea8e24dded content::RunNamedProcessTypeMain() #54 0x7fea8e250a2a content::ContentMainRunnerImpl::Run() #55 0x7fea8e246eed content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #56 0x7fea7f8cd89d service_manager::Main() #57 0x7fea8e24cc7f content::ContentMain() #58 0x0000011c1d7a content::BrowserTestBase::SetUp() #59 0x0000007c596e headless::HeadlessBrowserTest::SetUp() #60 0x00000089b76e testing::internal::HandleSehExceptionsInMethodIfSupported<>() #61 0x00000088f162 testing::internal::HandleExceptionsInMethodIfSupported<>() [ RUN ] HeadlessBrowserContextIsolationTest.RunAsyncTest [18099:18099:1103/065204.231603:5556917357:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065204.497138:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [18099:18119:1103/065204.531980:5557217736:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [18099:18119:1103/065204.616679:5557302436:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [1103/065204.815928:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065204.837376:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU. [18099:18099:1103/065204.856623:5557542379:ERROR:gpu_process_transport_factory.cc(1011)] Lost UI shared context. [1103/065204.879340:ERROR:command_buffer_proxy_impl.cc(137)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer. [1103/065204.879587:ERROR:context_provider_command_buffer.cc(245)] GpuChannelHost failed to create command buffer. [1103/065204.881409:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065204.884524:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065204.884648:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065204.888158:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [18099:18099:1103/065204.859384:5557545137:FATAL:single_thread_proxy.cc(134)] Check failed: layer_tree_frame_sink_creation_requested_. #0 0x7f2584e50f1d base::debug::StackTrace::StackTrace() #1 0x7f2584e4f34c base::debug::StackTrace::StackTrace() #2 0x7f2584ed628a logging::LogMessage::~LogMessage() #3 0x7f257d641fe5 cc::SingleThreadProxy::SetLayerTreeFrameSink() #4 0x7f257d54ff12 cc::LayerTreeHost::SetLayerTreeFrameSink() #5 0x7f257abf578e ui::Compositor::SetLayerTreeFrameSink() #6 0x7f258082ee1f content::GpuProcessTransportFactory::EstablishedGpuChannel() #7 0x7f2580835447 _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeIRKNS4_IS3_EEJRKS7_RKbSB_EEEvSD_OT_DpOT0_ #8 0x7f2580835345 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEERKNS6_IS5_EEJRKS9_RKbSD_EEEvOT_OT0_DpOT1_ #9 0x7f2580835299 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE7RunImplIRKSE_RKNSt3__15tupleIJSF_S8_bEEEJLm0ELm1ELm2EEEEvOT_OT0_NSM_16integer_sequenceImJXspT1_EEEEOSC_ #10 0x7f2580835154 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE3RunEPNS0_13BindStateBaseEOSC_ #11 0x7f257e8f23d0 _ZNKR4base17RepeatingCallbackIFvN4mojo16InterfaceRequestIN15service_manager5mojom14ServiceFactoryEEEEE3RunES6_ #12 0x7f257fe586fd content::BrowserGpuChannelHostFactory::GpuChannelEstablished() #13 0x7f257fe58053 content::BrowserGpuChannelHostFactory::EstablishRequest::FinishOnMain() #14 0x7f257ec9dcbf _ZN4base8internal13FunctorTraitsIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEvE6InvokeI13scoped_refptrIS4_EJEEEvS6_OT_DpOT0_ #15 0x7f257ec9dc34 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS6_EEEEvOT_DpOT0_ #16 0x7f257ec9dbe0 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunImplIS7_NSt3__15tupleIJS9_EEEJLm0EEEEvOT_OT0_NSE_16integer_sequenceImJXspT1_EEEE #17 0x7f257ec9db39 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #18 0x7f2584dfd051 _ZNO4base12OnceCallbackIFvvEE3RunEv #19 0x7f2584e5524a base::debug::TaskAnnotator::RunTask() #20 0x7f2584ef50d5 base::internal::IncomingTaskQueue::RunTask() #21 0x7f2584efe030 base::MessageLoop::RunTask() #22 0x7f2584efe2e6 base::MessageLoop::DeferOrRunPendingTask() #23 0x7f2584efe630 base::MessageLoop::DoWork() #24 0x7f2584f01cfc base::MessagePumpGlib::HandleDispatch() #25 0x7f2584f024a1 base::(anonymous namespace)::WorkSourceDispatch() #26 0x7f257304be04 g_main_context_dispatch #27 0x7f257304c048 <unknown> #28 0x7f257304c0ec g_main_context_iteration #29 0x7f2584f01dff base::MessagePumpGlib::Run() #30 0x7f2584efd7ac base::MessageLoop::Run() #31 0x7f2584fa9b1b base::RunLoop::Run() #32 0x0000007c647f headless::HeadlessBrowserTest::RunAsynchronousTest() #33 0x0000007c715a headless::HeadlessAsyncDevTooledBrowserTest::RunTest() #34 0x0000007368c5 headless::HeadlessBrowserContextIsolationTest_RunAsyncTest_Test::RunTestOnMainThread() #35 0x0000011c218a content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() #36 0x00000073b81d _ZN4base8internal13FunctorTraitsIMN8headless35HeadlessBrowserContextIsolationTestEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #37 0x00000073b794 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN8headless35HeadlessBrowserContextIsolationTestEFvvEJPS5_EEEvOT_DpOT0_ #38 0x00000073b745 _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE #39 0x00000073b6dc _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #40 0x7f2584dfd051 _ZNO4base12OnceCallbackIFvvEE3RunEv #41 0x7f2584e5524a base::debug::TaskAnnotator::RunTask() #42 0x7f2584ef50d5 base::internal::IncomingTaskQueue::RunTask() #43 0x7f2584efe030 base::MessageLoop::RunTask() #44 0x7f2584efe2e6 base::MessageLoop::DeferOrRunPendingTask() #45 0x7f2584efe630 base::MessageLoop::DoWork() #46 0x7f2584f01e36 base::MessagePumpGlib::Run() #47 0x7f2584efd7ac base::MessageLoop::Run() #48 0x7f2584fa9b1b base::RunLoop::Run() #49 0x7f257f9b821d content::BrowserMainLoop::MainMessageLoopRun() #50 0x7f257f9b7f27 content::BrowserMainLoop::RunMainMessageLoopParts() #51 0x7f257f9c1d4f content::BrowserMainRunnerImpl::Run() #52 0x7f2584bb4e22 headless::HeadlessContentMainDelegate::RunProcess() #53 0x7f25814e4ded content::RunNamedProcessTypeMain() #54 0x7f25814e7a2a content::ContentMainRunnerImpl::Run() #55 0x7f25814ddeed content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #56 0x7f2572b6489d service_manager::Main() #57 0x7f25814e3c7f content::ContentMain() #58 0x0000011c1d7a content::BrowserTestBase::SetUp() #59 0x0000007c596e headless::HeadlessBrowserTest::SetUp() #60 0x00000089b76e testing::internal::HandleSehExceptionsInMethodIfSupported<>() #61 0x00000088f162 testing::internal::HandleExceptionsInMethodIfSupported<>() [ RUN ] HeadlessBrowserContextIsolationTest.RunAsyncTest [18166:18166:1103/065205.287413:5557973166:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065205.540080:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [18166:18186:1103/065205.580529:5558266284:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [18166:18186:1103/065205.659684:5558345440:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [1103/065205.854834:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065205.876072:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU. [18166:18166:1103/065205.895203:5558580958:ERROR:gpu_process_transport_factory.cc(1011)] Lost UI shared context. [1103/065205.914330:ERROR:command_buffer_proxy_impl.cc(137)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer. [1103/065205.914538:ERROR:context_provider_command_buffer.cc(245)] GpuChannelHost failed to create command buffer. [1103/065205.923644:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065205.930075:ERROR:command_buffer_proxy_impl.cc(137)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer. [1103/065205.930283:ERROR:context_provider_command_buffer.cc(245)] GpuChannelHost failed to create command buffer. [1103/065205.934925:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [18166:18166:1103/065205.897619:5558583372:FATAL:single_thread_proxy.cc(134)] Check failed: layer_tree_frame_sink_creation_requested_. #0 0x7fc2cf2d1f1d base::debug::StackTrace::StackTrace() #1 0x7fc2cf2d034c base::debug::StackTrace::StackTrace() #2 0x7fc2cf35728a logging::LogMessage::~LogMessage() #3 0x7fc2c7ac2fe5 cc::SingleThreadProxy::SetLayerTreeFrameSink() #4 0x7fc2c79d0f12 cc::LayerTreeHost::SetLayerTreeFrameSink() #5 0x7fc2c507678e ui::Compositor::SetLayerTreeFrameSink() #6 0x7fc2cacafe1f content::GpuProcessTransportFactory::EstablishedGpuChannel() #7 0x7fc2cacb6447 _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeIRKNS4_IS3_EEJRKS7_RKbSB_EEEvSD_OT_DpOT0_ #8 0x7fc2cacb6345 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEERKNS6_IS5_EEJRKS9_RKbSD_EEEvOT_OT0_DpOT1_ #9 0x7fc2cacb6299 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE7RunImplIRKSE_RKNSt3__15tupleIJSF_S8_bEEEJLm0ELm1ELm2EEEEvOT_OT0_NSM_16integer_sequenceImJXspT1_EEEEOSC_ #10 0x7fc2cacb6154 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE3RunEPNS0_13BindStateBaseEOSC_ #11 0x7fc2c8d733d0 _ZNKR4base17RepeatingCallbackIFvN4mojo16InterfaceRequestIN15service_manager5mojom14ServiceFactoryEEEEE3RunES6_ #12 0x7fc2ca2d96fd content::BrowserGpuChannelHostFactory::GpuChannelEstablished() #13 0x7fc2ca2d9053 content::BrowserGpuChannelHostFactory::EstablishRequest::FinishOnMain() #14 0x7fc2c911ecbf _ZN4base8internal13FunctorTraitsIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEvE6InvokeI13scoped_refptrIS4_EJEEEvS6_OT_DpOT0_ #15 0x7fc2c911ec34 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS6_EEEEvOT_DpOT0_ #16 0x7fc2c911ebe0 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunImplIS7_NSt3__15tupleIJS9_EEEJLm0EEEEvOT_OT0_NSE_16integer_sequenceImJXspT1_EEEE #17 0x7fc2c911eb39 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #18 0x7fc2cf27e051 _ZNO4base12OnceCallbackIFvvEE3RunEv #19 0x7fc2cf2d624a base::debug::TaskAnnotator::RunTask() #20 0x7fc2cf3760d5 base::internal::IncomingTaskQueue::RunTask() #21 0x7fc2cf37f030 base::MessageLoop::RunTask() #22 0x7fc2cf37f2e6 base::MessageLoop::DeferOrRunPendingTask() #23 0x7fc2cf37f630 base::MessageLoop::DoWork() #24 0x7fc2cf382cfc base::MessagePumpGlib::HandleDispatch() #25 0x7fc2cf3834a1 base::(anonymous namespace)::WorkSourceDispatch() #26 0x7fc2bd4cce04 g_main_context_dispatch #27 0x7fc2bd4cd048 <unknown> #28 0x7fc2bd4cd0ec g_main_context_iteration #29 0x7fc2cf382dff base::MessagePumpGlib::Run() #30 0x7fc2cf37e7ac base::MessageLoop::Run() #31 0x7fc2cf42ab1b base::RunLoop::Run() #32 0x0000007c647f headless::HeadlessBrowserTest::RunAsynchronousTest() #33 0x0000007c715a headless::HeadlessAsyncDevTooledBrowserTest::RunTest() #34 0x0000007368c5 headless::HeadlessBrowserContextIsolationTest_RunAsyncTest_Test::RunTestOnMainThread() #35 0x0000011c218a content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() #36 0x00000073b81d _ZN4base8internal13FunctorTraitsIMN8headless35HeadlessBrowserContextIsolationTestEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #37 0x00000073b794 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN8headless35HeadlessBrowserContextIsolationTestEFvvEJPS5_EEEvOT_DpOT0_ #38 0x00000073b745 _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE #39 0x00000073b6dc _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #40 0x7fc2cf27e051 _ZNO4base12OnceCallbackIFvvEE3RunEv #41 0x7fc2cf2d624a base::debug::TaskAnnotator::RunTask() #42 0x7fc2cf3760d5 base::internal::IncomingTaskQueue::RunTask() #43 0x7fc2cf37f030 base::MessageLoop::RunTask() #44 0x7fc2cf37f2e6 base::MessageLoop::DeferOrRunPendingTask() #45 0x7fc2cf37f630 base::MessageLoop::DoWork() #46 0x7fc2cf382e36 base::MessagePumpGlib::Run() #47 0x7fc2cf37e7ac base::MessageLoop::Run() #48 0x7fc2cf42ab1b base::RunLoop::Run() #49 0x7fc2c9e3921d content::BrowserMainLoop::MainMessageLoopRun() #50 0x7fc2c9e38f27 content::BrowserMainLoop::RunMainMessageLoopParts() #51 0x7fc2c9e42d4f content::BrowserMainRunnerImpl::Run() #52 0x7fc2cf035e22 headless::HeadlessContentMainDelegate::RunProcess() #53 0x7fc2cb965ded content::RunNamedProcessTypeMain() #54 0x7fc2cb968a2a content::ContentMainRunnerImpl::Run() #55 0x7fc2cb95eeed content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #56 0x7fc2bcfe589d service_manager::Main() #57 0x7fc2cb964c7f content::ContentMain() #58 0x0000011c1d7a content::BrowserTestBase::SetUp() #59 0x0000007c596e headless::HeadlessBrowserTest::SetUp() #60 0x00000089b76e testing::internal::HandleSehExceptionsInMethodIfSupported<>() #61 0x00000088f162 testing::internal::HandleExceptionsInMethodIfSupported<>() [ RUN ] HeadlessBrowserContextIsolationTest.RunAsyncTest [18233:18233:1103/065206.331383:5559017138:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065206.582609:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [18233:18253:1103/065206.624750:5559310504:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [18233:18253:1103/065206.718177:5559403934:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin [1103/065206.890129:WARNING:resource_bundle.cc(367)] locale_file_path.empty() for locale [1103/065206.911057:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU. [18233:18233:1103/065206.933154:5559618910:ERROR:gpu_process_transport_factory.cc(1011)] Lost UI shared context. [1103/065206.960820:ERROR:gles2_implementation.cc(213)] ContextResult::kFatalFailure: TransferBuffer::Initailize() failed [1103/065206.961025:ERROR:context_provider_command_buffer.cc(276)] Failed to initialize GLES2Implementation. [1103/065206.961376:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065206.961523:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065206.961655:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [1103/065206.965798:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [18233:18233:1103/065206.935690:5559621443:FATAL:single_thread_proxy.cc(134)] Check failed: layer_tree_frame_sink_creation_requested_. #0 0x7f97dd63af1d base::debug::StackTrace::StackTrace() #1 0x7f97dd63934c base::debug::StackTrace::StackTrace() #2 0x7f97dd6c028a logging::LogMessage::~LogMessage() #3 0x7f97d5e2bfe5 cc::SingleThreadProxy::SetLayerTreeFrameSink() #4 0x7f97d5d39f12 cc::LayerTreeHost::SetLayerTreeFrameSink() #5 0x7f97d33df78e ui::Compositor::SetLayerTreeFrameSink() #6 0x7f97d9018e1f content::GpuProcessTransportFactory::EstablishedGpuChannel() #7 0x7f97d901f447 _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeIRKNS4_IS3_EEJRKS7_RKbSB_EEEvSD_OT_DpOT0_ #8 0x7f97d901f345 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEERKNS6_IS5_EEJRKS9_RKbSD_EEEvOT_OT0_DpOT1_ #9 0x7f97d901f299 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE7RunImplIRKSE_RKNSt3__15tupleIJSF_S8_bEEEJLm0ELm1ELm2EEEEvOT_OT0_NSM_16integer_sequenceImJXspT1_EEEEOSC_ #10 0x7f97d901f154 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE3RunEPNS0_13BindStateBaseEOSC_ #11 0x7f97d70dc3d0 _ZNKR4base17RepeatingCallbackIFvN4mojo16InterfaceRequestIN15service_manager5mojom14ServiceFactoryEEEEE3RunES6_ #12 0x7f97d86426fd content::BrowserGpuChannelHostFactory::GpuChannelEstablished() #13 0x7f97d8642053 content::BrowserGpuChannelHostFactory::EstablishRequest::FinishOnMain() #14 0x7f97d7487cbf _ZN4base8internal13FunctorTraitsIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEvE6InvokeI13scoped_refptrIS4_EJEEEvS6_OT_DpOT0_ #15 0x7f97d7487c34 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS6_EEEEvOT_DpOT0_ #16 0x7f97d7487be0 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunImplIS7_NSt3__15tupleIJS9_EEEJLm0EEEEvOT_OT0_NSE_16integer_sequenceImJXspT1_EEEE #17 0x7f97d7487b39 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #18 0x7f97dd5e7051 _ZNO4base12OnceCallbackIFvvEE3RunEv #19 0x7f97dd63f24a base::debug::TaskAnnotator::RunTask() #20 0x7f97dd6df0d5 base::internal::IncomingTaskQueue::RunTask() #21 0x7f97dd6e8030 base::MessageLoop::RunTask() #22 0x7f97dd6e82e6 base::MessageLoop::DeferOrRunPendingTask() #23 0x7f97dd6e8630 base::MessageLoop::DoWork() #24 0x7f97dd6ebe36 base::MessagePumpGlib::Run() #25 0x7f97dd6e77ac base::MessageLoop::Run() #26 0x7f97dd793b1b base::RunLoop::Run() #27 0x0000007c647f headless::HeadlessBrowserTest::RunAsynchronousTest() #28 0x0000007c715a headless::HeadlessAsyncDevTooledBrowserTest::RunTest() #29 0x0000007368c5 headless::HeadlessBrowserContextIsolationTest_RunAsyncTest_Test::RunTestOnMainThread() #30 0x0000011c218a content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() #31 0x00000073b81d _ZN4base8internal13FunctorTraitsIMN8headless35HeadlessBrowserContextIsolationTestEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #32 0x00000073b794 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN8headless35HeadlessBrowserContextIsolationTestEFvvEJPS5_EEEvOT_DpOT0_ #33 0x00000073b745 _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE #34 0x00000073b6dc _ZN4base8internal7InvokerINS0_9BindStateIMN8headless35HeadlessBrowserContextIsolationTestEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #35 0x7f97dd5e7051 _ZNO4base12OnceCallbackIFvvEE3RunEv #36 0x7f97dd63f24a base::debug::TaskAnnotator::RunTask() #37 0x7f97dd6df0d5 base::internal::IncomingTaskQueue::RunTask() #38 0x7f97dd6e8030 base::MessageLoop::RunTask() #39 0x7f97dd6e82e6 base::MessageLoop::DeferOrRunPendingTask() #40 0x7f97dd6e8630 base::MessageLoop::DoWork() #41 0x7f97dd6ebe36 base::MessagePumpGlib::Run() #42 0x7f97dd6e77ac base::MessageLoop::Run() #43 0x7f97dd793b1b base::RunLoop::Run() #44 0x7f97d81a221d content::BrowserMainLoop::MainMessageLoopRun() #45 0x7f97d81a1f27 content::BrowserMainLoop::RunMainMessageLoopParts() #46 0x7f97d81abd4f content::BrowserMainRunnerImpl::Run() #47 0x7f97dd39ee22 headless::HeadlessContentMainDelegate::RunProcess() #48 0x7f97d9cceded content::RunNamedProcessTypeMain() #49 0x7f97d9cd1a2a content::ContentMainRunnerImpl::Run() #50 0x7f97d9cc7eed content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #51 0x7f97cb34e89d service_manager::Main() #52 0x7f97d9ccdc7f content::ContentMain() #53 0x0000011c1d7a content::BrowserTestBase::SetUp() #54 0x0000007c596e headless::HeadlessBrowserTest::SetUp() #55 0x00000089b76e testing::internal::HandleSehExceptionsInMethodIfSupported<>() #56 0x00000088f162 testing::internal::HandleExceptionsInMethodIfSupported<>() #57 0x000000879804 testing::Test::Run() #58 0x00000087a3ad testing::TestInfo::Run() #59 0x00000087ae0c testing::TestCase::Run() #60 0x000000886b2c testing::internal::UnitTestImpl::RunAllTests() #61 0x00000089b87e testing::internal::HandleSehExceptionsInMethodIfSupported<>()
,
Nov 3 2017
[14862:14862:1103/065140.859514:5533545268:FATAL:single_thread_proxy.cc(134)] Check failed: layer_tree_frame_sink_creation_requested_. This variable tracks that compositor frame sink isnt given to the proxy when it already has one. Sounds like a call to SetCompositorFrameSink without first removing the old one (or being requested for it)
,
Nov 8 2017
Unfortunately I can't reproduce this locally, so I have to add a bunch of logs and try on the linux debug bot. Here are some LOGGING from a failed run and a success run. [FAILED RUN] [26505:26505:1107/181914.019435:40728880655:INFO:single_thread_proxy.cc(59)] SingleThreadProxy(): flag = false [26505:26505:1107/181914.055088:40728916311:INFO:single_thread_proxy.cc(116)] RequestNewLayerTreeFrameSink(): ENTER [26505:26505:1107/181914.055168:40728916384:INFO:single_thread_proxy.cc(121)] RequestNewLayerTreeFrameSink(): flag = true [26505:26505:1107/181914.055253:40728916469:INFO:browser_gpu_channel_host_factory.cc(301)] BrowserGpuChannelHostFactory::EstablishGpuChannel(): add callback [26505:26505:1107/181914.121505:40728982729:INFO:single_thread_proxy.cc(59)] SingleThreadProxy(): flag = false [26505:26505:1107/181914.134758:40728995980:INFO:single_thread_proxy.cc(116)] RequestNewLayerTreeFrameSink(): ENTER [26505:26505:1107/181914.134850:40728996068:INFO:single_thread_proxy.cc(121)] RequestNewLayerTreeFrameSink(): flag = true [26505:26505:1107/181914.134931:40728996146:INFO:browser_gpu_channel_host_factory.cc(301)] BrowserGpuChannelHostFactory::EstablishGpuChannel(): add callback [1107/181914.434820:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU. [26505:26505:1107/181914.492944:40729354169:INFO:browser_gpu_channel_host_factory.cc(340)] GpuChannelEstablished(): BEGIN [26505:26505:1107/181914.493265:40729354483:INFO:gpu_process_transport_factory.cc(349)] GpuProcessTransportFactory::EstablishedGpuChannel(): GPU compositing blacklisted [26505:26505:1107/181914.493534:40729354752:ERROR:gpu_process_transport_factory.cc(1014)] Lost UI shared context. [26505:26505:1107/181914.494100:40729355318:INFO:single_thread_proxy.cc(136)] SetLayerTreeFrameSink(): ENTER [26505:26505:1107/181914.494808:40729356027:INFO:single_thread_proxy.cc(154)] SetLayerTreeFrameSink(): InitializeRenderer success, flag = false [26505:26505:1107/181914.495323:40729356541:INFO:single_thread_proxy.cc(136)] SetLayerTreeFrameSink(): ENTER [26505:26505:1107/181914.495920:40729357139:INFO:single_thread_proxy.cc(154)] SetLayerTreeFrameSink(): InitializeRenderer success, flag = false [26505:26505:1107/181914.496010:40729357226:INFO:gpu_process_transport_factory.cc(349)] GpuProcessTransportFactory::EstablishedGpuChannel(): GPU compositing blacklisted [26505:26505:1107/181914.496892:40729358110:INFO:single_thread_proxy.cc(136)] SetLayerTreeFrameSink(): ENTER [1107/181914.553262:ERROR:command_buffer_proxy_impl.cc(118)] ContextResult::kFatalFailure: Shared memory handle is not valid [1107/181914.553495:ERROR:context_provider_command_buffer.cc(245)] GpuChannelHost failed to create command buffer. [1107/181914.555009:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [26505:26505:1107/181914.496941:40729358156:FATAL:single_thread_proxy.cc(138)] Check failed: layer_tree_frame_sink_creation_requested_. [SUCCESS RUN] [12440:12440:1108/095906.291563:607479908941:INFO:single_thread_proxy.cc(59)] SingleThreadProxy(): flag = false [12440:12440:1108/095906.324209:607479941586:INFO:single_thread_proxy.cc(116)] RequestNewLayerTreeFrameSink(): ENTER [12440:12440:1108/095906.324281:607479941653:INFO:single_thread_proxy.cc(121)] RequestNewLayerTreeFrameSink(): flag = true [12440:12440:1108/095906.324346:607479941718:INFO:browser_gpu_channel_host_factory.cc(301)] BrowserGpuChannelHostFactory::EstablishGpuChannel(): add callback [1108/095906.573189:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU. [12440:12440:1108/095907.206673:607480824049:INFO:browser_gpu_channel_host_factory.cc(340)] GpuChannelEstablished(): BEGIN [12440:12440:1108/095907.206918:607480824291:INFO:gpu_process_transport_factory.cc(349)] GpuProcessTransportFactory::EstablishedGpuChannel(): GPU compositing blacklisted [12440:12440:1108/095907.207009:607480824381:ERROR:gpu_process_transport_factory.cc(1014)] Lost UI shared context. [12440:12440:1108/095907.207323:607480824696:INFO:single_thread_proxy.cc(136)] SetLayerTreeFrameSink(): ENTER [12440:12440:1108/095907.207894:607480825267:INFO:single_thread_proxy.cc(154)] SetLayerTreeFrameSink(): InitializeRenderer success, flag = false [12440:12440:1108/095907.207988:607480825361:INFO:browser_gpu_channel_host_factory.cc(360)] GpuChannelEstablished(): END [12440:12440:1108/095907.246452:607480863828:INFO:single_thread_proxy.cc(59)] SingleThreadProxy(): flag = false [12440:12440:1108/095907.256488:607480873863:INFO:single_thread_proxy.cc(116)] RequestNewLayerTreeFrameSink(): ENTER [12440:12440:1108/095907.256557:607480873929:INFO:single_thread_proxy.cc(121)] RequestNewLayerTreeFrameSink(): flag = true [12440:12440:1108/095907.256852:607480874225:INFO:single_thread_proxy.cc(136)] SetLayerTreeFrameSink(): ENTER [12440:12440:1108/095907.257343:607480874716:INFO:single_thread_proxy.cc(154)] SetLayerTreeFrameSink(): InitializeRenderer success, flag = false [1108/095907.395222:ERROR:command_buffer_proxy_impl.cc(137)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer. [1108/095907.395460:ERROR:context_provider_command_buffer.cc(245)] GpuChannelHost failed to create command buffer.
,
Nov 8 2017
From this logging, I think I understand where the racing comes from. On the successful run, we RequestNewLayerTreeFrameSink(), establish a GPU channel, realize GPU compositing is blacklisted. Then RequestNewLayerTreeFrameSink() on a different thread/process, no need to establish a GPU channel. On the failed run, both RequestNewLayerTreeFrameSink() happens before a GPU channel is established, so both call into EstablishGpuChannel(). One GPU channel is established, realized GPU compositing is blacklisted, so call SetLayerTreeFrameSink() for both. Now the second GPU channel came back, call SetLayerTreeFrameSink(), CHECK failure.
,
Nov 8 2017
I think what happens is: 1- compositor1 requests a LTFS 2- GPTF requests a channel with callback for compositor1 3- compositor2 requests a LTFS 4- GPTF requests a channel with callback for compositor2 5- channel comes back with gpu compositing blacklisted 6- EstablishedGpuChannel callback runs for compositor1, calls GPTF::DisableGpuCompositing, goes over all compositors that are not 1 (i.e. 2) 7- compositor2->ReleaseAcceleratedWidget(), which is a noop (since compositor2 doesn't have a LTFS yet), somewhat unexpected but harmless 8- compositor2->SetAcceleratedWidget(), this is where things are unexpected. compositor2 has layer_tree_frame_sink_requested_ == true because of #3, so it reenters GPTF::CreateLayerTreeFrameSink which immediately calls EstablishedGpuChannel (since is_gpu_compositing_disabled_ is true) which creates a software LTFS ans sets it on compositor2 9- GPTF::DisableGpuCompositing exits, and resumes EstablishedGpuChannel for compositor1, creates a software LTFS and sets it on compositor1 10- EstablishedGpuChannel callback runs for compositor2, creates a software LTFS and sets it on compositor2, boom.
,
Nov 8 2017
I think the best option is to invalidate weak_ptr_factory_ in Compositor::ReleaseAcceleratedWidget. This is consistent with calling GPTF::RemoveCompositor. This would prevent #10 from happening. We would leave layer_tree_frame_sink_requested_ on, so that 8 still happens.
,
Nov 8 2017
Thanks piman@ for the insights and advice. I'll incorporate the fix into my CL reland.
,
Nov 8 2017
Thanks for that analysis. One thing tho is that invalidating the weak_ptr_factory_ would disconnect any active CompositorLock meaning the compositor would never unlock.
,
Nov 8 2017
Some options I can think of: 1 - add another weakptrfactory to Compositor that is only for context creation 2 - keep track of which Compositor* has an outstanding frame sink request in GpuProcessTransportFactory. If a second request comes in, drop it in CreateLayerTreeFrameSink(). 3 - Change meaning of the bool to cf_sink_requested_while_widget_invalid_. So only set it to true in RequestNewLayerTreeFrameSink() if |!widget_valid_|.
,
Nov 8 2017
@#8, ah, thanks, missed that, got blindsided by lock_timeout_weak_ptr_factory_. It sounds like we need 3 WeakPtrFactory then :( The alternative (kinda) is to track the cancellation of the callback inside of GPTF - instead of passing a WeakPtr, we'd track the state in the PerCompositorData. It'd be cleaner, but more work.
,
Nov 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1202f66559ca7e37f643a691cac72144ab60493f commit 1202f66559ca7e37f643a691cac72144ab60493f Author: Zhenyao Mo <zmo@chromium.org> Date: Thu Nov 09 00:45:05 2017 [reland] Move GPU compositing blacklisting to GPU process. Originally reviewed on https://chromium-review.googlesource.com/740621 This is relanding plus fixing the racing documented in crbug.com/781349 BUG= 744658 , 781349 TEST=bots R=danakj@chromium.org,piman@chromium.org Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: If050057299a17ab76ee247c5c790a4e159ffef9d Reviewed-on: https://chromium-review.googlesource.com/755520 Commit-Queue: Zhenyao Mo <zmo@chromium.org> Reviewed-by: danakj <danakj@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#515036} [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/browser_main_loop.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/compositor/gpu_process_transport_factory.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/compositor/gpu_process_transport_factory.h [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/compositor/image_transport_factory_browsertest.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl.h [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl_private.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl_private.h [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/renderer_host/render_widget_host_view_browsertest.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/public/browser/gpu_data_manager.h [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/renderer/pepper/ppb_graphics_3d_impl.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/test/gpu/gpu_tests/gpu_process_expectations.py [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/gpu/config/gpu_util.cc [modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/ui/compositor/compositor.cc
,
Nov 10 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4263f11f54845fd7ca47a59f15482df867eebe1e commit 4263f11f54845fd7ca47a59f15482df867eebe1e Author: Zhenyao Mo <zmo@chromium.org> Date: Fri Nov 10 00:16:33 2017 Add a unit test for Compositor::RequestNewLayerTreeFrameSink() behavior. BUG= 781349 TEST=compositor_unittests R=danakj@chromium.org Change-Id: I1891709940e0028d65c7f80d126a62696102d7b7 Reviewed-on: https://chromium-review.googlesource.com/759424 Reviewed-by: danakj <danakj@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org> Cr-Commit-Position: refs/heads/master@{#515359} [modify] https://crrev.com/4263f11f54845fd7ca47a59f15482df867eebe1e/ui/compositor/compositor_unittest.cc
,
Nov 10 2017
Issue 782504 has been merged into this issue.
,
Nov 10 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by zmo@chromium.org
, Nov 3 2017