Strange "blanked out" fields, Error #218911211

When I start Zotero on my desktop, there's a frustrating issue where it will not sync, and there are some entries which have their fields (notably titles) "blanked out" or scrambled. Here's a screenshot: http://i.imgur.com/BmFYq.png

These were all entries I had full info for. Note that the seventh one down has its publication date as its name. Strangely (and thankfully), my laptop doesn't have this problem.

Edited to add: To clarify, the "Error #" in the title is the "Report ID" of the issue.
  • edited October 27, 2012
    Could this be the same as the following?

    http://forums.zotero.org/discussion/25200/

    http://forums.zotero.org/discussion/25242/

    From your screen shot I don't recognize your OS or theme.
  • edited October 27, 2012
    I've noticed some similar behavior to the first report, in that scrolling over some entries causes the data to change, but this is very rare. I think it happened once. I don't actually have to scroll anything to cause the behavior I'm reporting. That's just how it looks when Zotero starts up.

    The second thread is nothing like anything I am experiencing. To clarify, this is an issue with the stand-alone client.

    Some other things worth noting:
    -If I try to manually fix the blanked/scrambled data, Zotero will not save the changes. When I restart the client, they will be back to blank.
    -The entries that are messed up are consistent. I am pretty sure it is always the same entries that have a problem.
    -I got the error number from trying to sync. It threw an error and failed to sync. This is the error text:

    ==========================================================

    [unrelated errors removed — D.S.]

    [JavaScript Error: "uncaught exception: [Exception... "Component returned failure code: 0x80630003 (NS_ERROR_STORAGE_CONSTRAINT) [mozIStorageStatement.execute]" nsresult: "0x80630003 (NS_ERROR_STORAGE_CONSTRAINT)" location: "JS frame :: chrome://zotero/content/xpcom/data/item.js :: :: line 1722" data: no] [ERROR: insert on table "itemData" violates foreign key constraint "fki_itemData_valueID_itemDataValues_valueID"]"]

    ==========================================================

    I don't think I ever had the Word integration extension. I don't even use Word, I use LibreOffice.
  • As info, it seems I did have the Word integration extension for some reason. I disabled it and restarted, but the problem persists. Generated a new Report ID: 459723871.

    Error text:

    [JavaScript Error: "uncaught exception: [Exception... "Component returned failure code: 0x80630003 (NS_ERROR_STORAGE_CONSTRAINT) [mozIStorageStatement.execute]" nsresult: "0x80630003 (NS_ERROR_STORAGE_CONSTRAINT)" location: "JS frame :: chrome://zotero/content/xpcom/data/item.js :: <TOP_LEVEL> :: line 1722" data: no] [ERROR: insert on table "itemData" violates foreign key constraint "fki_itemData_valueID_itemDataValues_valueID"]"]

    [JavaScript Error: "uncaught exception: [Exception... "Component returned failure code: 0x80630003 (NS_ERROR_STORAGE_CONSTRAINT) [mozIStorageStatement.execute]" nsresult: "0x80630003 (NS_ERROR_STORAGE_CONSTRAINT)" location: "JS frame :: chrome://zotero/content/xpcom/data/item.js :: <TOP_LEVEL> :: line 1722" data: no] [ERROR: insert on table "itemData" violates foreign key constraint "fki_itemData_valueID_itemDataValues_valueID"]"]
  • no, that's a different issue than the (Mac only) issue that DWL links to, it's an actual database problem rather than a display problem.

    Here are two related threads, follow Dan's directions in those, i.e. try to use the DB repair tool and if that doesn't work provide a debug ID:
    http://forums.zotero.org/discussion/23701/error-when-dragging-and-dropping-a-collection-from-personal-library-to-group-library/
    http://forums.zotero.org/discussion/22113/library-wont-load/
  • Following the instructions for using the DB repair tool, I replaced my version of zotero.sqlite with the one the repair utility generated. The "messed up" data is still there, but sync seems to work correctly. I'm somewhat concerned that this means that sync uploaded the "messed up" data and I will have to manually re-fill the fields. Would have preferred to just download whatever was on my laptop, since that was fine (incidentally, would that have "worked" as well?).

    Going to look into what happens when I sync on my laptop, when I change field, etc. The tool generated this message:

    Please reference Upload ID 508c23c5cdc75 in any correspondence with the Zotero team regarding this repair.
  • Something very odd is happening. While syncing "succeeds," nothing actually changes about the entries. This is true whether I sync on my laptop or my desktop. Although oddly, one entry has changed back to what it should be. Not the rest though. I'm not sure what's going on. When I sync on my laptop, shouldn't it change the DB on the server, which should then propagate to my desktop, and either change the entries or add new ones, or cause a conflict I need to manually resolve? (I can't figure out why that one entry fixed itself, but no others...)

    On the plus side, changes I make manually "stick" between re-starts of the client, so it is saving data correctly. Still not sure how this is not causing conflicts between the versions of entries on my laptop and desktop, but this seems fixed, even if I have to manually repair the data.

    Can anyone think of any reason to not just copy the zotero.sqlite on my laptop to my desktop, by the way?
  • Your database was corrupted, so it's entirely possible that some entries would still be incorrect even if the DB Repair Tool corrected some of the structural issues.
    While syncing "succeeds," nothing actually changes about the entries.
    I don't really know what you mean by this. But note that syncing is based on explicit changes that update the item's modification time, so corrupted (or repaired) entries wouldn't sync up to the server automatically. In any case, you can always see the state of the items on zotero.org.
    Can anyone think of any reason to not just copy the zotero.sqlite on my laptop to my desktop, by the way?
    If your laptop data directory doesn't have any problems, you can transfer that. Don't transfer just the database.
  • What I mean is, well let me give you an example.

    Let's say that in my collection is an entry for a book called "Winter Thoughts" by Jack Frost. The problem I was having on my desktop is that this would show up with the author, but not the title. On my laptop, though, both the title and author show up. When I fixed the database, and then synced on both devices, the entry for this book doesn't change anywhere. On my laptop, I see:

    Title: Winter Thoughts
    Author: Jack Frost

    While on my desktop I see:

    Title:
    Author: Jack Frost

    I can manually add the title back, but I don't understand why syncing doesn't change one entry to the other, either the "correct" version copied from laptop to desktop, or the "incorrect" copy from desktop to laptop. What you're saying is that the DB corruption changed the data without changing the modification time, so Zotero will not update the entry's data anywhere (since they have the same "last modified" time). If I make an arbitrary change in some field of the entry, will that prompt a sync that will either fix the data or force a manual conflict resolution?

    Zotero.org has the correct data for all entries. Is there any way to force a specific entry to change to what's on the server?
  • What you're saying is that the DB corruption changed the data without changing the modification time, so Zotero will not update the entry's data anywhere (since they have the same "last modified" time).
    Yes.
    If I make an arbitrary change in some field of the entry, will that prompt a sync that will either fix the data or force a manual conflict resolution?
    Yes. But if you have a known-good data directory on another computer, you might as well just transfer that (if you can do so easily).
    Zotero.org has the correct data for all entries. Is there any way to force a specific entry to change to what's on the server?
    You could edit it on the server, but it'd be easier to edit it on the other computer. If the server copy is good, you can also do Restore from Zotero Server in the Sync->Reset pane of the Zotero preferences to wipe out and recreate your entire local database. If that's easier than transferring the laptop database, that's fine.
  • All right, I think this is resolved. Thank you!
Sign In or Register to comment.