New issue
Advanced search Search tips

Issue 793303 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 744658



Sign in to add a comment

ExtensionWebstoreGetWebGLStatusTest.Blocked is flaky.

Project Member Reported by fdoray@chromium.org, Dec 8 2017

Issue description

Sample failure on 
linux-chromeos-dbg: https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.chromiumos%2Flinux-chromeos-dbg%2F3077%2F%2B%2Frecipes%2Fsteps%2Fbrowser_tests%2F0%2Flogs%2FExtensionWebstoreGetWebGLStatusTest.Blocked%2F0


[ RUN      ] ExtensionWebstoreGetWebGLStatusTest.Blocked
[24694:24694:1208/060541.922202:WARNING:chrome_browser_main_chromeos.cc(645)] Running as stub user with profile dir: test-user
[24694:24933:1208/060542.486662:ERROR:logging_chrome.cc(210)] Unable to create symlink /b/s/w/ituqYcZV/.org.chromium.Chromium.JXuZt3/dyvMX80/test-user/chrome_debug.log pointing at /b/s/w/ituqYcZV/.org.chromium.Chromium.JXuZt3/dyvMX80/test-user/chrome_debug_20171208-060542: No such file or directory (2)
[24694:24939:1208/060543.211041:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin
[24946:24946:1208/060543.849136:WARNING:gpu_info.cc(104)] No active GPU found, returning primary GPU.
[24694:24694:1208/060543.908670:FATAL:gpu_process_transport_factory.cc(468)] Check failed: use_gpu_compositing.
#0 0x7f0b8889146d base::debug::StackTrace::StackTrace()
#1 0x7f0b8888f9ec base::debug::StackTrace::StackTrace()
#2 0x7f0b889147ed logging::LogMessage::~LogMessage()
#3 0x7f0b811df778 content::GpuProcessTransportFactory::EstablishedGpuChannel()
#4 0x7f0b811eba57 _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeIRKNS4_IS3_EEJRKS7_RKbSB_EEEvSD_OT_DpOT0_
#5 0x7f0b811eb955 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEERKNS6_IS5_EEJRKS9_RKbSD_EEEvOT_OT0_DpOT1_
#6 0x7f0b811eb8a9 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE7RunImplIRKSE_RKNSt3__15tupleIJSF_S8_bEEEJLm0ELm1ELm2EEEEvOT_OT0_NSM_16integer_sequenceImJXspT1_EEEEOSC_
#7 0x7f0b811eb764 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEJNS5_IS4_EES8_bEEEFvSC_EE3RunEPNS0_13BindStateBaseEOSC_
#8 0x7f0b7f080330 _ZNKR4base17RepeatingCallbackIFvN4mojo16InterfaceRequestIN15service_manager5mojom14ServiceFactoryEEEEE3RunES6_
#9 0x7f0b806fb0f3 content::BrowserGpuChannelHostFactory::GpuChannelEstablished()
#10 0x7f0b806faac3 content::BrowserGpuChannelHostFactory::EstablishRequest::FinishOnMain()
#11 0x7f0b7f41e30f _ZN4base8internal13FunctorTraitsIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEvE6InvokeI13scoped_refptrIS4_EJEEEvS6_OT_DpOT0_
#12 0x7f0b806fcdd4 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content28BrowserGpuChannelHostFactory16EstablishRequestEFvvEJ13scoped_refptrIS6_EEEEvOT_DpOT0_
#13 0x7f0b806fcd80 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28BrowserGpuChannelHostFactory16EstablishRequestEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunImplIS7_NSt3__15tupleIJS9_EEEJLm0EEEEvOT_OT0_NSE_16integer_sequenceImJXspT1_EEEE
#14 0x7f0b806fccd9 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28BrowserGpuChannelHostFactory16EstablishRequestEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#15 0x7f0b8883cd11 _ZNO4base12OnceCallbackIFvvEE3RunEv
#16 0x7f0b88896260 base::debug::TaskAnnotator::RunTask()
#17 0x7f0b88933183 base::internal::IncomingTaskQueue::RunTask()
#18 0x7f0b8893b448 base::MessageLoop::RunTask()
#19 0x7f0b8893b6b5 base::MessageLoop::DeferOrRunPendingTask()
#20 0x7f0b8893b9b1 base::MessageLoop::DoWork()
#21 0x7f0b88941cd3 base::MessagePumpLibevent::Run()
#22 0x7f0b8893acf8 base::MessageLoop::Run()
#23 0x7f0b889ec67e base::RunLoop::Run()
#24 0x0000068e7fe6 content::RunThisRunLoop()
#25 0x0000068e7fac content::RunMessageLoop()
#26 0x0000056c0c90 InProcessBrowserTest::QuitBrowsers()
#27 0x0000056c0b39 InProcessBrowserTest::PostRunTestOnMainThread()
#28 0x0000068282ae content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#29 0x00000095bd8d _ZN4base8internal13FunctorTraitsIM25RenderViewContextMenuBaseFvvEvE6InvokeIP21RenderViewContextMenuJEEEvS4_OT_DpOT0_
#30 0x00000095bcd4 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIM25RenderViewContextMenuBaseFvvEJP21RenderViewContextMenuEEEvOT_DpOT0_
#31 0x00000682a5a5 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserTestBaseEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#32 0x00000682a4ec _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserTestBaseEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#33 0x00000093f5ad _ZNKR4base17RepeatingCallbackIFvvEE3RunEv
#34 0x0000057a91fe ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#35 0x0000057a767c ChromeBrowserMainParts::PreMainMessageLoopRun()
#36 0x000002bad89f chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#37 0x7f0b801c9ea4 content::BrowserMainLoop::PreMainMessageLoopRun()
#38 0x7f0b7f0bc69d _ZN4base8internal13FunctorTraitsIMN7content14NetworkContext11DiskCheckerEFvvEvE6InvokeIPS4_JEEEvS6_OT_DpOT0_
#39 0x7f0b7f0bc5e4 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content14NetworkContextEFvvEJPS5_EEEvOT_DpOT0_
#40 0x7f0b801d0e55 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEiOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#41 0x7f0b801d0d9c _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE
#42 0x7f0b7f07878d _ZNKR4base17RepeatingCallbackIFvvEE3RunEv
#43 0x7f0b80f5ae5d content::StartupTaskRunner::RunAllTasksNow()
#44 0x7f0b801c53d5 content::BrowserMainLoop::CreateStartupTasks()
#45 0x7f0b801d2d1d content::BrowserMainRunnerImpl::Initialize()
#46 0x7f0b801be174 content::BrowserMain()
#47 0x7f0b820f6e7d content::RunNamedProcessTypeMain()
#48 0x7f0b820f9922 content::ContentMainRunnerImpl::Run()
#49 0x7f0b820f009d content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#50 0x7f0b7b4d8914 service_manager::Main()
#51 0x7f0b820f5dab content::ContentMain()
#52 0x000006827ec0 content::BrowserTestBase::SetUp()
#53 0x0000056bdc2a InProcessBrowserTest::SetUp()
 

Comment 1 by zmo@chromium.org, Dec 8 2017

Cc: piman@chromium.org
Owner: danakj@chromium.org
Status: Assigned (was: Untriaged)
Dana, can you take a look and share why this DCHECK is triggered?
(It's a CHECK not a DCHECK.)

This triggers if we disable gpu compositing on OS_CHROMEOS. We're going through BrowserGpuChannelHostFactory::EstablishRequest::FinishOnMain() so this isn't a force_software_compositor() on the ui::Compositor. Two possibilities:

1) EstablishGpuChannel came back with a null GpuChannelHost
2) Context creation failed due to some problem in the gpu process, with a ContextResult::kFatalFailure
Places that return kFatalFailure also log about it, which I don't see in the test, so it looks to me like a null GpuChannelHost is coming back from BrowserGpuChannelHostFactory on ChromeOS which we don't expect.
Oh, one more option

