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

Issue 643282 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Sep 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Android UI Compositor does not support cases where the GPU is disabled.

Project Member Reported by weiliangc@chromium.org, Sep 1 2016

Issue description

Failing build:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Android%20Release%20%28Nexus%206%29/builds/1600

Seems to be timing out trying to launch browser.

(ERROR) 2016-08-31 23:05:35,257 browser.__init__:62  Failure while starting browser backend.
Traceback (most recent call last):
  File "/b/c/b/Android_Release__Nexus_6_/irxDZPXY/third_party/catapult/telemetry/telemetry/internal/browser/browser.py", line 55, in __init__
    self._browser_backend.Start()
  File "/b/c/b/Android_Release__Nexus_6_/irxDZPXY/third_party/catapult/telemetry/telemetry/internal/backends/chrome/android_browser_backend.py", line 140, in Start
    self._WaitForBrowserToComeUp()
  File "/b/c/b/Android_Release__Nexus_6_/irxDZPXY/third_party/catapult/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py", line 168, in _WaitForBrowserToComeUp
    raise exceptions.BrowserGoneException(self.browser, e)
BrowserGoneException: Timed out while waiting 60s for HasBrowserFinishedLaunching.

Suspecting:
https://codereview.chromium.org/2250473005

There is already a revert created for this CL in 643199. Will watch if bots turn back green.
 
Cc: siev...@chromium.org
E/chromium( 7518): [ERROR:browser_gpu_channel_host_factory.cc(113)] Failed to launch GPU process.
	I/art     ( 7518): Rejecting re-init on previously-failed class java.lang.Class<org.chromium.content.browser.FloatingWebActionModeCallback>
	I/art     ( 7518): Rejecting re-init on previously-failed class java.lang.Class<org.chromium.content.browser.FloatingWebActionModeCallback>
	D/BluetoothManagerService(  851): Message: 20
	D/BluetoothManagerService(  851): Added callback: android.bluetooth.IBluetoothManagerCallback$Stub$Proxy@12ffa9af:true
	D/BluetoothAdapter( 7518): 665239334: getState() :  mService = null. Returning STATE_OFF
	I/cr_LibraryLoader( 7549): Using linker: org.chromium.base.library_loader.LegacyLinker
	E/chromium( 7518): [ERROR:browser_gpu_channel_host_factory.cc(113)] Failed to launch GPU process.
	I/cr_LibraryLoader( 7549): Loading chrome
	F/chromium( 7518): [FATAL:compositor_impl_android.cc(672)] Too many GPU Process initialization failures. Giving up... 
	F/chromium( 7518): 
	--------- beginning of crash
	F/libc    ( 7518): Fatal signal 6 (SIGABRT), code -6 in tid 7518 (chromium.chrome)
	I/cr_LibraryLoader( 7549): Time to load native libraries: 56 ms (timestamps 1663-1719)
	I/cr_LibraryLoader( 7549): Expected native library version number "55.0.2847.0", actual native library version number "55.0.2847.0"
	W/chromium( 7549): [0901/060430:WARNING:trace_config_file.cc(80)] The trace config file does not exist.
	I/chromium( 7549): [INFO:library_loader_hooks.cc(151)] Chromium logging enabled: level = 0, default verbosity = 0
	I/DEBUG   (  360): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
	I/DEBUG   (  360): Build fingerprint: 'google/shamu/shamu:5.1.1/LMY49K/2715991:userdebug/dev-keys'
	I/DEBUG   (  360): Revision: '33696'
	I/DEBUG   (  360): ABI: 'arm'
	I/DEBUG   (  360): pid: 7518, tid: 7518, name: chromium.chrome  >>> org.chromium.chrome <<<
	I/DEBUG   (  360): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
	I/DEBUG   (  360): Abort message: '[FATAL:compositor_impl_android.cc(672)] Too many GPU Process initialization failures. Giving up... 

Its definitely that change, I added a check there for the GPU Process initialization failing twice in a row.
+sievers, is this expected to happen in tests?
Oh the test is no_gpu_process.
The android UI compositor never used to cope with no GPU process, it would have kept re-trying.
Cc: -khushals...@chromium.org weiliangc@chromium.org
Labels: -Hotlist-PixelWrangler
Owner: khushals...@chromium.org

Comment 5 by kbr@chromium.org, Sep 1 2016

Cc: khushals...@chromium.org
 Issue 643199  has been merged into this issue.

Comment 6 by kbr@chromium.org, Sep 1 2016

Labels: -Pri-1 Pri-2
I merged the other issue into this one since this one had more investigation and was P1. A regression like this should always be P1 or P0 until the failures affecting the commit queue have been resolved.

khushalsagar@, it would have been best if you had filed a bug that your CL was associated with, so that the reasons for the revert were tracked in a single place.

Downgrading to P2 now that the revert has been done. Please make sure this is resolved before attempting to re-land.

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 1 2016

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

commit f279cb2138fcfc9eddd37d99440c55bbb783f8b3
Author: khushalsagar <khushalsagar@chromium.org>
Date: Thu Sep 01 21:34:17 2016

Revert "Revert of content: Fix Context creation logic in ContextProviderFactoryImpl. (patchset #10 id:180001 of https://codereview.chromium.org/2250473005/ )"

This reverts commit 258820db7532d4c411c2000c0907c6cb35399c03.

