Closed Bug 656151 Opened 14 years ago Closed 13 years ago

Bad interaction between sync and personas

Categories

(Firefox :: Sync, defect)

defect
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 645259

People

(Reporter: sicking, Unassigned)

References

Details

Steps to reproduce: 1. Start firefox 2. Go to http://www.getpersonas.com/en-US/persona/205162 and "wear" the persona 3. Wait for a bit (less than an hour) 4. Open a new browser window Actual result: The newly opened window has no persona but rather just the default skin. Restarting the browser does *not* help. Instead all windows are persona-less. Expected result: New window should have same persona. If I go back to the persona webpage and "wear" it again, all windows get the persona as appropriate. I do have sync installed and syncing with another desktop-firefox. Possibly sync is involved, though forcing a sync right now did not cause the bad behavior to start happening.
Ah, indeed, sync seems to be a culprit! Better steps to reproduce: 1. Install Firefox on a windows box 2. Install Firefox on a mac box 3. Using the mac box, go to http://www.getpersonas.com/en-US/persona/205162 and "wear" the persona. 4. Do a "sync now" on the windows box and give it a few seconds to sync. 5. Do a "sync now" on the mac box and give it a few seconds to sync. 6. Open a new window on the mac box. Actual results: The newly opened window in step 6 does not have a persona Expected results: The newly opened window in step 6 should have the same persona as the one selected in step 3. The same thing seems to happen if I "wear" a persona on the windows box. Somehow a "no personas" setting will sync across to both browsers eventually. I do not have personas plus installed.
Summary: Personas randomly stop working → Bad interaction between sync and personas
Severity: blocker → major
Component: Theme → Firefox Sync: Backend
OS: Mac OS X → All
Product: Firefox → Mozilla Services
QA Contact: theme → sync-backend
Hardware: x86 → All
The prefs engine causes personas to sync. This engine doesn't implement any kind of granularity; whichever machine modified your prefs last wins. It sounds very much like: 1. You change a pref on the Mac (persona) 2. A pref changes on Windows (doesn't matter which, really), or you just set up sync! 3. You sync Windows, which pushes prefs to your Sync account 4. You sync Mac, which pulls down the newer prefs to the Mac, overwriting the local change. If the lack of granularity in the prefs engine is really the culprit here, then it's not something that's likely to be fixed soon. Still, best to find out for sure before making broad judgments! Setting services.sync.log.logger.engine.prefs = Trace services.sync.log.appender.debugLog.enabled = true and restarting Firefox would allow you to get detailed logs during your repro. Reproducing this issue and attaching the two about:sync-log contents to this bug would be really helpful. Thanks!
So in my case I wasn't touching the windows machine *at all*. However it could be that some service automatically touches preferences every so often. Maybe even the sync engine itself does? But even that doesn't fully explain it. If I made both the mac box and the windows box use a persona, both ended up without a persona eventually.
(In reply to comment #4) > So in my case I wasn't touching the windows machine *at all*. However it > could be that some service automatically touches preferences every so often. > Maybe even the sync engine itself does? It shouldn't in any way that matters, but logs can tell us. > But even that doesn't fully explain it. If I made both the mac box and the > windows box use a persona, both ended up without a persona eventually. Hmm, I wonder if this is a localized pref problem, as in Bug 654099? Either that, or somehow values aren't propagating around correctly. Again, Trace logs should help a lot.
(In reply to comment #6) > How do I create one? See Comment 2.
(In reply to comment #2) > The prefs engine causes personas to sync. > > This engine doesn't implement any kind of granularity; whichever machine > modified your prefs last wins. > > It sounds very much like: > > 1. You change a pref on the Mac (persona) > 2. A pref changes on Windows (doesn't matter which, really), or you just set > up sync! > 3. You sync Windows, which pushes prefs to your Sync account > 4. You sync Mac, which pulls down the newer prefs to the Mac, overwriting > the local change. > > If the lack of granularity in the prefs engine is really the culprit here, > then it's not something that's likely to be fixed soon. Still, best to find > out for sure before making broad judgments! I was unexpectedly running into this yesterday. tested around it for quite a while. It's definitely caused by other prefs in conflict. Since personas are lumped in with prefs, if there is a conflict, one has to win. Oddly though, the one with the persona always lost. I filed bug 668629 that has steps to reproduce. Only thing I left out was the change of an additional pref.
It no longer happens on my system for some reason. But havent tried the steps in the previous comment
(In reply to comment #3) > See also Bug 645259. this is probably a dupe of that, just specific to personas. Instant sync on fx7 and beyond will somewhat improve things here by reducing the likelyhood a conflict occurring. The bug will always exist unless a method to better resolve conflicts in prefs is implemented.
(In reply to comment #11) > Instant sync on fx7 and beyond will somewhat improve things here by reducing > the likelyhood a conflict occurring. The bug will always exist unless a > method to better resolve conflicts in prefs is implemented. Yeah, that's pretty much what Bug 645259 is about. I expect we'll tackle that this year as part of a repositories rewrite.
See Also: → 645259
What you're seeing is actually Bug 579843 — the two clients are syncing prefs, and the one without the theme wins. It just fails to correctly clear the theme on the main window. So the real problem you'd like fixed is "pref sync sucks". Let's dupe to that.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
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.