Commit 76009229 authored by csharrison's avatar csharrison Committed by Commit bot

Simulated Crash reporting for ErrAborted requests

BUG=557430

Review URL: https://codereview.chromium.org/1438863002

Cr-Commit-Position: refs/heads/master@{#361341}
parent 3dbc36af
......@@ -8,11 +8,14 @@
#include "base/bind_helpers.h"
#include "base/callback.h"
#include "base/compiler_specific.h"
#include "base/debug/alias.h"
#include "base/debug/dump_without_crashing.h"
#include "base/debug/stack_trace.h"
#include "base/lazy_instance.h"
#include "base/memory/singleton.h"
#include "base/message_loop/message_loop.h"
#include "base/profiler/scoped_tracker.h"
#include "base/rand_util.h"
#include "base/stl_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/lock.h"
......@@ -682,6 +685,23 @@ void URLRequest::CancelWithSSLError(int error, const SSLInfo& ssl_info) {
void URLRequest::DoCancel(int error, const SSLInfo& ssl_info) {
DCHECK(error < 0);
// ~500,000 ERR_ABORTED < 100ms in Canary channel a day. Sample .01% to get
// ~50 reports a day.
// TODO(csharrison) Remove this code when crbug.com/557430 is resolved.
int64 request_time =
(base::TimeTicks::Now() - creation_time_).InMilliseconds();
if (error == ERR_ABORTED && request_time <= 100 &&
load_flags_ & LOAD_MAIN_FRAME && base::RandDouble() < .0001) {
static int dump_times = 0;
if (dump_times < 5) {
char url_copy[256] = {0};
strncpy(url_copy, url().spec().c_str(), sizeof(url_copy));
base::debug::Alias(&url_copy);
base::debug::Alias(&request_time);
base::debug::DumpWithoutCrashing();
dump_times++;
}
}
// If cancelled while calling a delegate, clear delegate info.
if (calling_delegate_) {
LogUnblocked();
......
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