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

Issue 746269 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

DCHECK on first start with local sync

Reported by manavr...@gmail.com, Jul 19 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0

Steps to reproduce the problem:
1. Build chromium with dcheck_always_on = true
2. Install Mozilla Firefox, set it as default browser and create several bookmarks
3. Create <sync_dir> directory for local sync
4. Launch chromium with params: --enable-local-sync-backend --local-sync-backend-dir=<sync_dir>
5. Create several bookmarks in chromium
6. Close chromium
7. Make master_preferences file with content:
{
  "import_bookmarks": true
}
8. Launch chromium with params: --force-first-run --enable-local-sync-backend --local-sync-backend-dir=<sync_dir>

What is the expected behavior?
Normal launch

What went wrong?
DCHECK(!g_instance || !instance) in file content_serialized_navigation_driver.cc:43

Did this work before? N/A 

Chrome version: 61.0.3157.0  Channel: canary
OS Version: 10.0
Flash Version: 

DCHECK in content_serialized_navigation_driver.cc:43 fires because current code assumes that SerializedNavigationDriver::Get() method will not be called before 
execution of chrome_browser_main.cc:1792 line. In this line sessions::ContentSerializedNavigationDriver::SetInstance() is actually called and it initialize g_instance object in content_serialized_navigation_driver.cc file. 
But with local sync enabled this assumption is not true. 
Launched with local sync support chromium will try to perform session sync earlier in sessions_sync_manager.cc:173, SessionsSyncManager::MergeDataAndStartSyncing, just after profile creation. 
Profile creation will post tasks with sync initialization from sync_backend_host_impl.cc:74.
This problem only occurs with first run launch (I am using --force-first-run), because autoimport will process all pending tasks in first_run.cc:224
Also this could happen in Linux(I know that local sync is not enabled in chromium under Linux, but we have enabled it as our customers request such feature), 
because there install dialog also process pending tasks early at start in first_run_dialog.cc:71.
 
Cc: a-...@yandex-team.ru manavr...@yandex-team.ru pastarmovj@chromium.org

Comment 2 by gangwu@chromium.org, Jul 19 2017

Owner: pastarmovj@chromium.org
Status: Assigned (was: Unconfirmed)
pastarmovj@, can you take a look, it seems local sync.

Comment 3 by gangwu@chromium.org, Jan 17 2018

Labels: SyncHandoff2018

Comment 4 by gangwu@chromium.org, Jan 17 2018

Components: -Services>Sync
Labels: -SyncHandoff2018

Comment 5 by mastiz@chromium.org, Jun 27 2018

Components: Services>Sync
sync-triage ping: any updates?
Labels: -Pri-2 Pri-3
I don't think this is a very critical issue. So setting it to P3.

Sign in to add a comment