zotero error
Error: cleanDOI: argument must be a string
cleanDOI@chrome://zotero/content/xpcom/utilities/utilities.js:407:15
_cacheKeyMappings@chrome://zotero/content/xpcom/retractions.js:773:21
From previous event:
ZoteroService@file:///C:/Program%20Files%20(x86)/Zotero/components/zotero-service.js:346:7
@chrome://zotero/content/include.js:4:14
my zotero suddenly meet this error, I can't open it
cleanDOI@chrome://zotero/content/xpcom/utilities/utilities.js:407:15
_cacheKeyMappings@chrome://zotero/content/xpcom/retractions.js:773:21
From previous event:
ZoteroService@file:///C:/Program%20Files%20(x86)/Zotero/components/zotero-service.js:346:7
@chrome://zotero/content/include.js:4:14
my zotero suddenly meet this error, I can't open it
This discussion has been closed.
Can you take a screenshot, upload it somewhere (e.g., Dropbox or Google Drive), and provide a link here, or email it to support@zotero.org with a link to this thread? (We'll respond here in either case.)
(3)(+0000011): Loading collection relations
(4)(+0000001): SELECT * FROM collectionRelations JOIN relationPredicates USING (predicateID)
(3)(+0000001): Loaded collection relations in 2 ms
(3)(+0000000): Loading item relations
(4)(+0000001): SELECT * FROM itemRelations JOIN relationPredicates USING (predicateID)
(3)(+0000001): Loaded item relations in 2 ms
(4)(+0000001): SELECT itemID AS id, fieldID, value FROM itemData JOIN itemDataValues USING (valueID) WHERE fieldID IN (?, ?) [58, 16]
(1)(+0000026): Error: cleanDOI: argument must be a string Error: cleanDOI: argument must be a string cleanDOI@chrome://zotero/content/xpcom/utilities/utilities.js:407:15 _cacheKeyMappings@chrome://zotero/content/xpcom/retractions.js:773:21 From previous event: ZoteroService@file:///C:/Program%20Files%20(x86)/Zotero/components/zotero-service.js:346:7 @chrome://zotero/content/include.js:4:14
(4)(+0000003): REPLACE INTO settings VALUES ('db', 'integrityCheck', 1)
[…]
(3)(+0098002): HTTP POST "version => 6.0.1, platform => …" (15464 chars) to https://repo.zotero.org/repo/report?debug=1
var doiFieldID = Zotero.ItemFields.getID('DOI');
var extraFieldID = Zotero.ItemFields.getID('extra');
var sql = "SELECT itemID AS id, fieldID, value FROM itemData "
+ "JOIN itemDataValues USING (valueID) WHERE fieldID IN (?, ?)";
var rows = await Zotero.DB.queryAsync(
sql,
[
doiFieldID,
extraFieldID
]
);
for (let row of rows) {
if (row.fieldID != doiFieldID) {
let { doi, pmid } = Zotero.Retractions._extractExtraFields(row.value);
if (doi) {
let value;
try {
value = Zotero.Utilities.cleanDOI(doi);
}
catch (e) {
return `DOI ${doi}, value ${value} ${typeof value}`;
}
}
}
}
the result
var doiFieldID = Zotero.ItemFields.getID('DOI');
var extraFieldID = Zotero.ItemFields.getID('extra');
var sql = "SELECT itemID AS id, fieldID, value FROM itemData "
+ "JOIN itemDataValues USING (valueID) WHERE fieldID IN (?, ?)";
var rows = await Zotero.DB.queryAsync(
sql,
[
doiFieldID,
extraFieldID
]
);
for (let row of rows) {
if (row.fieldID == doiFieldID) {
let value;
try {
value = Zotero.Utilities.cleanDOI(row.value);
}
catch (e) {
return `Value: ${row.value}`;
}
}
}
result
That will temporarily disable retracted-item checking but will fix this. We'll let you know when you can turn that back on.
Once you've done that, you can set
extensions.zotero.retractions.enabled
back to true.