Sync fails with: "Failed to reconcile incoming record": "NS_ERROR_ILLEGAL_VALUE) [nsINavBookmarksService.getItemTitle"]

RESOLVED INVALID

Status

RESOLVED INVALID
8 years ago
7 years ago

People

(Reporter: bshanks3, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 2 obsolete attachments)

(Reporter)

Description

8 years ago
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:2.0b13pre) Gecko/20110224 Firefox/4.0b13pre
Build Identifier: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b13pre) Gecko/20110224 Firefox/4.0b13pre

Every time I sync, GUI says: "Sync encountered an error while syncing: Unknown error. Sync will automatically retry this action."  and gives me the option to "Sync Now".

Sync-log is attached.

Reproducible: Always




is there a way i can edit the Sync DB from the commandline or something so that I can see which bookmarks are causing the problem, write them down somewhere, and delete them from the DB?

Presumably there is some weird character in the title field of some bookmarks which is being handled incorrectly, but I don't know how to see what it is.

Ubuntu lists my firefox-4.0 version as 4.0~b13~hg20110224r63035+nobinonly-0ubuntu1~umd1~maverick .

thanks for your help
(Reporter)

Comment 1

8 years ago
Created attachment 515031 [details]
about:sync-log
(Reporter)

Comment 2

8 years ago
Created attachment 515032 [details]
about:sync-log (same as the above, but with a .txt file ending)
Attachment #515031 - Attachment is obsolete: true
(Reporter)

Comment 3

8 years ago
Created attachment 515033 [details]
about:sync-log
Attachment #515032 - Attachment is obsolete: true

Updated

8 years ago
Component: Bookmarks & History → Firefox Sync: Backend
Product: Firefox → Mozilla Services
QA Contact: bookmarks → sync-backend
These are the records on the server that are causing problems:

8aMzSU0kBkCr
C9jRGafKjQq0
N4IbYI-GhheB
WK_e2IQv65kI
_c3k5Qi2sZg3
aJUef3nGm6BL
bNL_1aiWJbyN
e6uR5cqba4Bm
owJg69TkaohP
tjKqKpbs5AG-
yoJwnVbo1IOf

The error is arising in two places, both of which are trying to find the parent title of the item -- that is, the title of the containing folder.

This shouldn't happen. In one case there's even an explicit check that the parent ID is a positive integer. The error means that no result was returned, which causes Places to think that something is wrong:

  <http://mxr.mozilla.org/mozilla-central/source/toolkit/components/places/src/nsNavBookmarks.cpp#2093>

Please try this. Open about:config, then choose Tools > Web Console.

Paste the following code into the console:

/* Execute me in the Web Console. */
var weave  = Components.utils.import("resource://services-sync/engines.js");
var bms    = weave.Engines.get("bookmarks")._store;
var guid   = "8aMzSU0kBkCr";
var id     = bms.idForGUID(guid);
var parent = weave.Svc.Bookmark.getFolderIdForItem(id);
console.log("id: " + id);
console.log("parent: " + parent); 
/* End of code. */


You should see two numbers printed that aren't -1. If you see only the parent is -1, then that's weird, but it explains what's happening here.
Status: UNCONFIRMED → NEW
Ever confirmed: true
(Reporter)

Comment 5

8 years ago
thanks. i upgraded from firefox 3 point something to firefox 4.0b12 and reset sync'd from one of my computers to the server and the problem no longer occurs. so the problem is resolved for me.

Just in case it would have been helpful, i tried going o about:config and executing the code you gave, but "var weave  = Components.utils.import("resource://services-sync/engines.js");" returns undefined, so i'm assuming it isn't applicable to ff 4. whatever the problem was, hopefully people won't run into it anymore after they upgrade, possibly after an additional reset sync.

thank you,
  bayle
(In reply to comment #5)
> thanks. i upgraded from firefox 3 point something to firefox 4.0b12 and reset
> sync'd from one of my computers to the server and the problem no longer occurs.
> so the problem is resolved for me.

Glad to hear it, though I remain curious as to what the problem was! Now I'll never know :)

You might be interested in the Firefox 4 release candidate, which was released recently and supersedes the beta (in case you don't already have it):

  http://www.mozilla.com/en-US/firefox/RC/


> Just in case it would have been helpful, i tried going o about:config and
> executing the code you gave, but "var weave  =
> Components.utils.import("resource://services-sync/engines.js");" returns
> undefined

It's an assignment to a var; it returns 'undefined'. Try it:

  var x = 5;
  => undefined

The subsequent lines in the script I provided fetch various values, until the "console.log" lines execute and print out the desired results.

Never mind!
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → INVALID

Comment 7

7 years ago
I am encountering this bug, with the same "failed to reconcile" error, but I can't reopen this report.

Comment 8

7 years ago
I'll go ahead and provide details before I sleep:

1.  Sync stopped working on my netbook for a while.  The server deleted my data.  I made a new profile and it started working again.

2.  I switched back to the old profile.

3.  It worked, Firefox ran ok, but it used 100% CPU often (even though the GUI still worked), and I kept getting sync errors saying it failed to connect to the server.

4.  I restarted Firefox on the old profile.  It painted the GUI and then froze at 100% CPU, being completely unresponsive.  I had turned on sync on-success logging before restarting it, and it spit out a long sync log with MANY "Failed to reconcile" errors.  Is it safe to post this log or will it reveal personal data?  I have seen bookmark names in other sync logs.

5.  While Firefox was frozen at 100% CPU, I ran strace on the process for several seconds.  I am attaching that log.

6.  Please don't ask me to open a new bug report myself.   I really shouldn't even be spending the time to report this, but when Firefox freezes up completely upon startup...!  I can't go making a new profile every day!

Comment 9

7 years ago
Created attachment 570202 [details]
strace of Firefox process for a few seconds while it was at 100% CPU after startup--I think because of a bug in sync
(In reply to Adam Porter from comment #8)
> 3.  It worked, Firefox ran ok, but it used 100% CPU often (even though the
> GUI still worked), and I kept getting sync errors saying it failed to
> connect to the server.

Most likely it's doing a lot of work to encrypt and upload your profile. If you keep killing Firefox before Sync finishes, it'll keep having to try again!

If you're running on an anemic netbook (y'know, Atom 1.6 processor, a gig or less of RAM, of which the OS takes most of it) you can expect Sync to take much longer than it would on a modern machine. It does crypto and lots of disk access.
 
> 4.  I restarted Firefox on the old profile.  It painted the GUI and then
> froze at 100% CPU, being completely unresponsive.  I had turned on sync
> on-success logging before restarting it, and it spit out a long sync log
> with MANY "Failed to reconcile" errors.

This extensive logging is a major cause of slowdowns, particularly on machines with slow disks, like your netbook… which is why we turn success logging off by default.

> Is it safe to post this log or will
> it reveal personal data?  I have seen bookmark names in other sync logs.

I advise you to read it before you upload it.

> 5.  While Firefox was frozen at 100% CPU, I ran strace on the process for
> several seconds.  I am attaching that log.

I'm afraid this is the wrong level of abstraction to be useful. Thanks for the effort, though.

> 6.  Please don't ask me to open a new bug report myself.

Please do; it's hardly any more effort to click "New" on this screen than it is to leave a comment and an attachment on a resolved bug. We can always dupe, but splitting bugs is impossible.

> I really
> shouldn't even be spending the time to report this, but when Firefox freezes
> up completely upon startup...!  I can't go making a new profile every day!

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