Menu

Error When Updating Bibliographic Entry Manager

2024-07-11
2024-09-21
  • Danny Weltman

    Danny Weltman - 2024-07-11

    Months ago something happened - I think maybe I lost my Internet connection partway through syncing the bibliographic entry manager with Zotero, or maybe something else happened (it was a while ago). Anyways since then every time I sync the manager I get this error:

    Attempt(s) to upload changes to server failed:
    Unchanged: HIV6TR46

    As far as I can tell there is no thing with that item key in the bibliographic entry manager.

     
  • Jason Winning

    Jason Winning - 2024-07-11

    I have seen that happen before. Starting with version 1.27.1, when an entry is unchanged when synching with Zotero, it is supposed to show a merge window after displaying that message (it gives you the chance to restore that entry to be the same as what is on the server, and stop getting the message). Are you on v1.27.1, and if so, are you seeing that?

     
  • Danny Weltman

    Danny Weltman - 2024-07-11

    I am on 1.27.1. I think maybe I saw that merge window once (or more than once? if I saw it I think I saw it once) but either I had no idea what was going on or I did but I clicked some stuff and I guess it didn't work. The merge window sounds vaguely familiar but I can't really remember what happened with it.

     
  • Danny Weltman

    Danny Weltman - 2024-07-11

    Actually I've made some progress. I searched the item key in Zotero and found the relevant work. It's also in the bibliographic entry manager but with no item key listed. (it's this if it matters: http://dx.doi.org/10.5840/soctheorpract2021413122)

    Not sure what to do with this information though.

     
  • Danny Weltman

    Danny Weltman - 2024-07-11

    Another update: I have that work in Hypernomicon but it's not associated with that bibliographic entry. In the bibliographic entry manager I tried assigning it to the existing work record. It brought up the merge screen and I clicked OK but it doesn't associate the entry with the work.

     
    • Jason Winning

      Jason Winning - 2024-07-12

      Does that entry definitely exist in Zotero? I mean when you look at your library on the Zotero website or the Zotero desktop app. If so, is there anything different between the entry on Zotero versus the information for that entry in the Bibliographic Entry Manager?

       
  • Danny Weltman

    Danny Weltman - 2024-07-12

    Yes, it's definitely in Zotero (I use the desktop program). I don't see any differences between Zotero and what shows up in the Bibliographic Entry Manager. The title, author, item type, publication, volume, issue, pages, date, DOI, ISSN, and URL all seem to be the same. Hypernomicon doesn't have any other info and Zotero only has date added and date modified in addition to that info. If I search HIV6TR46 in Zotero that thing turns up, although I can't see in Zotero where HIV6TR46 is attached to that entry.

     
    • Jason Winning

      Jason Winning - 2024-07-13

      So it sounds like you have 2 problems:
      1. Anytime you sync the entry with Zotero, it is saying it tried to sync the Kwan entry and Zotero says the result is that the entry was "Unchanged" (which is bad because it means Hypernomicon thinks its version is different from Zotero but Zotero says the Hypernomicon version wasn't different).
      2. Anytime you try to associate that entry with a work record, you click OK in the merge window but the result is the entry continues to not be associated with the work record.

      Is that right?

      The first issue should be benign. It either means Hypernomicon is incorrectly judging the entry to have diverged from the Zotero version (Hypernomicon does not try to sync an entry if it thinks it hasn't diverged from the Zotero version; it maintains a local copy of the Zotero version for comparison) or Zotero is rejecting the change for some reason. But usually if Zotero is rejecting the change, it will return a failure reason (which you would see in the "Attempt to upload changes failed" popup), which it isn't in this case.

      The second issue is more mysterious, and I have not seen that happen before. You can try running Hypernomicon from the command line and see if an error is happening during the process. You will need to have java version 17 or greater, either JRE or JDK, installed. Then open a command window (window key + R, cmd.exe) and change to the Hypernomicon installation directory (e.g., "cd C:\Program Files\Hypernomicon"). Then do the command "java -jar Hypernomicon.jar" (see attached screenshot) which should run Hypernomicon in a separate window. Then try associating the entry with the work record again. If there is any output in the command window, copy and paste that to this thread.

      Then we might be able to figure out why the second issue is happening, and that could also help with investigating the first issue, assuming they are related.

       
  • Danny Weltman

    Danny Weltman - 2024-07-13

    Correct on both counts. Here's what the command window has when I try to associate it with the work record:

    PS C:\Apps\Media\Hypernomicon> java -jar Hypernomicon.jar
    Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "javafx.scene.layout.AnchorPane.setOnMouseEntered(javafx.event.EventHandler)" because "this.apBrowser" is null
    at org.hypernomicon.previewWindow.PDFJSWrapper.reloadBrowser(PDFJSWrapper.java:361)
    at org.hypernomicon.previewWindow.PDFJSWrapper.<init>(PDFJSWrapper.java:142)
    at org.hypernomicon.previewWindow.PDFJSWrapper.<init>(PDFJSWrapper.java:130)
    at org.hypernomicon.dialogs.SelectWorkDlgCtrlr.updatePreview(SelectWorkDlgCtrlr.java:521)
    at org.hypernomicon.dialogs.SelectWorkDlgCtrlr.lambda$new$8(SelectWorkDlgCtrlr.java:239)
    at org.hypernomicon.view.wrappers.HyperCB.lambda$new$3(HyperCB.java:191)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
    at org.hypernomicon.view.wrappers.HyperCB.lambda$new$4(HyperCB.java:191)
    at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:372)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:91)
    at javafx.beans.property.ReadOnlyObjectPropertyBase.fireValueChangedEvent(ReadOnlyObjectPropertyBase.java:80)
    at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(ReadOnlyObjectWrapper.java:102)
    at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:113)
    at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:147)
    at javafx.scene.control.SelectionModel.setSelectedItem(SelectionModel.java:105)
    at javafx.scene.control.ComboBox.lambda$new$0(ComboBox.java:253)
    at javafx.scene.control.ComboBox$ComboBoxSelectionModel.doAtomic(ComboBox.java:547)
    at javafx.scene.control.ComboBox.lambda$new$1(ComboBox.java:256)
    at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:192)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:91)
    at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:106)
    at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:113)
    at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:147)
    at javafx.scene.control.ComboBoxBase.setValue(ComboBoxBase.java:151)
    at org.hypernomicon.view.wrappers.HyperCB.select(HyperCB.java:294)
    at org.hypernomicon.view.wrappers.HyperCB.selectID(HyperCB.java:323)
    at org.hypernomicon.view.wrappers.HyperCB.selectIDofRecord(HyperCB.java:312)
    at org.hypernomicon.dialogs.SelectWorkDlgCtrlr.updateFields(SelectWorkDlgCtrlr.java:445)
    at org.hypernomicon.dialogs.SelectWorkDlgCtrlr.<init>(SelectWorkDlgCtrlr.java:412)
    at org.hypernomicon.dialogs.SelectWorkDlgCtrlr.<init>(SelectWorkDlgCtrlr.java:109)
    at org.hypernomicon.bib.BibManager.assign(BibManager.java:749)
    at org.hypernomicon.bib.BibManager.lambda$refresh$32(BibManager.java:868)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Node.fireEvent(Node.java:8917)
    at javafx.scene.control.Button.fire(Button.java:203)
    at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:207)
    at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$MouseHandler.process(Scene.java:3985)
    at javafx.scene.Scene.processMouseEvent(Scene.java:1891)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2709)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:430)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:551)
    at com.sun.glass.ui.View.notifyMouse(View.java:937)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
    at java.base/java.lang.Thread.run(Thread.java:1623)</init></init></init></init>

     
  • Jason Winning

    Jason Winning - 2024-07-13

    The NullPointerException above is unrelated and benign. The problem turned out to be a rare data corruption that can apparently happen when synching with Zotero; the root cause is probably a bug on the Zotero server. I have committed a fix to the GitHub repo to automatically repair the data corruption if it happens and prevent it from causing any problem in Hypernomicon. That fix will be in the next release.

    The benign, unrelated bug will be fixed in the next release also.

     

    Last edit: Jason Winning 2024-07-13

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.