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

Issue 719279 link

Starred by 3 users

Issue metadata

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

Blocked on:
issue 602405



Sign in to add a comment

Chrome GPU process is consistently crashing on macOS

Project Member Reported by juberti@chromium.org, May 8 2017

Issue description

My new MacBook Pro keeps falling back to software due to (I think) GPU process crashes. Hard to say exactly when this happens - possibly could happen during a switch from the integrated to discrete GPU - but happens pretty much every day.

Mac OS X 10.12, Version 58.0.3029.96 (64-bit)

chrome:gpu output:

Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
Flash: Software only, hardware acceleration unavailable
Flash Stage3D: Software only, hardware acceleration unavailable
Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable
Compositing: Software only, hardware acceleration unavailable
Multiple Raster Threads: Unavailable
Native GpuMemoryBuffers: Software only, hardware acceleration unavailable
Rasterization: Software only, hardware acceleration unavailable
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
VPx Video Decode: Software only, hardware acceleration unavailable
WebGL: Unavailable
WebGL2: Unavailable
Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
decode_encode_srgb_for_generatemipmap
disable_framebuffer_cmaa
disable_multimonitor_multisampling
get_frag_data_info_bug
pack_parameters_workaround_with_pack_buffer
regenerate_struct_names
remove_invariant_and_centroid_for_essl3
reset_base_mipmap_level_before_texstorage
scalarize_vec_and_mat_constructor_args
set_zero_level_before_generating_mipmap
unfold_short_circuit_as_ternary_operation
unpack_alignment_workaround_with_unpack_buffer
use_intermediary_for_copy_texture_image
use_unused_standard_shared_blocks
Problems Detected
GPU process was unable to boot: GPU access is disabled in chrome://settings.
Disabled Features: all
Multisampling is buggy on OSX when multiple monitors are connected: 237931
Applied Workarounds: disable_multimonitor_multisampling
Unfold short circuit on Mac OS X: 307751
Applied Workarounds: unfold_short_circuit_as_ternary_operation
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Mac drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
glGenerateMipmap fails if the zero texture level is not set on some Mac drivers: 560499
Applied Workarounds: set_zero_level_before_generating_mipmap
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
copyTexImage2D fails when reading from IOSurface on multiple GPU types.: 581777
Applied Workarounds: use_intermediary_for_copy_texture_image
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
glGetFragData{Location|Index} works incorrectly on Max: 638340
Applied Workarounds: get_frag_data_info_bug
glTexStorage* are buggy when base mipmap level is not 0: 640506
Applied Workarounds: reset_base_mipmap_level_before_texstorage
Decode and encode before generateMipmap for srgb format textures on macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Insert statements to reference all members in unused std140/shared blocks on Mac: 618464
Applied Workarounds: use_unused_standard_shared_blocks
adjust src/dst region if blitting pixels outside read framebuffer on Mac: 644740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Mac driver GL 4.1 requires invariant and centroid to match between shaders: 639760, 641129
Applied Workarounds: remove_invariant_and_centroid_for_essl3
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Version Information
Data exported	5/7/2017, 5:46:08 PM
Chrome version	Chrome/58.0.3029.96
Operating system	Mac OS X 10.12.4
Software rendering list version	12.20
Driver bug list version	9.36
ANGLE commit id	461d9a3060e3
2D graphics backend	Skia/58 4c81ba6ba3a3270db809bf7d4c3bc782694a56a4
Command Line Args	Chrome.app/Contents/MacOS/Google Chrome -psn_0_65552 --restore-last-session --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	430
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	true
GPU0	VENDOR = 0x1002, DEVICE= 0x67ef *ACTIVE*
GPU1	VENDOR = 0x8086, DEVICE= 0x191b
Optimus	false
Optimus	false
AMD switchable	true
Driver vendor	
Driver version	1.50.38
Driver date	
Pixel shader version	
Vertex shader version	
Max. MSAA samples	
Machine model name	MacBookPro
Machine model version	13.3
GL_VENDOR	
GL_RENDERER	
GL_VERSION	
GL_EXTENSIONS	
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering	Yes
Reset notification strategy	0x0000
GPU process crash count	3
Compositor Information
Tile Update Mode	Zero-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE
BGRX_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE
BGRA_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
YVU_420	Software only
YUV_420_BIPLANAR	GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
UYVY_422	GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
Log Messages
[606:775:0504/123934.069658:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 194 is too big.
[606:775:0504/172439.000753:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 148 is too big.
[606:775:0504/222522.848539:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 304 is too big.
[606:775:0504/230302.136719:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 382 is too big.
[606:775:0505/083205.423388:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 4131 is too big.
[606:775:0505/124010.653123:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 185 is too big.
[606:775:0505/140507.143197:ERROR:interface_registry.cc(210)] : Failed to locate a binder for interface: chrome::mojom::ResourceUsageReporter requested by: exposed by: via InterfaceProviderSpec "service_manager:connector".
[606:775:0505/171213.901161:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 141 is too big.
[606:775:0505/184928.008871:ERROR:latency_info.cc(155)] : GpuCommandBufferStub::OnAsyncFlush, LatencyInfo vector size 437 is too big.
[606:16443:0505/212505.867536:ERROR:gpu_watchdog_thread.cc(373)] : The GPU process hung. Terminating after 10000 ms.
GpuProcessHostUIShim: The GPU process crashed!
[73424:17235:0505/215253.774834:ERROR:gpu_watchdog_thread.cc(373)] : The GPU process hung. Terminating after 10000 ms.
GpuProcessHostUIShim: The GPU process crashed!
[74145:17935:0505/220539.383305:ERROR:gpu_watchdog_thread.cc(373)] : The GPU process hung. Terminating after 10000 ms.
GpuProcessHostUIShim: The GPU process crashed!
 
Cc: rsesek@chromium.org
Labels: Stability-Crash
Cc: kbr@chromium.org jbau...@chromium.org
+jbauman, kbr for further triage. I'm not sure who is the best person to look at mac GPU issues?

Comment 3 by enne@chromium.org, May 12 2017

Cc: ccameron@chromium.org
Status: Available (was: Untriaged)
Can you attach anything listed in about://crashes?

Comment 4 by enne@chromium.org, May 12 2017

Labels: Needs-Feedback
Uploaded all the crashes from May 8 onwards:

Crash ID 61a347f8-f539-402f-8e52-3c7b5b2e3e75

Crash report captured on Tuesday, May 9, 2017 at 8:48:17 PM (upload requested by user, not yet uploaded)

Crash ID 223675d7-669b-4d3e-b839-52298c59a758

Crash report captured on Tuesday, May 9, 2017 at 8:38:04 PM (upload requested by user, not yet uploaded)

Crash ID ed59ecf6-3d90-42ea-ae78-4853d548ff1c (Server ID: 8a706200d0000000)

Crash report captured on Tuesday, May 9, 2017 at 8:36:11 PM, uploaded on Tuesday, May 9, 2017 at 8:36:12 PM

Provide additional details

Crash ID 0a8e553a-1ad1-426e-9151-935863d1bceb

Crash report captured on Monday, May 8, 2017 at 11:56:31 PM (upload requested by user, not yet uploaded)

Crash ID 387d5960-c90b-4d5f-b67a-1c44265db56b

Crash report captured on Monday, May 8, 2017 at 11:50:37 PM (upload requested by user, not yet uploaded)

Crash ID 43c0c7c8-75a9-449c-9bdf-32e0343d3ded (Server ID: c37ccfef50000000)

Crash report captured on Monday, May 8, 2017 at 11:38:50 PM, uploaded on Monday, May 8, 2017 at 11:38:52 PM

Provide additional details

Comment 6 by kbr@chromium.org, May 16 2017

Blockedon: 602405
Cc: erikc...@chromium.org
Components: -Internals>GPU Internals>GPU>Internals
Labels: GPU-AMD
Apparently the hangs in gpu::gles2::Texture::RemoveTextureRef are Issue 602405.

Here are the stack traces. It sounds like there's a bug in automatic graphics switching causing a GPU process hang. We should file a Radar.

Can you reproduce this reliably, for example by repeatedly forcing integrated <-> GPU switches?

Stack Quality79%Show frame trust levels
0x00007fff938c534a	(libsystem_kernel.dylib + 0x0001234a )	mach_msg_trap
0x00007fff80012d1d	(IOKit + 0x00080d1d )	io_connect_method
0x00007fff7ff98471	(IOKit + 0x00006471 )	IOConnectCallMethod
0x00007fff7ff98638	(IOKit + 0x00006638 )	IOConnectCallStructMethod
0x00007fff8cd7ac03	(IOAccelerator + 0x00002c03 )	IOAccelContextSubmitDataBuffersExt2
0x00007fff8bcfa38f	(libGPUSupportMercury.dylib + 0x0000338f )	gpusSubmitDataBuffers
0x00000001088b864d	(AMDRadeonX4000GLDriver + 0x0007164d )	
0x00000001087a9964	(GLEngine + 0x0014b964 )	gleUnbindTextureObject
0x0000000108779302	(GLEngine + 0x0011b302 )	gleUnbindDeleteHashNamesAndObjects
0x000000010867bb1b	(GLEngine + 0x0001db1b )	glDeleteTextures_Exec
0x000000010b428b5c	(Google Chrome Framework -texture_manager.cc:532 )	gpu::gles2::Texture::RemoveTextureRef(gpu::gles2::TextureRef*, bool)
0x000000010b42c42b	(Google Chrome Framework -texture_manager.cc:1854 )	gpu::gles2::TextureRef::~TextureRef()
0x000000010b3a9e0b	(Google Chrome Framework -ref_counted.h:135 )	gpu::gles2::BackTexture::Destroy()
0x000000010b3b170b	(Google Chrome Framework -gles2_cmd_decoder.cc:4765 )	gpu::gles2::GLES2DecoderImpl::Destroy(bool)
0x000000010b5870dd	(Google Chrome Framework -gpu_command_buffer_stub.cc:552 )	gpu::GpuCommandBufferStub::Destroy()
0x000000010b586c19	(Google Chrome Framework -gpu_command_buffer_stub.cc:255 )	gpu::GpuCommandBufferStub::~GpuCommandBufferStub()


Stack Quality75%Show frame trust levels
0x00007fff8c72934a	(libsystem_kernel.dylib + 0x0001234a )	mach_msg_trap
0x00007fff78e76d1d	(IOKit + 0x00080d1d )	io_connect_method
0x00007fff78dfc471	(IOKit + 0x00006471 )	IOConnectCallMethod
0x00007fff85be00cd	(IOAccelerator + 0x000040cd )	IOAccelResourceCreate
0x00007fff84b644dc	(libGPUSupportMercury.dylib + 0x000094dc )	gpusGetKernelTextureIOSurface
0x000000010f4c8859	(AMDRadeonX4000GLDriver + 0x00090859 )	
0x000000010f4c7dd8	(AMDRadeonX4000GLDriver + 0x0008fdd8 )	
0x00007fff84b62dcf	(libGPUSupportMercury.dylib + 0x00007dcf )	gldLoadTexture
0x000000010e4d7a84	(GLEngine + 0x0000fa84 )	gliSetInteger
0x00007fff7be63897	(OpenGL + 0x0000c897 )	CGLDescribeRenderer
0x00007fff7be621da	(OpenGL + 0x0000b1da )	CGLTexImageIOSurface2D
0x0000000111ac7bda	(Google Chrome Framework -gl_image_io_surface.mm:256 )	gl::GLImageIOSurface::BindTexImage(unsigned int)
0x0000000111b2e839	(Google Chrome Framework -gles2_cmd_decoder.cc:17530 )	gpu::gles2::GLES2DecoderImpl::DoBindTexImage2DCHROMIUM(unsigned int, int)
0x0000000111b0165a	(Google Chrome Framework -gles2_cmd_decoder_autogen.h:4777 )	gpu::gles2::GLES2DecoderImpl::HandleBindTexImage2DCHROMIUM(unsigned int, void const volatile*)
0x0000000111b10fff	(Google Chrome Framework -gles2_cmd_decoder.cc:5249 )	gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*)

Comment 7 by vmi...@chromium.org, Jun 26 2017

Labels: -Needs-Feedback
I have similar problem (but on Windows)  issue 736666 

Comment 9 by kbr@chromium.org, Jun 26 2017

Summary: Chrome GPU process is consistently crashing on macOS (was: Chrome GPU process is consistently crashing)
 Issue 736666  is a different, Windows-specific, problem.

Labels: Needs-Feedback
There hasn't been any activity here in a while. Has this problem gone away?
I got a new MBP and I have not experienced this problem since. It became harder to detect when the SW fallback code became more reliable as well, but I just checked chrome:crashes and there were no recent crashes.

Closing accordingly.
Status: WontFix (was: Available)
Will reopen if this happens again.

Sign in to add a comment