Closed Bug 616113 Opened 14 years ago Closed 13 years ago

If a sqlite file is corrupted, sync fails.

Categories

(Firefox :: Sync, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: gaetan, Unassigned)

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 ( .NET CLR 3.5.30729) Build Identifier: 2010-12-02 13:48:41 Engine.Forms DEBUG Total (ms): sync 294, syncStartup 294 2010-12-02 13:48:41 Service.Main DEBUG item is undefined JS Stack trace: getGUID("end","today")@forms.js:79 < FormStore_getAllIDs()@forms.js:154 < SyncEngine__syncStartup()@engines.js:431 < ()@engines.js:196 < SyncEngine__sync()@engines.js:749 < ()@engines.js:196 < WrappedNotify()@util.js:115 < Engine_sync()@engines.js:206 < WeaveSvc__syncEngine([object Object])@service.js:1559 < ()@service.js:1455 < WrappedNotify()@util.js:115 < WrappedLock()@util.js:87 < WrappedCatch()@util.js:66 < sync()@service.js:1332 < (6)@sync.js:380 2010-12-02 13:48:41 Net.Resource DEBUG GET success 200 https://phx-sync299.services.mozilla.com/1.0/asr/storage/crypto/history Just make a test on 'item' before using it is ok : // Give the guid if we found one let item = Utils.queryAsync(getQuery, "guid")[0]; if (item != null) if (item.guid != null) return item.guid; Reproducible: Always Steps to Reproduce: 1. Don't know how to break the file 2. try a sync 3. read 'about:sync-log' Actual Results: sync fails with 'undefined item' error Expected Results: item must'nt be used, or must be defined before use may produce a security flaw
Component: Operations → General
QA Contact: operations → general
I don't understand why you'd suggest this could create a security flaw. It's JS, so if it's missing, we throw. We may have a problem here, but I don't think form history corruption is all that common.
Component: General → Firefox Sync: Backend
QA Contact: general → sync-backend
Yes it is. Each time you use different sync modules on different hosts, wich may be different OS. Since a year, between each upgrade of sync, the new database used by a recent sync corrupts databases on the older ones, on other hosts. So, DB corruption is more frequent than just a CRC on a disk. Application too corrupts the files.
This is expected and by design. We fail to read from/write to the DB if it's broken, which is what we should do, and it's for the core code to deal with corrupted DBs, not us.
Status: UNCONFIRMED → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
Component: Firefox Sync: Backend → Sync
Product: Cloud Services → Firefox
You need to log in before you can comment on or make changes to this bug.