Commit f7549422 authored by Christopher Cameron's avatar Christopher Cameron Committed by Commit Bot

Mac: Disable CATransactionGPUCoordinator to test crash theory

Crashes with content::GpuProcessHost::OnProcessCrashed on the stack
have become prevalent in Chrome 69.

CATransactionGPUCoordinator was introduced in the first Canary to
exhibit these crashes (https://crrev.com/565687 in 69.0.3455.0).

Disable CATransactionGPUCoordinator to test the theory that it is
responsible for the crashes. This will make window resize slightly
jankier (like -- the window's contents will detach from the window
during resize) while disabled. Note that not all window resize logic
is disabled by this -- just the GPU side (so resize will be reasonable
most of the time, but there will be occaisonal glitches now).

Bug: 871430
Change-Id: Ifec51e511712b9843f15e9b8c43b66d852232b89
Reviewed-on: https://chromium-review.googlesource.com/1164555Reviewed-by: default avatarKenneth Russell <kbr@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581117}
parent a80e26da
...@@ -703,8 +703,9 @@ GpuProcessHost::GpuProcessHost(int host_id, GpuProcessKind kind) ...@@ -703,8 +703,9 @@ GpuProcessHost::GpuProcessHost(int host_id, GpuProcessKind kind)
process_launched_(false), process_launched_(false),
status_(UNKNOWN), status_(UNKNOWN),
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
ca_transaction_gpu_coordinator_( // TODO(ccameron): This is temporarily disabled to see if it is the cause
base::MakeRefCounted<CATransactionGPUCoordinator>(this)), // of https://crbug.com/871430
ca_transaction_gpu_coordinator_(nullptr),
#endif #endif
gpu_host_binding_(this), gpu_host_binding_(this),
weak_ptr_factory_(this) { weak_ptr_factory_(this) {
...@@ -733,8 +734,10 @@ GpuProcessHost::~GpuProcessHost() { ...@@ -733,8 +734,10 @@ GpuProcessHost::~GpuProcessHost() {
SendOutstandingReplies(EstablishChannelStatus::GPU_HOST_INVALID); SendOutstandingReplies(EstablishChannelStatus::GPU_HOST_INVALID);
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
ca_transaction_gpu_coordinator_->HostWillBeDestroyed(); if (ca_transaction_gpu_coordinator_) {
ca_transaction_gpu_coordinator_ = nullptr; ca_transaction_gpu_coordinator_->HostWillBeDestroyed();
ca_transaction_gpu_coordinator_ = nullptr;
}
#endif #endif
if (status_ == UNKNOWN) { if (status_ == UNKNOWN) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment