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

Issue 907896 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 23
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

DCHECK failures in SyncerProtoUtil

Project Member Reported by mastiz@chromium.org, Nov 22

Issue description

Related to https://bugs.chromium.org/p/chromium/issues/detail?id=774180, but it's not just about tests.

We see crashers (~1 per day) in the wild due to DCHECK failures, for what seems to be unexpected error codes received from the sync server (e.g. redirect):
https://crash.corp.google.com/browse?q=product_name%3D%27Chrome%27+AND+stable_signature%3D%27syncer%3A%3ASyncerProtoUtil%3A%3APostClientToServerMessage-850ecc79%27&stbtiq=&reportid=&index=0

 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b062f34a6a34084889aac0e41642986a951a979

commit 2b062f34a6a34084889aac0e41642986a951a979
Author: Mikel Astiz <mastiz@chromium.org>
Date: Fri Nov 23 10:31:00 2018

Fix DCHECK failures in SyncerProtoUtil

If the HTTP request returns some status code other than 200, we treat
it as error in most relevant cases, e.g. in
ServerConnectionManager::PostBufferToPath().

We must do the very same in SyncBridgedConnection::Init() because we
otherwise enter an inconsistent state for errors like 3xx (redirects),
leading to DCHECK failures.

Bug:  774180 , 907896 
Change-Id: I6019442d0d30ee7d7e177d72974cec0eadb9a38f
Reviewed-on: https://chromium-review.googlesource.com/c/1349252
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
Commit-Queue: Mikel Astiz <mastiz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610562}
[modify] https://crrev.com/2b062f34a6a34084889aac0e41642986a951a979/chrome/browser/sync/test/integration/sync_auth_test.cc
[modify] https://crrev.com/2b062f34a6a34084889aac0e41642986a951a979/chrome/browser/sync/test/integration/sync_exponential_backoff_test.cc
[modify] https://crrev.com/2b062f34a6a34084889aac0e41642986a951a979/components/sync/engine_impl/net/sync_server_connection_manager.cc
[modify] https://crrev.com/2b062f34a6a34084889aac0e41642986a951a979/components/sync/test/fake_server/fake_server.cc
[modify] https://crrev.com/2b062f34a6a34084889aac0e41642986a951a979/components/sync/test/fake_server/fake_server.h

Status: Fixed (was: Started)

Sign in to add a comment