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

Issue 879503 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 5
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Inconsistent syc status in settings and in profile menu

Project Member Reported by droger@chromium.org, Aug 31

Issue description

I experienced a Sync error at startup (but there was no signin error, my tokens were fine). Details of the sync error are included at the bottom, but this is not the point of this bug.

Once in this state, the profile menu (top right in the toolbar) was displaying a Sync error.
However, in the settings, it said "Sync Paused".

The settings were also somewhat broken because I could not expand the Sync settings (they would just immediately collapse again).

I suspect there is a problem in the UI where the logic used for these buttons is not the same. The bug is more likely in the settings than in the profile menu, but maybe they could be changed to share the code though?


Details of Sync error:

[261949:261949:0831/105703.606670:ERROR:frontend_data_type_controller.cc(155)] Bookmarks unrecoverable error was encountered: Failed to load sync nodes
[261949:261949:0831/105703.613045:ERROR:profile_sync_service.cc(1274)] ProfileSyncService error: Sync configuration failed with status Unrecoverable Error caused by Bookmarks: Failed to load sync nodes
[261949:261949:0831/105703.613104:ERROR:profile_sync_service.cc(954)] Unrecoverable error detected at Associate@../../components/sync/driver/frontend_data_type_controller.cc:155 -- ProfileSyncService unusable: Sync configuration failed with status Unrecoverable Error caused by Bookmarks: Failed to load sync nodes


 
Cc: mamir@chromium.org
I think the "Sync paused" state should only be shown when the refresh token is the special value OAuth2TokenServiceDelegate::kInvalidRefreshToken, right? Then this is definitely a bug in the settings.

Also +mamir FYI because the Sync error is related to bookmarks.
Thank you for looping me in.
I checked and the error is actually in the old directory code.
Soon (hopefully) the error the caused this would be irrelevant after launching the USS implementation for Bookmarks.
Owner: droger@chromium.org
Status: Started (was: Available)
I can repro easily by forcing the bookmark error in frontend_data_type_controller.cc. I'll take a look.
mamir: When I'm in this sync error state and I hover above the "Recent Tabs" menu entry, I get a DCHECK:

[9616:9616:0831/170337.544315:FATAL:profile_sync_service.cc(854)] Check failed: !CanConfigureDataTypes(). 
#0 0x7fb378ce94ec base::debug::StackTrace::StackTrace()
#1 0x7fb378c151ab logging::LogMessage::~LogMessage()
#2 0x55bd2bd66926 browser_sync::ProfileSyncService::GetTransportState()
#3 0x55bd2b40c93d syncer::SyncService::IsSyncActive()
#4 0x55bd2c29cb86 RecentTabsSubMenuModel::BuildTabsFromOtherDevices()
#5 0x55bd2c29dd06 RecentTabsSubMenuModel::OnForeignSessionUpdated()
#6 0x55bd2bd69596 browser_sync::ProfileSyncService::OnConfigureDone()
#7 0x55bd2bd3625b syncer::DataTypeManagerImpl::NotifyDone()
#8 0x55bd2bd377ee syncer::DataTypeManagerImpl::Abort()
#9 0x55bd2bd374e9 syncer::DataTypeManagerImpl::OnModelAssociationDone()
#10 0x55bd2bd3c8ce syncer::ModelAssociationManager::ModelAssociationDone()
#11 0x55bd2bd3ce11 syncer::ModelAssociationManager::TypeStartCallback()

Re #4: Thanks for reporting! That one's for me :)  I've filed  bug 880080  to track fixing it.
Status: Fixed (was: Started)
Was this actually fixed? If so, in which CL? (Note that my comment above referred only to the DCHECK, which is a separate issue from the one originally reported here.)
Sorry, this was CL:
https://chromium-review.googlesource.com/c/chromium/src/+/1199592

