Here’s one for Google. If you use Camino to browse, and more relevantly if you store important bookmarks in Camino, you might want to know about a nasty little bug that could pop up sooner or later.
Camino appears to have a problem with its bookmarks file format. It saves out your entire list of bookmarks as an XML file,
bookmarks.plist, and there’s a bug that causes this file to become corrupt, which looks like this:
After you hit the OK button, all your bookmarks — whether in the main menu or the bookmark bar — disappear from the browser.
All’s not lost though. Camino attempts to save the file as
bookmarks-corrupted.plist, which is located in
~/Library/Application Support/Camino/ (where
~ is your user directory). This file should contain what you lost, just in a format that Camino can’t read anymore.
It appears that Camino saves out this file every time you close the browser. Whatever the cause of the bug is, the result is that it saves this file as non-well-formed XML. Your bookmark data is intact, but the XML isn’t valid, so Camino chokes on it and throws up an error.
There are two options at this point. One, you can debug the XML. Two, you can use the URLs within this file to manually reconstruct your bookmark list (though presumably you’ll be smart enough to do this in another browser or on delicious, if you go this route).
I ended up debugging the XML. Through trial and error (deleting large swaths of bookmarks at a time, loading Camino to see if I got the error or not, and a lot of restoring the corrupted file) I was able to pinpoint two or three locations where the XML was invalid. In one case, the angle brackets were reversed. Instead of seeing this:
I noticed the first right-facing bracket was reversed:
In the second case I wasn’t patient enough to track down the specific error, so I just deleted the 10 or so bookmarks that were causing the problem and reconstructed them manually.
The main take-away from this experience is that Camino users ought to back up their bookmarks on a regular basis, or store them in another browser until this bug is fixed.