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

Issue 847543 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 5
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocked on:
issue 222934

Blocking:
issue 850068



Sign in to add a comment

Make OSX collection of GPUInfo more like other platforms

Project Member Reported by backer@chromium.org, May 29 2018

Issue description

This bug is a tracking bug to unroll the changes made to mitigate  crbug.com/222934 

It is likely OK to create a GLContext and call glGetStrings on more recent OSX. Current plan based on email thread with kbr@ is to

(1) land a CL to call glGetStrings early
(2) watch the GPU process crash rates on canary
(3) unroll the platform specific changes
(4) profit!

This will allow us to detect if OOP-R is supported on OSX in the same way that we do it for other platforms.
 

Comment 1 by kbr@chromium.org, May 29 2018

Blockedon: 222934
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 4 2018

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

commit 15dbca378583113b91a9faa8edff92eeaa5aca7e
Author: Jonathan Backer <backer@chromium.org>
Date: Mon Jun 04 20:39:33 2018

Clean up RasterDecoderImpl on early exit

Copying the same pattern from GLES2DecoderImpl. If Initialize fails,
call Destroy directly instead of relying on the caller to clean up.

Bug:  847543 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Id2827f3bfb4831bb49ca24b8b70a86a574eaea88
Reviewed-on: https://chromium-review.googlesource.com/1085893
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564220}
[modify] https://crrev.com/15dbca378583113b91a9faa8edff92eeaa5aca7e/gpu/command_buffer/service/raster_decoder.cc

Oops. Copied the wrong bug ID. CL in comment #2 is for a cluster fuzz issue. Sorry for the noise.
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 6 2018

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

commit 1988f91d6e24dba29fd0de1bf1d4cdbccf8c40b3
Author: Jonathan Backer <backer@chromium.org>
Date: Wed Jun 06 13:09:09 2018

Create GL context early on OSX

Removes some #ifdefs from gpu_info_collector.cc to try to collect info
from a GL context during GPU process initialization. If this change
sticks, we can unroll some of the OSX specific changes that were made
to avoid this early code path (e.g. in
components/viz/service/gl/gpu_service_impl.cc)

Bug:  847543 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Id52dcddfb3980f3b3aee52021ebe6c9981ad150e
Reviewed-on: https://chromium-review.googlesource.com/1087582
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564868}
[modify] https://crrev.com/1988f91d6e24dba29fd0de1bf1d4cdbccf8c40b3/gpu/ipc/service/gpu_init.cc

I filed  crbug.com/850068  for future clean up. I've deferred that until we know that this CL is going to stick.

I will watch canary and dev GPU crash rates on OSX. But zmo@ feels we won't get significant data until this goes beta. The beta release date is August 2 :(

Comment 6 by kbr@chromium.org, Jun 6 2018

Blocking: 850068
Thanks Jonathan for trying this change. Sorry for how long it seems to take to get valid data. Maybe we can optimistically accelerate the change if it looks OK for the next month or so on Canary / Dev.

Status: Fixed (was: Assigned)
This went live in beta at 69.0.3497.23. AFAICT, this came out August 2. There was an initial spike in GPU process crashes on OSX beta, but this was resolved (presumably some other bug that got fixed/mitigated on branch). go/chromecrash reports about 150 gpu process crashes per day on OSX beta post M69 vs about 120 per day on beta pre M69.

I did a query for the initialization code ("GpuInit::InitializeAndStartSandbox") and this appears on very few stacks (at most 1 or 2 per day) and none on M69.

https://crash.corp.google.com/browse?q=product_name%3D%27Chrome_Mac%27+AND+expanded_custom_data.ChromeCrashProto.ptype%3D%27gpu-process%27+AND+REGEXP_CONTAINS%28expanded_custom_data.ChromeCrashProto.magic_signature_1.name%2C+%27GpuInit%3A%3AInitializeAndStartSandbox%27%29

So I'm going to consider this done --- it's seems OK to call glGetStrings early. I'll go about some clean up tracked on  https://crbug.com/850068 .

Sign in to add a comment