TBR = dtrainor
BUG= 643199 ,  643282 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2297273004
Cr-Commit-Position: refs/heads/master@{#416062}

[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/browser_main_loop.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/renderer_host/compositor_impl_android.h
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/renderer_host/context_provider_factory_impl_android.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/renderer_host/context_provider_factory_impl_android.h
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/content_tests.gypi
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/public/test/test_renderer_host.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/public/test/test_renderer_host.h
[add] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/test/mock_gpu_channel_establish_factory.cc
[add] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/test/mock_gpu_channel_establish_factory.h
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/content/test/test_render_view_host.cc
[modify] https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3/ui/android/context_provider_factory.h

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 2 2016

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

commit 53e4ec7811a9d9ed46e1d4e13acfc49134b8b138
Author: khushalsagar <khushalsagar@chromium.org>
Date: Fri Sep 02 01:22:57 2016

Revert of Revert "Revert of content: Fix Context creation logic in ContextProviderFactoryImpl. (patchset #10 … (patchset #2 id:20001 of https://codereview.chromium.org/2297273004/ )

Reason for revert:
The test is still failing.

Original issue's description:
> Revert "Revert of content: Fix Context creation logic in ContextProviderFactoryImpl. (patchset #10 id:180001 of https://codereview.chromium.org/2250473005/ )"
>
> This reverts commit 258820db7532d4c411c2000c0907c6cb35399c03.
>
> TBR = dtrainor
> BUG= 643199 ,  643282 
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
>
> Committed: https://crrev.com/f279cb2138fcfc9eddd37d99440c55bbb783f8b3
> Cr-Commit-Position: refs/heads/master@{#416062}

TBR=piman@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 643199 ,  643282 

Review-Url: https://codereview.chromium.org/2299333003
Cr-Commit-Position: refs/heads/master@{#416154}

[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/browser_main_loop.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/renderer_host/compositor_impl_android.h
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/renderer_host/context_provider_factory_impl_android.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/renderer_host/context_provider_factory_impl_android.h
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/content_tests.gypi
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/public/test/test_renderer_host.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/public/test/test_renderer_host.h
[delete] https://crrev.com/a56017921d536b91426ad9ec7b5be9207c6eac6c/content/test/mock_gpu_channel_establish_factory.cc
[delete] https://crrev.com/a56017921d536b91426ad9ec7b5be9207c6eac6c/content/test/mock_gpu_channel_establish_factory.h
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/content/test/test_render_view_host.cc
[modify] https://crrev.com/53e4ec7811a9d9ed46e1d4e13acfc49134b8b138/ui/android/context_provider_factory.h

Cc: -khushals...@chromium.org piman@chromium.org
Finally figured out what's wrong here. The GpuProcess.no_gpu_process test was never actually running on android since the Gpu was not disabled. The change which enabled running this test by disabling the gpu was made here https://codereview.chromium.org/2227893005 and it worked because the code at the time didn't have the UI compositor retying if the Gpu process initialization failed. Since the test only verifies that no gpu process is created on the system, the fact that the UI compositor is in this state doesn't have it fail.

The change I was making was making sure we retry in case of a failure so it would go into a loop trying. Since the UI compositor on android never falls back to software, I'm guessing we don't intend to support this case? Can we disable it again?
Cc: -weiliangc@chromium.org -mvanouwe...@chromium.org -siev...@chromium.org khushals...@chromium.org
Owner: siev...@chromium.org
Summary: Android UI Compositor does not support cases where the GPU is disabled. (was: GPU.FYI Android bot failing gpu_process_launch_tests GpuProcess.no_gpu_process)
I landed a change which pipes the information through to the compositor, but still doesn't retry in case the Gpu process isn't available. (https://chromium.googlesource.com/chromium/src/+/8ecea2e7082ed06d138d5b74f8a6cff2873b6af9)

sievers@, I think you would be a better owner for this now.

Comment 11 by kbr@chromium.org, Sep 7 2016

If the test is actually useless on Android then it's OK by me to skip it in src/content/test/gpu/gpu_tests/gpu_process_expectations.py . Just please give it thought.

Sounds good to disable with a comment saying that we don't support software fallback on Android.

Comment 13 by kbr@chromium.org, Sep 26 2016

Thanks Daniel. Disabling in https://codereview.chromium.org/2374543003/ .

Comment 14 by kbr@chromium.org, Sep 26 2016

Status: Fixed (was: Assigned)
Project Member

Comment 15 by bugdroid1@chromium.org, Sep 26 2016

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

commit 8490c7f74191e665664ea07120c2f4765c5b44a9
Author: kbr <kbr@chromium.org>
Date: Mon Sep 26 21:29:52 2016

Skip GpuProcess.no_gpu_process on Android.

BUG= 643282 
CQ_INCLUDE_TRYBOTS=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;master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=sievers@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2374543003
Cr-Commit-Position: refs/heads/master@{#420995}

[modify] https://crrev.com/8490c7f74191e665664ea07120c2f4765c5b44a9/content/test/gpu/gpu_tests/gpu_process_expectations.py

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 28 2016

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

commit fedd84744b63c072dd81871332c2d73619b4890d
Author: kbr <kbr@chromium.org>
Date: Tue Sep 27 22:51:03 2016

Stop passing browser command line args for no_gpu_process on Android.

This test needs to be skipped completely on Android, and specifying
--gpu-testing-vendor-id and --gpu-testing-device-id is causing the
browser to fail to start in some configurations.

BUG= 643282 
CQ_INCLUDE_TRYBOTS=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;master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=zmo@chromium.org

Review-Url: https://codereview.chromium.org/2378473002
Cr-Commit-Position: refs/heads/master@{#421371}

[modify] https://crrev.com/fedd84744b63c072dd81871332c2d73619b4890d/content/test/gpu/page_sets/gpu_process_tests.py

Sign in to add a comment