Wednesday, December 23, 2009

Don't Cross the Streams...Why? It Would Be Bad.

Ok, this is less of a blog post and more like one of those public safety announcement thingies... I spent the better part of today, when I should have been making damn certain I remembered how to fillet a bronzini in time for Christmas dinner, straightening out a Chrome and Firefox mess.

It started as all of these things do: an impulsive swapping out of a beloved piece of software over a minor "difference of opinion." I thought if I strolled around town with Chrome for a few days, Firefox would see the error of her ways and come crawling back on hands and knees...

It, uh, didn't quite work out that way, of course.

Like a lot of folks out there, I use XMarks (formerly "FoxMarks," until they realized that locking themselves into a specific vendor in this market was most likely foolish) to sync my browser bookmarks cross platform between instances of Firefox on windows, mac and ubuntu. I had previous played with Chrome before, but didn't use it in earnest because it never had addons/extensions. Now, of course, it does - meaning I could use most of the tools I had previously used over in Firefox, including XMarks.

After installing Chrome on Ubuntu, I added the XMarks extension, fired it up, and...VoilĂ ! Bookmarks in Chrome, nicely organized. It worked so well, I installed Chrome + XMarks on Windows7 and OSX. (See where this is going?) Look! HA! See that Firefox? She new and shiny, and she has all the accessories that you have. I don't need you anymore...and I never think about you.... were really nice to me all those years. Maybe I can forgive your weight problem. I mean, what's a half a megabyte of extra poundage anyway? It's just baby fat! Oh....come here, you saucy minx....I'm sorry. Chrome didn't mean anything, she was just a fling...

Uh oh.

When Firefox came back up, XMarks engaged....within 15 seconds consumed 99% of the CPU, and the hard drive was pounding.

Now, XMarks has never been very good about admiting problems: they have a tendency to ignore the really tricky, hard-to-reproduce stuff and concentrate on the easier issues in their forums. (Last year when Foxmarks was transitioning to XMarks, 100's of us in their forums started complaining that XMarks would often not install in Firefox. There were little to no responses from them on the topic, and the problem mysteriously disappeared during one of their releases.) So, I didn't expect to find much in their forums about this issue, and then I happened across this little ditty:

"...after syncing Chrome, Firefox gets an "Other Bookmarks" folder added, which is really just the name of Chrome's bookmark root..."


The XMarks people have yet to respond to this thread, and the other folks in the forum have so far just noted that its an "annoyance" to have Other Bookmarks in the bookmark tree - but, no kids, its much more insidious than that. Since Other Bookmarks is the root of the Chrome bookmark tree, but to the Firefox bookmark manager it appears as a folder, when sync'ing a Chrome-written bookmark tree back to Firefox, you've just established this nice little recursion:

Firefox Tree ->
Other Bookmarks Folder ->
Chrome Root ->
Firefox Tree ->
Other Bookmarks Folder ->
Rinse ->

And, as an added bonus, if you use the "automatic sync" function inside of XMarks, you are guaranteed to pass this recursion rule on to the XMarks Mother Ship, who will propagate it down to all of your other Firefox instances that have auto sync turned on. Yay! The longer you let XMarks attempt additional syncs while you figure out what is happening (yeah, that's me) the deeper the recursion layer, and very shortly your CPU and hard drive will be maxed out. Double yay!

How do you get out of this mess? XMarks isn't sayin', and if you try to delete the recursive folder Other Bookmarks from your account, XMarks refuses to let you do it because it's identified that folder as the root folder of your bookmark tree - which, of course, it is on Chrome.

After a day of fiddling, there are really only three ways to do this, ranging in frustration from "Oh Thank God I'm so lucky" to "Sigh." (Oh, and needless to say, all of these methods require you to uninstall XMarks - or disable it - from Chrome first, or you'll be back where you started.)

  1. Locate a machine that does not have XMarks set to auto sync, yet still has your most recent bookmark list. You can then use the XMarks "force overwrite of server" function to push your local bookmark tree up to the XMarks server, which will then propagate the corrected tree to your other Firefox instances. No harm, no foul.
  2. Log into and restore your bookmark tree from a point prior to your first Chrome sync. This will, of course, lose your most recent bookmarks, but stop whining like a little baby and grow a'll find that porn again.
  3. Turn off XMarks auto sync, then use your bookmark manager in Firefox to delete the Other Bookmarks folder. This will take some time if XMarks did many sync attempts before you figured out what was going on. Alternatively, you can delete it manually by going to the location of your Foxmarks bookmarks on your drive and blowing away the Other Bookmarks entry. On Windows7 this is located here:

    ..Users\[your XP user name]\Application Data\Mozilla\Firefox\Profiles\bookmarksbackups

So, there you have it. XMarks is a great tool if you have multiple browser installations, multiple laptops, or just want a good way to back up all those bookmarks...but, like all sync'ing solutions since the dawn of time, it's also a good way to propagate mistakes really, really fast.


Anonymous said...

I want to quote your post in my blog. It can?
And you et an account on Twitter?

RocketMan said...

Feel free.

erinsab said...

Thought I was the only one.
My bookmarks folder in firefox & chrome across all my machines is a MESS. Occasionally I feel adventurous and try to clean it up . . . but I eventually give up. Too time consuming to mess with. I've resorted to the old way of saving random info. & web pages - Evernote. Which doesn't work nearly as quickly or seamlessly.

One more point, my.xmarks website is cumbersome and slow.

RocketMan said...

It's all related. Your my.xmarks website is probably slow because it is caught in bookmark recursion as it tries to render your information. Follow one of the steps above, and it will clear up.