Closed Bug 546397 Opened 14 years ago Closed 14 years ago

Exception: Clients.getClients()[Clients.clientID] is undefined

Categories

(Firefox :: Sync, defect)

defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: bugzilla.mozilla.org, Assigned: zpao)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6

This happened now twice: on the reported system and on a Ubuntu 9.10 with FF 3.5

I log into weave with my account data. I set it to fetch and override local data. 
weave starts to sync. 

then I realize that it syncs everything (there is no way to choose during initial setup!). So I stop sync process, open Prefs and disable history and preferences.
I start sync again. From now on it fails with the attached entries in the error log :-(

Reproducible: Always




2010-02-16 14:01:41	Service.Main         INFO	Logs reinitialized for service reset
2010-02-16 14:01:41	Service.Main         DEBUG	Clear cached values and take syncId: I7*Xcc)kWV
2010-02-16 14:01:57	Net.Resource         DEBUG	GET success 200 https://sj-weave06.services.mozilla.com/1.0/ACCOUNTNAME/storage/keys/pubkey
2010-02-16 14:01:58	Net.Resource         DEBUG	GET success 200 https://sj-weave06.services.mozilla.com/1.0/ACCOUNTNAME/storage/keys/privkey
2010-02-16 14:01:59	Net.Resource         DEBUG	GET success 200 https://sj-weave06.services.mozilla.com/1.0/ACCOUNTNAME/info/collections
2010-02-16 14:02:00	Net.Resource         DEBUG	GET success 200 https://sj-weave06.services.mozilla.com/1.0/ACCOUNTNAME/storage/crypto/clients
2010-02-16 14:02:00	Engine.Clients       DEBUG	First sync, uploading all items
2010-02-16 14:02:00	Engine.Clients       INFO	0 outgoing items pre-reconciliation
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client aef90234-c66f-47d1-a432-7630f2ef1935
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client _QbZVC.F~d
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client QtUspTff5W
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client K_lVRmbpk2
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client HGcCsfA9ju
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client 50c3e1f8-9506-446c-86bf-b69081e94418
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client 44160c04-1cbe-42c8-8dc4-87f565486f2e
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client *pHf23KgUR
2010-02-16 14:02:01	Store.Clients.Store  DEBUG	Updating client (C~j.fe75-
2010-02-16 14:02:01	Collection           DEBUG	GET success 200 https://sj-weave06.services.mozilla.com/1.0/ACCOUNTNAME/storage/clients?full=1&sort=index&limit=1500
2010-02-16 14:02:01	Engine.Clients       INFO	Records: 9 applied, 0 reconciled, 0 left to fetch
2010-02-16 14:02:01	Engine.Clients       DEBUG	Total (ms): sync 1861, processIncoming 803, uploadOutgoing 0, syncStartup 1058, syncFinish 0, observe 0, reconcile 0
2010-02-16 14:02:01	Service.Main         CONFIG	Starting backoff, next sync at:Tue Feb 16 2010 15:08:15 GMT+0100
2010-02-16 14:02:01	Service.Main         DEBUG	Exception: Clients.getClients()[Clients.clientID] is undefined JS Stack trace: ()@service.js:1150 < WrappedNotify()@util.js:114 < WrappedLock()@util.js:86 < WrappedCatch()@util.js:65 < sync(false)@service.js:1088 < ([object Object])@service.js:409 < notify([object XPCWrappedNative_NoHelper])@util.js:637
OS: Windows 7 → All
I'm not completely sure my STR but I've seen this a bunch of times doing development. I haven't seen it in the wild though.
Status: UNCONFIRMED → NEW
Ever confirmed: true
there are more reports of this error in the google group, like this one http://groups.google.com/group/mozilla-labs-weave/browse_thread/thread/2ec7ebcdf1b2291d#
So it seems like this is because we're calling ClientEngine._resetClient (which wipes then puts in the default info), then ClientStore.wipe (which then gets rid of that default info).

What I can't figure out is why this is happening consistently right now on 1 client, but not on another. Perhaps it's because client 2 is a new client? But Client 1 was only added recently too...
Attached patch Patch v0.1Splinter Review
As discussed on IRC, overrides _wipeClient in ClientEngine.
Assignee: nobody → paul
Status: NEW → ASSIGNED
Attachment #427824 - Flags: review?(edilee)
Comment on attachment 427824 [details] [diff] [review]
Patch v0.1

_store.wipe will already print out a message, so no need to print it again.

Let's just have something like..
// Treat reset the same as wiping for locally cached clients
_resetClient: function() this._wipeClient()
Attachment #427824 - Flags: review?(edilee) → review+
Pushed http://hg.mozilla.org/labs/weave/rev/606ff716d37a
Overrode _wipeClient in ClientEngine; treat resetting the same as wiping.

I'll followup and check 1.0 because if it's happening there, we should land this there.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Hardware: x86 → All
Resolution: --- → FIXED
Target Milestone: --- → 1.1
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.

Attachment

General

Created:
Updated:
Size: