Jabref cannot complete "save" of database, error in log

Hello,
JabRef 3.7-dev–snapshot–2016-11-01–master–458ee79
windows 10 10.0 amd64
Java 1.8.0_102

Edit: Troubleshooting indicates it is an issue surrounding blank bibtex keys. In preferences, I do have jabref set to “generate keys for imported entries”, and also to “generate keys before saving (for entries without a key)”. This might be where it is getting hung up. There were a couple of entries without keys, and after setting keys, everything saved fine.

I’ve been having this problem since using the development snapshots as a way to resolve the search/edit issue. This issue only occurs when importing from another database. In other words, I open database A, try to import from database B, and cannot save changes to A; if I open database A, make an entry/change, I can save, but the moment I try to save after an import, I get an error.

Workflow: select the desired entries, import, click save, but the save does not complete. Attempting to exit JabRef, I’m prompted to either save, discard, or return to JabRef. Database is local, not shared. Error in the log:

[AWT-EventQueue-0] ERROR net.sf.jabref.gui.BasePanel - runCommand error: No value present
java.util.NoSuchElementException: No value present
	at java.util.Optional.get(Unknown Source) ~[?:1.8.0_102]
	at net.sf.jabref.gui.BasePanel.autoGenerateKeysBeforeSaving(BasePanel.java:1922) ~[JabRef-3.7-dev--snapshot--2016-11-01--master--458ee79.jar:?]
	at net.sf.jabref.gui.exporter.SaveDatabaseAction.run(SaveDatabaseAction.java:124) ~[JabRef-3.7-dev--snapshot--2016-11-01--master--458ee79.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_102]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_102]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_102]
	at spin.Invocation.evaluate(Invocation.java:175) ~[JabRef-3.7-dev--snapshot--2016-11-01--master--458ee79.jar:?]
	at spin.off.SpinOffEvaluator$1.run(SpinOffEvaluator.java:108) ~[JabRef-3.7-dev--snapshot--2016-11-01--master--458ee79.jar:?]
	at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_102]

Another set of errors showed itself:

[pool-7-thread-1] ERROR net.sf.jabref.gui.autosave.AutosaveUIManager - Problem occured while saving.
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(Unknown Source) ~[?:1.8.0_102]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_102]
at javax.swing.JTabbedPane.setTitleAt(Unknown Source) ~[?:1.8.0_102]
at net.sf.jabref.gui.JabRefFrame.setTabTitle(JabRefFrame.java:1023) ~[JabRef-3.7-dev–snapshot–2016-11-01–master–458ee79.jar:?]
at net.sf.jabref.gui.exporter.SaveDatabaseAction.update(SaveDatabaseAction.java:97) ~[JabRef-3.7-dev–snapshot–2016-11-01–master–458ee79.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_102]
at spin.Invocation.evaluate(Invocation.java:175) ~[JabRef-3.7-dev–snapshot–2016-11-01–master–458ee79.jar:?]
at spin.over.SpinOverEvaluator$1.run(SpinOverEvaluator.java:66) ~[JabRef-3.7-dev–snapshot–2016-11-01–master–458ee79.jar:?]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventQueue.access$500(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_102]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_102]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventQueue.dispatchEvent(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) ~[?:1.8.0_102]
at java.awt.EventDispatchThread.run(Unknown Source) ~[?:1.8.0_102]

This seems to be an issue. Could you please file an issue at https://github.com/JabRef/jabref/issues ?

Tested on 3.8-dev, still an issue.
Opened issue at
https://github.com/JabRef/jabref/issues/2285

Resolved in JabRef 3.8-dev–snapshot–2016-11-22–master–59742bf

Thank you again!

You’re welcome. Please consider giving back something as we are a team of volunteers. We offer points for contributions at https://help.jabref.org/en/FAQcontributing