Commit ee6b6034 authored by Aaron Colwell's avatar Aaron Colwell Committed by Commit Bot

Add DumpWithoutCrashing() calls to help debug invalid policy handles.

There are a bunch of crashes that appear to be caused by invalid
ChildProcessSecurityPolicyImpl::Handle objects. This change adds
DumpWithoutCrashing() calls so we can see the call stacks that generate
these invalid handles.

Bug: 977169
Change-Id: I289c7c53eadd17eea8807e8244070259b72ad7a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2211136
Auto-Submit: Aaron Colwell <acolwell@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: default avatarMarijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#771076}
parent d2c5314a
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <vector> #include <vector>
#include "base/check_op.h" #include "base/check_op.h"
#include "base/debug/dump_without_crashing.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
...@@ -103,6 +104,8 @@ AppCacheHost::AppCacheHost( ...@@ -103,6 +104,8 @@ AppCacheHost::AppCacheHost(
security_policy_handle_ = security_policy_handle_ =
ChildProcessSecurityPolicyImpl::GetInstance()->CreateHandle( ChildProcessSecurityPolicyImpl::GetInstance()->CreateHandle(
process_id_); process_id_);
if (!security_policy_handle_.is_valid())
base::debug::DumpWithoutCrashing();
} }
is_origin_trial_required_ = is_origin_trial_required_ =
service_->appcache_policy()->IsOriginTrialRequiredForAppCache(); service_->appcache_policy()->IsOriginTrialRequiredForAppCache();
...@@ -633,6 +636,8 @@ void AppCacheHost::SetProcessId(int process_id) { ...@@ -633,6 +636,8 @@ void AppCacheHost::SetProcessId(int process_id) {
process_id_ = process_id; process_id_ = process_id;
security_policy_handle_ = security_policy_handle_ =
ChildProcessSecurityPolicyImpl::GetInstance()->CreateHandle(process_id_); ChildProcessSecurityPolicyImpl::GetInstance()->CreateHandle(process_id_);
if (!security_policy_handle_.is_valid())
base::debug::DumpWithoutCrashing();
} }
base::WeakPtr<AppCacheHost> AppCacheHost::GetWeakPtr() { base::WeakPtr<AppCacheHost> AppCacheHost::GetWeakPtr() {
......
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