Jabref 2.10 installed from debian stretch gives error while starting

i have installed jabref ( jabref (2.10+ds-7)) from debian stretch (clean) and use databases from previous version.
Java Version: 1.8.0_111
Java Vendor: Oracle Corporation
Operating System: Linux (4.8.0-1-amd64)
Hardware Architecture: amd64

i get the error messages:
java.lang.NoSuchFieldError: DIALOG at net.sf.jabref.gui.CleanUpAction.initOptionsPanel(CleanUpAction.java:140) at net.sf.jabref.gui.CleanUpAction. (CleanUpAction.java:112) at net.sf.jabref.BasePanel.setupActions(BasePanel.java:348) at net.sf.jabref.BasePanel.init(BasePanel.java:276) at net.sf.jabref.BasePanel. (BasePanel.java:257) at net.sf.jabref.JabRefFrame.addTab(JabRefFrame.java:1745) at net.sf.jabref.JabRefFrame.addParserResult(JabRefFrame.java:1502) at net.sf.jabref.JabRef.openWindow(JabRef.java:790) at net.sf.jabref.JabRef. (JabRef.java:201) at net.sf.jabref.JabRef.main(JabRef.java:84) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.sf.jabref.JabRefMain.main(Unknown Source)

and jabref does not work. what could be wrong?
thank you for help

Hi Andrew,

JabRef 2.10 is quite old and a lot has happened since then. My suggestion would be to use a more recent version, such as 3.7, and see if the problem persists. You can get it from here: https://www.fosshub.com/JabRef.html It could very well be the case that whatever causes your issue is fixed in a newer version.

Regards
Joerg

thank you for the information. i downloaded and it starts ok - but i cannot quit (nor close the window). any hint what is wrong?

Hm, hard to tell. Is there any information shown in your error console (Help -> Show error console)?

the error console in exceptions i find (the last entry):

Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException: missing event subscriber for an annotated method. Is net.sf.jabref.logic.autosaveandbackup.BackupManager@5fa93a28 registered?
    at com.google.common.eventbus.SubscriberRegistry.unregister(SubscriberRegistry.java:111)
    at com.google.common.eventbus.EventBus.unregister(EventBus.java:201)
    at net.sf.jabref.model.database.BibDatabase.unregisterListener(BibDatabase.java:579)
    at net.sf.jabref.logic.autosaveandbackup.BackupManager.shutdown(BackupManager.java:94)
    at net.sf.jabref.logic.autosaveandbackup.BackupManager.lambda$shutdown$1(BackupManager.java:141)
    at java.util.Optional.ifPresent(Optional.java:159)
    at net.sf.jabref.logic.autosaveandbackup.BackupManager.shutdown(BackupManager.java:140)
    at net.sf.jabref.gui.JabRefFrame.quit(JabRefFrame.java:856)
    at net.sf.jabref.gui.JabRefFrame$CloseAction.actionPerformed(JabRefFrame.java:1772)
    at net.sf.jabref.gui.JabRefFrame$2.windowClosing(JabRefFrame.java:600)
    at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:349)
    at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:349)
    at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:349)
    at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:349)
    at java.awt.Window.processWindowEvent(Window.java:2054)
    at javax.swing.JFrame.processWindowEvent(JFrame.java:305)
    at java.awt.Window.processEvent(Window.java:2013)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

i assume this is produced by the “quit” command i used last.
does this help?
thank you for your help!
andrew

ps. the error console cannot be resized and does show only the left half and some part. it would be desirable, if it where possible to “clear” it, so one can see the errors of a specific command.

Yes, this does help, thanks!

Actually it looks like a bug and there is a high chance that is what prevents your JabRef from closing. I opened a ticket in JabRefs issue tracker for this: https://github.com/JabRef/jabref/issues/2336

Unfortunately, I cannot give you a fix for this right now, but we will look into it. You should nevertheless be able to save the file normally. If JabRef refuses to close, you can kill the process manually.

The functionality referenced in your stacktrace works just fine on Windows and other Linux derivates, so I am unsure why it fails on your system.

as i probably mentioned, i have a clean stretch (i.e. instable) installation, not the regular jessie version. i assume that there may be a discrepancy between the new debian version and jabref. i hope it can be fixed before stretch is released.
again, thank you for the help.

I tried to fix your problem. Could you please try out the version from builds.jabref.org and choose fix2336/.

perfect - it did quit without an error message.

nearly perfect: the window closes, but it does not release the process; i started in a window and i did not get back to the prompt.

(additionally i see two warnings at the beginning:
WARN net.sf.jabref.logic.util.Version - Invalid version string used: 3.6–snapshot–2016-11-23–debian_3.6–a3f779a
java.lang.NumberFormatException: For input string: “6–snapshot–2016-11-23–debian_3”

WARN net.sf.jabref.JabRefGUI - There seem to be problems with OpenJDK and the default GTK Look&Feel. Using Metal L&F instead. Change to another L&F with caution.

thank you!