AutocompleteSyncBridge::GetAutofillTable() can pass null to AutofillTable::FromWebDatabase() via AutocompleteSyncBridge::LoadMetadata() |
||||
Issue descriptionChrome Version : @r468261 ~ 60.0.3080.5 OS Version: OS X 10.12.4 Possible regression from r444840 -> https://codereview.chromium.org/2620783002 I started getting a crash at startup. GetAutofillTable() is passing null to FromWebDatabase() and forming a null `this` pointer. frame #4: 0x000000012e0a72d8 libwebdata_common.dylib`WebDatabase::GetTable(this=0x0000000000000000, key=0x000000010b47c384) + 56 at web_database.cc:57 frame #5: 0x00000001069d4275 libchrome_dll.dylib`autofill::AutofillTable::FromWebDatabase(db=0x0000000000000000) + 37 at autofill_table.cc:419 frame #6: 0x000000010699c0d5 libchrome_dll.dylib`autofill::AutocompleteSyncBridge::GetAutofillTable(this=0x0000000100418f00) const + 37 at autocomplete_sync_bridge.cc:488 frame #7: 0x000000010699b386 libchrome_dll.dylib`autofill::AutocompleteSyncBridge::LoadMetadata(this=0x0000000100418f00) + 70 at autocomplete_sync_bridge.cc:452 There are some warnings: [94096:31491:0508/104404.238276:WARNING:web_database.cc(111)] Web database is too new. [94096:31491:0508/104404.238426:ERROR:web_database_backend.cc(113)] Cannot initialize the web database: 2 Full stack attached. Blowing away my Chromium profile will probably fix it, but there may be a latent bug here. (Or this could be annoying to encounter while doing bisects or other developer flows). Maybe AutocompleteSyncBridge::LoadMetadata() needs to check GetAutofillTable() for returning null (and GetAutofillTable() needs to return null when the database didn't initialize). Or something.
,
May 8 2017
,
May 8 2017
,
May 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4cfcbe6a7b34e0eb45b4e789b5165ffd75ee243b commit 4cfcbe6a7b34e0eb45b4e789b5165ffd75ee243b Author: pnoland <pnoland@chromium.org> Date: Tue May 09 17:37:32 2017 [sync] Check against nullptr web_data_backend->GetDatabase() If there is a problem with the web_data_backend databaseat startup (for example, a version incompatibility), GetDatabase() can return nullptr. This change guards against that. BUG= 719281 R=skym@chromium.org Review-Url: https://codereview.chromium.org/2867143002 Cr-Commit-Position: refs/heads/master@{#470370} [modify] https://crrev.com/4cfcbe6a7b34e0eb45b4e789b5165ffd75ee243b/components/autofill/core/browser/webdata/autocomplete_sync_bridge.cc [modify] https://crrev.com/4cfcbe6a7b34e0eb45b4e789b5165ffd75ee243b/components/autofill/core/browser/webdata/autocomplete_sync_bridge_unittest.cc [modify] https://crrev.com/4cfcbe6a7b34e0eb45b4e789b5165ffd75ee243b/components/sync/model/recording_model_type_change_processor.cc [modify] https://crrev.com/4cfcbe6a7b34e0eb45b4e789b5165ffd75ee243b/components/sync/model/recording_model_type_change_processor.h
,
May 10 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by tapted@chromium.org
, May 8 2017