3) Gpu compositing gets reported blacklisted in gpu_feature_info()
Cc: zmo@chromium.org

Comment 6 by zmo@chromium.org, Dec 8 2017

We can't blacklist compositing on ChromeOS in theory, but in reality that's a possibility.

Comment 7 by danakj@chromium.org, Dec 13 2017

I can't reproduce locally running the test a lot. I'll add some NOTREACHEDs for the bot to hit and disambiguate what's happening more.
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 14 2017

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

commit 1050c3acf132bb38bcd13b8e269bebd4f527a81b
Author: danakj <danakj@chromium.org>
Date: Thu Dec 14 00:45:40 2017

Look for why ChromeOS bots are flakily using software compositing.

This adds some NOTREACHED() on ChromeOS to figure out why tests are
disabling gpu compositing.

R=zmo@chromium.org

Bug:  793303 
Change-Id: I6ee99fc334c34c292bcb1e3568108e422d43da4c
Reviewed-on: https://chromium-review.googlesource.com/826382
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523958}
[modify] https://crrev.com/1050c3acf132bb38bcd13b8e269bebd4f527a81b/content/browser/compositor/gpu_process_transport_factory.cc

Comment 9 by danakj@chromium.org, Dec 14 2017

Cc: danakj@chromium.org
Labels: -Pri-3 Pri-2
Owner: zmo@chromium.org
It does appear that gpu compositing is being blacklisted flakily.

  if (gpu_channel_host &&
      gpu_channel_host->gpu_feature_info()
              .status_values[gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING] !=
          gpu::kGpuFeatureStatusEnabled) {
#if defined(OS_CHROMEOS)
    // TODO( crbug.com/793303 ): We shouldn't blacklist gpu compositing on
    // ChromeOS.
    NOTREACHED();  <-------- Line 361
#endif
    use_gpu_compositing = false;
  }

