JavaScript Error: "str is null"

Got the following error when trying to sync

JavaScript Error: "str is null" {file: "chrome://zotero/content/xpcom/sync.js" line: 2293}]

[JavaScript Error: "[Exception... "'[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageStatement.execute]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://zotero/content/xpcom/db.js :: anonymous :: line 123" data: no] [QUERY: REPLACE INTO creators (creatorID, creatorDataID, dateModified, key) VALUES (?, ?, ?, ?)] [ERROR: constraint failed]' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no]"]

report id: 689198349

winxp using zotero 1.5a1r.3009

regards, Jon.
  • Can you provide the debug output from about 10 lines before "Rolling back transaction"?
  • was this what you were after:
    zotero(5): SELECT COUNT(*) FROM creators WHERE creatorID=?

    zotero(5): Binding parameter 1 of type int: 5

    zotero(5): SELECT COUNT(*) FROM creators WHERE creatorID=?

    zotero(5): Binding parameter 1 of type int: 5

    zotero(5): SELECT COUNT(*) FROM creators WHERE creatorID=?

    zotero(5): Binding parameter 1 of type int: 5

    zotero(5): SELECT COUNT(*) FROM creators WHERE creatorID=?

    zotero(5): Binding parameter 1 of type int: 5

    zotero(3): Processing remotely deleted creators

    zotero(3): Saving merged creators

    zotero(5): Transaction in progress -- increasing level to 2

    zotero(5): SELECT COUNT(*) FROM creators WHERE creatorID=?

    zotero(5): Binding parameter 1 of type int: 5

    zotero(3): Saving creator 5

    zotero(5): REPLACE INTO creators (creatorID, creatorDataID, dateModified, key) VALUES (?, ?, ?, ?)

    zotero(5): Binding parameter 1 of type int: 5

    zotero(5): Binding parameter 2 of type int: 1293

    zotero(5): Binding parameter 3 of type string: "2008-07-09 15:03:53"

    zotero(5): Binding parameter 4 of type string: "MTPAIIK9"

    zotero(5): Flagging nested transaction for rollback

    zotero(5): Rolling back transaction
  • edited July 9, 2008
    Or this, I cleared the server this time before trying to sync, got the same javascript error but different debug output

    [JavaScript Error: "str is null" {file: "chrome://zotero/content/xpcom/sync.js" line: 2293}]

    [JavaScript Error: "[Exception... "'[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageStatement.execute]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://zotero/content/xpcom/db.js :: anonymous :: line 123" data: no] [QUERY: REPLACE INTO creators (creatorID, creatorDataID, dateModified, key) VALUES (?, ?, ?, ?)] [ERROR: constraint failed]' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no]"]


    report id 1418767004

    last ten lines:
    zotero(5): Binding parameter 1 of type int: 15012

    zotero(5): SELECT collectionID AS id, 0 AS type, collectionName AS collectionName FROM collections WHERE parentCollectionID=?1 UNION SELECT itemID AS
    id, 1 AS type, NULL AS collectionName FROM collectionItems WHERE collectionID=?1

    zotero(5): Binding parameter 1 of type int: 16279

    zotero(3): Processing locally changed searches

    zotero(5): SELECT COUNT(*) FROM savedSearches WHERE savedSearchID=?

    zotero(5): Binding parameter 1 of type int: 1500

    zotero(5): SELECT S.*, MAX(searchConditionID) AS maxID FROM savedSearches S LEFT JOIN savedSearchConditions USING (savedSearchID) WHERE savedSearchID=
    ? GROUP BY savedSearchID

    zotero(5): Binding parameter 1 of type int: 1500

    zotero(5): SELECT * FROM savedSearchConditions WHERE savedSearchID=? ORDER BY searchConditionID

    zotero(5): Binding parameter 1 of type int: 1500

    zotero(5): Rolling back transaction
  • "str is null" should now be fixed.

This is an old discussion that has not been active in a long time. Instead of commenting here, you should start a new discussion. If you think the content of this discussion is still relevant, you can link to it from your new discussion.