Last Comment Bug 731024 - Unsupported record types causes Android Sync to reorder folders containing livemarks/queries/separators…
: Unsupported record types causes Android Sync to reorder folders containing li...
Status: VERIFIED FIXED
[sync]
:
Product: Android Background Services
Classification: Client Software
Component: Android Sync (show other bugs)
: unspecified
: ARM Android
: P2 normal
: mozilla14
Assigned To: Richard Newman [:rnewman]
:
:
Mentors:
: 737363 739224 (view as bug list)
Depends on: 708149
Blocks: 718154 755576
  Show dependency treegraph
 
Reported: 2012-02-27 15:09 PST by Markus Popp
Modified: 2015-06-22 06:00 PDT (History)
13 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
fixed
verified
beta+


Attachments
Stub for Aurora approval. (7 bytes, text/plain)
2012-03-23 11:11 PDT, Richard Newman [:rnewman]
akeybl: approval‑mozilla‑aurora+
Details
Sync Logs (9.80 KB, text/plain)
2012-04-27 00:29 PDT, Paul [pwd]
no flags Details

Description Markus Popp 2012-02-27 15:09:03 PST
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0a2) Gecko/20120227 Firefox/12.0a2
Build ID: 20120227042012

Steps to reproduce:

Imported my bookmarks (using JSON export and import), containing multiple layers of folders (and of course bookmarks themselves) in both Bookmarks Menu and Bookmarks Toolbar into Firefox Nightly (Linux 64bit). Set Firefox Sync to sync add-ons (which I know don't work yet), bookmarks, passwords and preferences and set "Replace all other devices with this computer's data", and synced them to my account.

(Tested this with Samsung Galaxy S2 running Android 2.3.6.)


Actual results:

After syncing on Firefox Mobile Nightly Native, version of February 27, 2012, at first both folders and bookmarks were all synced correctly, also in correct (which in my case is alphabetic) order.

After a few subsequent syncs on both desktop and mobile Firefox, bookmark folder order started to shuffle around in seemingly arbitrary order. The order of the bookmarks inside the folders remained intact the entire time, while the order of the folders keep changing all the time (after every or almost every new sync).


Expected results:

The bookmark folders should remain in the same order the entire time.
Comment 1 Richard Newman [:rnewman] 2012-02-27 15:46:47 PST
Markus: do you have logs? 
Folders at all levels of the tree, or just one?
Comment 2 Markus Popp 2012-02-27 15:59:49 PST
Folders at all levels.

Where do I find (and/or enable) logs?
Comment 3 Nick Alexander :nalexander (leave until January 2017) 2012-02-27 16:03:49 PST
Hi Markus, do you have the Android SDK installed?  If so, then you can run `adb logcat` to look at what at your device says.  See http://160.twinql.com/how-to-file-a-good-android-sync-bug for better instructions.
Comment 4 Richard Newman [:rnewman] 2012-02-27 16:28:45 PST
Note that you'll need to be capturing logs for the entire duration of every sync, starting with uninstalling Fennec then following your STR.

Install Fennec, then in a terminal run:

  adb usb
  adb shell setprop log.tag.BrowserRepoSession VERBOSE
  adb shell setprop log.tag.BookmarksDataAccessor VERBOSE
  adb logcat -v time > all-logs.txt

to ensure that you've got everything.
Comment 5 Markus Popp 2012-02-27 17:28:57 PST
I'm currently struggling with getting my system to recognize my device, which is connected via USB, although "adb usb" can't find it:

$ ./adb usb
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: device not found

In my syslog I see this:

Feb 28 02:26:58 ganymede kernel: [ 3839.724023] usb 2-4: new high speed USB device number 9 using ehci_hcd
Feb 28 02:26:59 ganymede kernel: [ 3841.291952] usb 2-4: USB disconnect, device number 9
Feb 28 02:27:00 ganymede kernel: [ 3841.564021] usb 2-4: new high speed USB device number 10 using ehci_hcd

So after I connect the device, it immediately disconnects again and appears to reconnect, but it's not there.

Not quite sure how to get past this.
Comment 6 Richard Newman [:rnewman] 2012-02-27 17:40:13 PST
(In reply to Markus Popp from comment #5)

> Not quite sure how to get past this.

Do you have USB Debugging turned on on your phone?

Do you have EasyTether or some other USB network kernel module loaded?
Comment 7 Markus Popp 2012-02-27 17:50:54 PST
(In reply to Richard Newman [:rnewman] from comment #6)
> Do you have USB Debugging turned on on your phone?

I did not have it turned on. I tried turning it on just now, with it I get "error: insufficient permissions for device" instead. Now have it turned off again.
 
> Do you have EasyTether or some other USB network kernel module loaded?

Not that I knew, but here is my "lsmod" output:

$ lsmod
Module                  Size  Used by
cdc_acm                26857  0 
vesafb                 13809  1 
joydev                 17693  0 
bnep                   18436  2 
rfcomm                 47946  4 
bluetooth             166112  10 bnep,rfcomm
binfmt_misc            17540  1 
nvidia              11713772  30 
usbhid                 47198  0 
hid                    95463  1 usbhid
snd_hda_codec_realtek   330769  1 
snd_hda_intel          33390  3 
snd_hda_codec         104931  2 snd_hda_codec_realtek,snd_hda_intel
snd_ca0106             44796  3 
snd_ac97_codec        134826  1 snd_ca0106
ac97_bus               12730  1 snd_ac97_codec
snd_hwdep              13668  1 snd_hda_codec
snd_seq_midi           13324  0 
snd_pcm                96714  4 snd_hda_intel,snd_hda_codec,snd_ca0106,snd_ac97_codec
snd_rawmidi            30547  2 snd_ca0106,snd_seq_midi
snd_seq_midi_event     14899  1 snd_seq_midi
snd_seq                61896  2 snd_seq_midi,snd_seq_midi_event
snd_timer              29991  2 snd_pcm,snd_seq
snd_seq_device         14540  3 snd_seq_midi,snd_rawmidi,snd_seq
snd                    68266  23 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_ca0106,snd_ac97_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
ppdev                  17113  0 
parport_pc             36962  1 
soundcore              12680  1 snd
snd_page_alloc         18529  3 snd_hda_intel,snd_ca0106,snd_pcm
psmouse                73882  0 
serio_raw              13166  0 
lp                     17799  0 
parport                46562  3 ppdev,parport_pc,lp
usb_storage            57901  0 
uas                    18027  0 
r8169                  52788  0

This is from a relatively fresh Xubuntu 11.10 system, haven't installed a lot of special things here (it's not my daily working PC, but rather one suitable for testing stuff, like this).
Comment 8 Richard Newman [:rnewman] 2012-02-27 17:59:25 PST
(In reply to Markus Popp from comment #7)
> (In reply to Richard Newman [:rnewman] from comment #6)
> > Do you have USB Debugging turned on on your phone?
> 
> I did not have it turned on. I tried turning it on just now, with it I get
> "error: insufficient permissions for device" instead. Now have it turned off
> again.

As far as I know, you cannot use adb without turning on USB Debugging.
Comment 9 Markus Popp 2012-02-27 18:42:43 PST
Got it :), I had to start the daemon as root. Then I was able to create the log according to instructions in Comment #4.

Before I post the log file (3.3 MB), is there any danger of revealing any private information? Like I entered my Firefox Sync account information while the phone was connected and logging was on. May anything like that be logged too?

I set up both Firefox Nightly Desktop & Firefox Nightly Mobile from scratch, and started the entire process from the very beginning (and logged everything). I synced desktop, then mobile, then desktop again etc., until after the 3rd or 4th time syncing mobile, the folder order was messed up. It is the last logged run.

One more thing to mention (don't know whether or not it is significant), the one sync run when the folders messed up, I didn't start Firefox, but went through Settings -> Accounts and Sync. However, I believe previously I had it happening while having Firefox started and going to Preferences -> Sync there. So I don't believe it was really what triggered it.
Comment 10 Richard Newman [:rnewman] 2012-02-27 18:51:06 PST
(In reply to Markus Popp from comment #9)

> Before I post the log file (3.3 MB), is there any danger of revealing any
> private information? Like I entered my Firefox Sync account information
> while the phone was connected and logging was on. May anything like that be
> logged too?

If you're using a recent nightly, there should be nothing significantly personally identifiable from Sync -- no URLs, no titles, no keys.

Android is pretty shit, though; assorted apps and daemons will be dumping email addresses and all kinds of stuff to the log, so if you have any doubt at all from skimming the log yourself, just zip it up and email it to me directly.

> One more thing to mention (don't know whether or not it is significant), the
> one sync run when the folders messed up, I didn't start Firefox, but went
> through Settings -> Accounts and Sync. However, I believe previously I had
> it happening while having Firefox started and going to Preferences -> Sync
> there. So I don't believe it was really what triggered it.

Shouldn't make a difference.

I am very interested to know the definition of "messed up", though:

* They're in a different order on the phone, desktop, or both
* Top-level folders ("Mobile Bookmarks", "Toolbar", "Unsorted Bookmarks") change position?
* Non-top-level folders (children of those) change position?
* Were you altering any bookmarks or folders (adding, moving, renaming) during the process?

Thanks!
Comment 11 Markus Popp 2012-02-27 19:19:43 PST
(In reply to Richard Newman [:rnewman] from comment #10)
> so if you have any doubt
> at all from skimming the log yourself, just zip it up and email it to me
> directly.

Sent

> I am very interested to know the definition of "messed up", though:
> 
> * They're in a different order on the phone, desktop, or both

They begin to change order on the phone, and desktop picks up the order from the phone. Desktop never seems to change the order itself, but mobile keeps doing so (and desktop keeps picking up the new order every time).

> * Top-level folders ("Mobile Bookmarks", "Toolbar", "Unsorted Bookmarks")
> change position?

They stay in the order "Mobile Bookmarks", "Bookmarks Toolbar", "Bookmarks Menu", "Unsorted Bookmarks".

> * Non-top-level folders (children of those) change position?

They do change.

> * Were you altering any bookmarks or folders (adding, moving, renaming)
> during the process?

No bookmark updates during my test run.
Comment 12 Richard Newman [:rnewman] 2012-02-27 21:59:23 PST
tl;dr: we can't maintain folder children orders unless Fennec can store every record we download.


I have a sneaking suspicion.

First sync:

02-28 03:16:01.160 V/BrowserRepoSession(17189): menu has children ["uhSXwkwAxGI2","4cDIeWc0f0yo","geIBYWI2TJfB","qn1HnwH5YHbD","MQMvK9z3A6ym","FZiawCVoNqco","OTOHD4lmFC0V","EsRV1pqjsmLY","yBHMw7jeo3qx","4hdYy0D9kaTO","WmhPCJqtFowz","ZjLsHspHGiNP"]

... 12 items.

Second sync:

02-28 03:23:26.425 V/BrowserRepoSession(18378): menu has children ["geIBYWI2TJfB","qn1HnwH5YHbD","MQMvK9z3A6ym","FZiawCVoNqco","OTOHD4lmFC0V","EsRV1pqjsmLY","yBHMw7jeo3qx","4hdYy0D9kaTO","WmhPCJqtFowz","ZjLsHspHGiNP"]

... 10 items.

Another snippet from the first sync:

 insert() returning record a1jXR0WkU67k
 Ignoring record with guid: -2Rva3sbdysH and type: livemark
 Ignoring record -2Rva3sbdysH due to unknown record type.
 Ignoring record with guid: 4cDIeWc0f0yo and type: separator
 Ignoring record 4cDIeWc0f0yo due to unknown record type.         <<
 Ignoring record with guid: Dx0AQDlPEdWQ and type: livemark
 Ignoring record Dx0AQDlPEdWQ due to unknown record type.
 Ignoring record with guid: E5Sxj9MYDr3u and type: livemark
 Ignoring record E5Sxj9MYDr3u due to unknown record type.
 Ignoring record with guid: MJne_tZAtD_y and type: livemark
 Ignoring record MJne_tZAtD_y due to unknown record type.
 Ignoring record with guid: uhSXwkwAxGI2 and type: query
 Ignoring record uhSXwkwAxGI2 due to unknown record type.         <<
 Ignoring record with guid: zqJ-KPluoz7f and type: livemark
 Ignoring record zqJ-KPluoz7f due to unknown record type.
 Finding existing record for incoming record with GUID -AalXp3sMH2h


Fennec can't support livemarks, separators, queries, and other desktop entities. We drop them on insert.

So:

* We download a folder record that has a child sequence: [query, separator, bookmark, ...]

* We apply that sequence at the end of sync:

   Record from mirror cursor: menu
   Expecting 10 children.
   Output child array: ["geIBYWI2TJfB","qn1HnwH5YHbD","MQMvK9z3A6ym","FZiawCVoNqco","OTOHD4lmFC0V","EsRV1pqjsmLY","yBHMw7jeo3qx","4hdYy0D9kaTO","WmhPCJqtFowz","ZjLsHspHGiNP"]
   Generating child array required moving records. Updating DB.
   Updating positions for 10 items.
   Bumping parent time to 1330395476625.
   Bumping modified for 3 to 1330395476625

* We reupload the menu record with its new sequence. Desktop Firefox applies that sequence and reconciles it somehow with the items that it knows to still be in the folder, but aren't included in the sequence.

* Desktop Firefox uploads the new sequence. (I deduce; otherwise we wouldn't be re-applying it on the phone.)

* On the second sync, Fennec will apply this new sequence. After this, the sequence should be stable until the folder changes again, but if the downloaded IDs refer to items that aren't in the store -- because we skipped them, because they were livemarks etc. -- then Android Sync will compute an order again, and the cycle repeats until stability is achieved.


There is no easy solution here without extending Fennec's schema. There is a half-way solution, which is to track during a sync the records that we skipped because we couldn't handle them, and maintain those in the uploaded sequence, but the moment you change the sequence locally -- e.g., by deleting an item from your Bookmarks Menu folder -- we'll upload a truncated sequence and the cycle will begin again.
Comment 13 Richard Newman [:rnewman] 2012-02-27 22:27:15 PST
Proposed solution: extend IS_FOLDER into a type enumeration. Add types to match Places. Add Fennec UI functionality as appropriate (e.g., separators can be separators, livemarks can act just like bookmarks but with a special icon), grey out the rest. We can figure out a way to jam the additional data in, either in an extension table, in the existing columns, or in a new column.

Anemic schema bites again :/
Comment 14 Tracy Walker [:tracy] 2012-02-28 08:59:45 PST
I'm not seeing arbitrary reordering.  On desktop, order is maintain with the exception of livemarks, queries and separators which are pushed to the end of the list in whatever folder they exist. On Mobile, those items don't exist, and we order folders first followed by individual bookmarks, even though those two types may intermingle in order on the desktop.
Comment 15 Richard Newman [:rnewman] 2012-02-28 09:30:25 PST
(In reply to Tracy Walker [:tracy] from comment #14)
> I'm not seeing arbitrary reordering.  On desktop, order is maintain with the
> exception of livemarks, queries and separators which are pushed to the end
> of the list in whatever folder they exist. On Mobile, those items don't
> exist, and we order folders first followed by individual bookmarks, even
> though those two types may intermingle in order on the desktop.

Markus, does this describe what you're seeing?
Comment 16 Tracy Walker [:tracy] 2012-03-06 07:42:22 PST
I think this depends on or is a dupe of bug 708149
Comment 17 Richard Newman [:rnewman] 2012-03-06 08:06:22 PST
(In reply to Tracy Walker [:tracy] from comment #16)
> I think this depends on or is a dupe of bug 708149

Depends on. Fennec supporting the full range of record types is a prerequisite for not reordering folders; there'll be some Sync work, too.

Lucas, I'm going to shunt that other bug over to you, and steal this myself, if you agree with my suggestion in Comment 13.
Comment 18 Lucas Rocha (:lucasr) 2012-03-15 05:21:14 PDT
(In reply to Richard Newman [:rnewman] from comment #17)
> (In reply to Tracy Walker [:tracy] from comment #16)
> > I think this depends on or is a dupe of bug 708149
> 
> Depends on. Fennec supporting the full range of record types is a
> prerequisite for not reordering folders; there'll be some Sync work, too.
> 
> Lucas, I'm going to shunt that other bug over to you, and steal this myself,
> if you agree with my suggestion in Comment 13.

Sure. Assigning this one to you then.
Comment 19 Richard Newman [:rnewman] 2012-03-20 09:22:21 PDT
*** Bug 737363 has been marked as a duplicate of this bug. ***
Comment 20 Richard Newman [:rnewman] 2012-03-20 16:33:41 PDT
My proposal for storing the additional fields that are required, as discussed with margaret and TADmfinkle:

    if (isLivemark()) {
      // TODO: siteUri, feedUri.
      return;
    }
    if (isQuery()) {
      // TODO: queryId (optional), folderName.
      return;
    }
    if (isMicrosummary()) {
      // TODO: generatorUri, staticTitle.
      return;
    }
    if (isSeparator()) {
      this.pos = payload.getString("pos");
      return;
    }

… stuff the values into the URI.

That is: for livemarks, queries, microsummaries (despite their abandonment), and separators, I will compose a URI:

  places:uri=$uri&<param>=value&…

and decompose it on extraction.

Note that for queries this can result in a URI like:

  places:uri=place%3AqueryType%3D0%26sort%3D8%26maxResults%3D10&folderName=foobar&queryId=123

I will implement this and write it up on the wiki.

From Fennec's side, the only consequence is:

* You can't rely on the URI field for non-bookmarks. I don't think this is a concern.
* If you ever want to do something useful with a non-bookmark, you'll need to parse it.
Comment 21 Richard Newman [:rnewman] 2012-03-22 20:17:38 PDT
Parsing of separator pos seems to be wrong. Must fix tomorrow.

03-22 20:16:37.490 W/RecordsChannel( 8454): onFetchFailed. Calling for immediate stop.
03-22 20:16:37.490 W/RecordsChannel( 8454): java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.ExtendedJSONObject.getString(ExtendedJSONObject.java:131)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.repositories.domain.BookmarkRecord.initFromPayload(BookmarkRecord.java:264)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.repositories.domain.Record.initFromEnvelope(Record.java:241)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.repositories.domain.BookmarkRecordFactory.createRecord(BookmarkRecordFactory.java:54)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.middleware.Crypto5MiddlewareRepositorySession$DecryptingTransformingFetchDelegate.onFetchedRecord(Crypto5MiddlewareRepositorySession.java:104)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.repositories.Server11RepositorySession$RequestFetchDelegateAdapter.handleWBO(Server11RepositorySession.java:187)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.net.WBOCollectionRequestDelegate.handleRequestProgress(WBOCollectionRequestDelegate.java:29)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.net.SyncStorageCollectionRequest$SyncCollectionResourceDelegate.handleHttpResponse(SyncStorageCollectionRequest.java:113)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.net.BaseResource.execute(BaseResource.java:232)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.net.BaseResource.go(BaseResource.java:254)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.net.BaseResource.get(BaseResource.java:260)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.net.SyncStorageRequest.get(SyncStorageRequest.java:163)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.repositories.Server11RepositorySession.fetchWithParameters(Server11RepositorySession.java:262)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.repositories.Server11RepositorySession.fetchSince(Server11RepositorySession.java:279)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.middleware.Crypto5MiddlewareRepositorySession.fetchSince(Crypto5MiddlewareRepositorySession.java:147)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.synchronizer.RecordsChannel.flow(RecordsChannel.java:139)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.synchronizer.RecordsChannel.onBeginSucceeded(RecordsChannel.java:239)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at org.mozilla.gecko.sync.repositories.delegates.DeferredRepositorySessionBeginDelegate$1.run(DeferredRepositorySessionBeginDelegate.java:57)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
03-22 20:16:37.490 W/RecordsChannel( 8454): 	at java.lang.Thread.run(Thread.java:856)
Comment 22 Richard Newman [:rnewman] 2012-03-23 11:07:53 PDT
Part 1:

https://hg.mozilla.org/integration/mozilla-inbound/rev/83107987850d
Comment 23 Richard Newman [:rnewman] 2012-03-23 11:11:29 PDT
Created attachment 608781 [details]
Stub for Aurora approval.

Routine Sync approval for Aurora.
Comment 24 Ed Morley [:emorley] 2012-03-24 14:03:08 PDT
https://hg.mozilla.org/mozilla-central/rev/83107987850d
Comment 25 Richard Newman [:rnewman] 2012-03-26 11:59:57 PDT
*** Bug 739224 has been marked as a duplicate of this bug. ***
Comment 26 Alex Keybl [:akeybl] 2012-03-26 15:22:59 PDT
Comment on attachment 608781 [details]
Stub for Aurora approval.

[Triage Comment]
If these changes are mobile-only and are not dependent upon the Maple uplift to Aurora, a=akeybl for Aurora 13.
Comment 27 Richard Newman [:rnewman] 2012-03-27 10:49:59 PDT
Part 4:
https://hg.mozilla.org/integration/mozilla-inbound/rev/56789e683c23

Part 5:
https://hg.mozilla.org/integration/mozilla-inbound/rev/752737597c22

QA: should be fairly obvious, but ensure that additions, deletions, and such on both clients don't cause livemarks or separators to move around on desktop. Those records won't be visible on mobile, but the order on desktop should be stable.
Comment 30 Mark Finkle (:mfinkle) (use needinfo?) 2012-04-04 10:30:27 PDT
https://hg.mozilla.org/releases/mozilla-aurora/rev/69171a9b6c74
Comment 31 Paul [pwd] 2012-04-25 14:06:06 PDT
Are we sure this is fixed? I'm still seeing RSS feeds being rearranged.
Comment 32 Richard Newman [:rnewman] 2012-04-25 14:17:41 PDT
(In reply to Paul [sabret00the] from comment #31)
> Are we sure this is fixed? I'm still seeing RSS feeds being rearranged.

Can you define "RSS feeds being arranged"?

You mean you have a livemark in a folder and it's changing position? Or you have a livemark whose children keep changing position? Or something else?
Comment 33 Paul [pwd] 2012-04-25 15:05:34 PDT
I have a folder called Feeds on my bookmark toolbar. Within that folder are Live Bookmarks. This very week I rearranged them so they were stored:
1
2
3
4
...

I later returned to Firefox to find them stored

4
1
3
2
...


Let's say 1 = BBC Front Page, 2 = YC Hacker News, 3 = The Verge, 4 = Core77
Comment 34 Richard Newman [:rnewman] 2012-04-25 15:08:15 PDT
(In reply to Paul [sabret00the] from comment #33)
> I have a folder called Feeds on my bookmark toolbar. Within that folder are
> Live Bookmarks. This very week I rearranged them so they were stored:

If you have logs from desktop, or STR, that'd be really great.
Comment 35 Paul [pwd] 2012-04-27 00:29:32 PDT
Created attachment 618948 [details]
Sync Logs

Went to bed with everything rearranged. Woke up with my feeds rearranged. Along with a bunch of folders in my bookmarks menu and the bookmarks on my bookmarks toolbar.
Comment 36 Paul [pwd] 2012-04-27 00:33:58 PDT
There's also this from the previous day (yesterday):
1335466377798	Sync.Collection	DEBUG	mesg: POST fail 503
1335466377798	Sync.Collection	DEBUG	POST fail 503
1335466377799	Sync.Engine.History	DEBUG	Uploading records failed: "server error: converted 502"
1335466377801	Sync.Status	DEBUG	Status for engine history: error.engine.reason.record_upload_fail
1335466377803	Sync.ErrorHandler	DEBUG	Some engines did not sync correctly.


That's just snippets.
Comment 37 Markus Popp 2012-05-15 11:14:51 PDT
This bug is NOT fixed. Still does exactly the same as before.
Comment 38 Richard Newman [:rnewman] 2012-05-15 11:47:28 PDT
(In reply to Markus Popp from comment #37)
> This bug is NOT fixed. Still does exactly the same as before.

I just noticed some reordering on my own device during first-time setup.

However, this was reproducible, and has seen a lot of QA, and has a lot of tests, so certainly a lot of stuff *is* fixed; furthermore, there are lots of different causes that could result in items being moved. So I'm not inclined to reopen this.

In my case, some items were moved, but relative orders were mostly maintained, and separators stayed in the right positions.

For all we know, this is a desktop bug, or only manifests with very old sync accounts (for a few reasons I can think of).

If you can reproduce this with a fresh profile and Sync account, I'd very much appreciate a new bug, Markus.

Thanks!

(In reply to Paul [sabret00the] from comment #36)
> There's also this from the previous day (yesterday):
> 1335466377798	Sync.Collection	DEBUG	mesg: POST fail 503

Nothing to worry about.
Comment 39 Sergey 2015-06-22 06:00:20 PDT
This is still happening to me, not sure if because of Firefox on Android as I'm using both desktop and Android versions. I'm also using Firefox on multiple systems on the same home desktop machine and separators get messed up even between them. Though Firefox seems to start remembering their position after a while (this already happened before to me).

Note You need to log in before you can comment on or make changes to this bug.