[ RUN      ] ExtensionWebstoreGetWebGLStatusTest.Blocked
[17872:17872:1214/044255.538430:WARNING:chrome_browser_main_chromeos.cc(659)] Running as stub user with profile dir: test-user
[17872:18122:1214/044256.058536:ERROR:logging_chrome.cc(210)] Unable to create symlink /b/s/w/itJPCRlo/.org.chromium.Chromium.nRnbmC/dyKTdWk/test-user/chrome_debug.log pointing at /b/s/w/itJPCRlo/.org.chromium.Chromium.nRnbmC/dyKTdWk/test-user/chrome_debug_20171214-044256: No such file or directory (2)
[17872:18127:1214/044257.009416:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin
[18134:18134:1214/044257.636729:WARNING:gpu_info.cc(104)] No active GPU found, returning primary GPU.
[17872:17872:1214/044257.748433:FATAL:gpu_process_transport_factory.cc(361)] Check failed: false. 
#0 0x7f95130ec20d base::debug::StackTrace::StackTrace()
#1 0x7f95130ea78c base::debug::StackTrace::StackTrace()
#2 0x7f951316ea1d logging::LogMessage::~LogMessage()
#3 0x7f950b9c263e content::GpuProcessTransportFactory::EstablishedGpuChannel()
#4 0x7f950b9cf6e7 _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeIRKNS4_IS3_EEJRKS7_RKbSB_EEEvSD_OT_DpOT0_

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 14 2017

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

commit 7382ee76286c45a0b08d7d452a9962877e253a95
Author: danakj <danakj@chromium.org>
Date: Thu Dec 14 16:27:45 2017

Revert "Look for why ChromeOS bots are flakily using software compositing."

This reverts commit 1050c3acf132bb38bcd13b8e269bebd4f527a81b.

Reason for revert: Did it's job.

Original change's description:
> Look for why ChromeOS bots are flakily using software compositing.
> 
> This adds some NOTREACHED() on ChromeOS to figure out why tests are
> disabling gpu compositing.
> 
> R=​zmo@chromium.org
> 
> Bug:  793303 
> Change-Id: I6ee99fc334c34c292bcb1e3568108e422d43da4c
> Reviewed-on: https://chromium-review.googlesource.com/826382
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Commit-Queue: danakj <danakj@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#523958}

TBR=danakj@chromium.org,zmo@chromium.org

Change-Id: I439a4775e1dfa9329da9cbbd416a4bad11bd71e6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  793303 
Reviewed-on: https://chromium-review.googlesource.com/827142
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524081}
[modify] https://crrev.com/7382ee76286c45a0b08d7d452a9962877e253a95/content/browser/compositor/gpu_process_transport_factory.cc

Comment 12 by zmo@chromium.org, Dec 23 2017

Blockedon: 744658
Status: Fixed (was: Assigned)
I refactored the blacklist mechanism recently to get rid of flakiness in this area.

I no longer see this test failure on the bot, assuming my refactoring actually stabilized the test.

Closing this as Fixed.

Sign in to add a comment