Commit fc2c490b authored by Helen Li's avatar Helen Li Committed by Commit Bot

Remove CHECKs added to investigate QuicStreamFactory::OnJobComplete crash

The QuicStreamFactory::OnJobComplete crash is gone in M63. This CL removes
the added CHECKs.

Bug: 750271
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Iee46a69d151be4c5e8ceb91c33ec63e445ede2fd
Reviewed-on: https://chromium-review.googlesource.com/766487Reviewed-by: default avatarRyan Hamilton <rch@chromium.org>
Commit-Queue: Helen Li <xunjieli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515976}
parent 4ec4bda8
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include "base/auto_reset.h"
#include "base/callback_helpers.h" #include "base/callback_helpers.h"
#include "base/location.h" #include "base/location.h"
#include "base/metrics/field_trial.h" #include "base/metrics/field_trial.h"
...@@ -332,13 +331,12 @@ class QuicStreamFactory::Job { ...@@ -332,13 +331,12 @@ class QuicStreamFactory::Job {
size_t EstimateMemoryUsage() const; size_t EstimateMemoryUsage() const;
void AddRequest(QuicStreamRequest* request) { void AddRequest(QuicStreamRequest* request) {
CHECK(request->server_id() == key_.server_id());
stream_requests_.insert(request); stream_requests_.insert(request);
} }
void RemoveRequest(QuicStreamRequest* request) { void RemoveRequest(QuicStreamRequest* request) {
auto request_iter = stream_requests_.find(request); auto request_iter = stream_requests_.find(request);
CHECK(request_iter != stream_requests_.end()); DCHECK(request_iter != stream_requests_.end());
stream_requests_.erase(request_iter); stream_requests_.erase(request_iter);
} }
...@@ -355,7 +353,6 @@ class QuicStreamFactory::Job { ...@@ -355,7 +353,6 @@ class QuicStreamFactory::Job {
STATE_CONNECT_COMPLETE, STATE_CONNECT_COMPLETE,
}; };
bool in_loop_; // Temporary to investigate crbug.com/750271.
IoState io_state_; IoState io_state_;
QuicStreamFactory* factory_; QuicStreamFactory* factory_;
QuicTransportVersion quic_version_; QuicTransportVersion quic_version_;
...@@ -384,8 +381,7 @@ QuicStreamFactory::Job::Job(QuicStreamFactory* factory, ...@@ -384,8 +381,7 @@ QuicStreamFactory::Job::Job(QuicStreamFactory* factory,
bool was_alternative_service_recently_broken, bool was_alternative_service_recently_broken,
int cert_verify_flags, int cert_verify_flags,
const NetLogWithSource& net_log) const NetLogWithSource& net_log)
: in_loop_(false), : io_state_(STATE_RESOLVE_HOST),
io_state_(STATE_RESOLVE_HOST),
factory_(factory), factory_(factory),
quic_version_(quic_version), quic_version_(quic_version),
host_resolver_(host_resolver), host_resolver_(host_resolver),
...@@ -413,7 +409,6 @@ QuicStreamFactory::Job::Job(QuicStreamFactory* factory, ...@@ -413,7 +409,6 @@ QuicStreamFactory::Job::Job(QuicStreamFactory* factory,
QuicStreamFactory::Job::~Job() { QuicStreamFactory::Job::~Job() {
net_log_.EndEvent(NetLogEventType::QUIC_STREAM_FACTORY_JOB); net_log_.EndEvent(NetLogEventType::QUIC_STREAM_FACTORY_JOB);
CHECK(!in_loop_);
// If |this| is destroyed in QuicStreamFactory's destructor, |callback_| is // If |this| is destroyed in QuicStreamFactory's destructor, |callback_| is
// non-null. // non-null.
} }
...@@ -428,8 +423,6 @@ int QuicStreamFactory::Job::Run(const CompletionCallback& callback) { ...@@ -428,8 +423,6 @@ int QuicStreamFactory::Job::Run(const CompletionCallback& callback) {
int QuicStreamFactory::Job::DoLoop(int rv) { int QuicStreamFactory::Job::DoLoop(int rv) {
TRACE_EVENT0(kNetTracingCategory, "QuicStreamFactory::Job::DoLoop"); TRACE_EVENT0(kNetTracingCategory, "QuicStreamFactory::Job::DoLoop");
CHECK(!in_loop_);
base::AutoReset<bool> auto_reset_in_loop(&in_loop_, true);
do { do {
IoState state = io_state_; IoState state = io_state_;
...@@ -460,7 +453,6 @@ int QuicStreamFactory::Job::DoLoop(int rv) { ...@@ -460,7 +453,6 @@ int QuicStreamFactory::Job::DoLoop(int rv) {
void QuicStreamFactory::Job::OnIOComplete(int rv) { void QuicStreamFactory::Job::OnIOComplete(int rv) {
rv = DoLoop(rv); rv = DoLoop(rv);
if (rv != ERR_IO_PENDING && !callback_.is_null()) { if (rv != ERR_IO_PENDING && !callback_.is_null()) {
CHECK(!in_loop_);
base::ResetAndReturn(&callback_).Run(rv); base::ResetAndReturn(&callback_).Run(rv);
} }
} }
...@@ -993,9 +985,7 @@ bool QuicStreamFactory::OnResolution(const QuicSessionKey& key, ...@@ -993,9 +985,7 @@ bool QuicStreamFactory::OnResolution(const QuicSessionKey& key,
void QuicStreamFactory::OnJobComplete(Job* job, int rv) { void QuicStreamFactory::OnJobComplete(Job* job, int rv) {
auto iter = active_jobs_.find(job->key().server_id()); auto iter = active_jobs_.find(job->key().server_id());
// TODO(xunjieli): Change following CHECKs back to DCHECKs after DCHECK(iter != active_jobs_.end());
// crbug.com/750271 is fixed.
CHECK(iter != active_jobs_.end());
if (rv == OK) { if (rv == OK) {
set_require_confirmation(false); set_require_confirmation(false);
...@@ -1004,7 +994,6 @@ void QuicStreamFactory::OnJobComplete(Job* job, int rv) { ...@@ -1004,7 +994,6 @@ void QuicStreamFactory::OnJobComplete(Job* job, int rv) {
CHECK(session_it != active_sessions_.end()); CHECK(session_it != active_sessions_.end());
QuicChromiumClientSession* session = session_it->second; QuicChromiumClientSession* session = session_it->second;
for (auto* request : iter->second->stream_requests()) { for (auto* request : iter->second->stream_requests()) {
CHECK(request->server_id() == job->key().server_id());
// Do not notify |request| yet. // Do not notify |request| yet.
request->SetSession(session->CreateHandle()); request->SetSession(session->CreateHandle());
} }
......
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