The commit bot will probably update the bug soon.
Labels: M-70
I don't know if that should be merged to M70 or not. I guess unrecoverable sync errors are pretty rare, but in the other hands we're still early in the cycle so the merge would be easy.
(There were some issues with the commit bot recently, maybe it's disabled right now.)

Was this an M70 regression? If so, I think it's worth a merge. Even though such errors are rare, it's super frustrating if the UI also breaks in that case.
It's a relatively recent regression, although not from 70, I strongly suspect that the bug is already in M69 as it is caused by one of the UI refactorings in Dice, Unity or the MD refresh, which all have at least been experimented before 70.

If you think it's important, I'll request the merge after it bakes in Canary. The merge should be low risk.
Labels: -Pri-3 Pri-2
Project Member

Comment 13 by bugdroid1@chromium.org, Sep 5

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

commit 61ce581f8046ae32b67daa59071cb071a63a8605
Author: David Roger <droger@chromium.org>
Date: Wed Sep 05 08:25:48 2018

[signin] Fixes to avatar icon

In the main settings page, there was no visible difference between the
"sync paused" state and sync unrecoverable errors. This CL adds the
distinction between the two.

In people handler, allow opening the Sync settings in all cases when
UnifiedConsent is enabled. Otherwise, it is not possible to reauthenticate
to fix an actionable Sync error (because the reauthentication requires
opening the sync settings, but they would instantly autoclose).

In the toolbar menu, the error was not removed on signout, because the
code was only checking for the internal sync errors and not for the
signin state.

Bug:  879503 
Change-Id: I247dc3ca3cbf20e49177e1343a5e4db38aeb257e
Reviewed-on: https://chromium-review.googlesource.com/1199592
Reviewed-by: Scott Chen <scottchen@chromium.org>
Reviewed-by: Thomas Tangl <tangltom@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Commit-Queue: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588794}
[modify] https://crrev.com/61ce581f8046ae32b67daa59071cb071a63a8605/chrome/browser/resources/settings/people_page/sync_account_control.js
[modify] https://crrev.com/61ce581f8046ae32b67daa59071cb071a63a8605/chrome/browser/ui/views/profiles/avatar_toolbar_button.cc
[modify] https://crrev.com/61ce581f8046ae32b67daa59071cb071a63a8605/chrome/browser/ui/webui/settings/people_handler.cc
[modify] https://crrev.com/61ce581f8046ae32b67daa59071cb071a63a8605/chrome/test/data/webui/settings/sync_account_control_test.js

Labels: Merge-Request-70
Project Member

Comment 15 by sheriffbot@chromium.org, Sep 7

Labels: -Merge-Request-70 Hotlist-Merge-Approved Merge-Approved-70
Your change meets the bar and is auto-approved for M70. Please go ahead and merge the CL to branch 3538 manually. Please contact milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 16 by bugdroid1@chromium.org, Sep 7

Labels: -merge-approved-70 merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6635f70afb277a975f1b5057a33ff2a85e28f9fc

commit 6635f70afb277a975f1b5057a33ff2a85e28f9fc
Author: David Roger <droger@chromium.org>
Date: Fri Sep 07 11:07:24 2018

[signin] Fixes to avatar icon

In the main settings page, there was no visible difference between the
"sync paused" state and sync unrecoverable errors. This CL adds the
distinction between the two.

In people handler, allow opening the Sync settings in all cases when
UnifiedConsent is enabled. Otherwise, it is not possible to reauthenticate
to fix an actionable Sync error (because the reauthentication requires
opening the sync settings, but they would instantly autoclose).

In the toolbar menu, the error was not removed on signout, because the
code was only checking for the internal sync errors and not for the
signin state.

TBR=droger@chromium.org

(cherry picked from commit 61ce581f8046ae32b67daa59071cb071a63a8605)

Bug:  879503 
Change-Id: I247dc3ca3cbf20e49177e1343a5e4db38aeb257e
Reviewed-on: https://chromium-review.googlesource.com/1199592
Reviewed-by: Scott Chen <scottchen@chromium.org>
Reviewed-by: Thomas Tangl <tangltom@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Commit-Queue: David Roger <droger@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#588794}
Reviewed-on: https://chromium-review.googlesource.com/1213144
Reviewed-by: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#131}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/6635f70afb277a975f1b5057a33ff2a85e28f9fc/chrome/browser/resources/settings/people_page/sync_account_control.js
[modify] https://crrev.com/6635f70afb277a975f1b5057a33ff2a85e28f9fc/chrome/browser/ui/views/profiles/avatar_toolbar_button.cc
[modify] https://crrev.com/6635f70afb277a975f1b5057a33ff2a85e28f9fc/chrome/browser/ui/webui/settings/people_handler.cc
[modify] https://crrev.com/6635f70afb277a975f1b5057a33ff2a85e28f9fc/chrome/test/data/webui/settings/sync_account_control_test.js

Sign in to add a comment