JabRef 3.8.1-dev
windows 7 6.1 amd64
Java 1.8.0_92
External changes mean that JabRef will no longer shut down normally and you have to force kill the process.
Steps to reproduce:
- Open a database in JabRef
- Change the file externally
- JabRef notices external changes
- Review and accept all external changes
- Try closing the window (click on X). JabRef refuses to shut down and the following message appears in the error console.
14:38:15.275 [AWT-EventQueue-0] INFO net.sf.jabref.logic.importer.OpenDatabase - Opening: \\nas-a1\redirected$\jorglenh\Desktop\test.bib
14:38:39.993 [AWT-EventQueue-0] ERROR net.sf.jabref.FallbackExceptionHandler - Uncaught exception Occurred in Thread[AWT-EventQueue-0,6,main]
java.lang.IllegalArgumentException: missing event subscriber for an annotated method. Is net.sf.jabref.logic.autosaveandbackup.BackupManager@7772aed registered?
at com.google.common.eventbus.SubscriberRegistry.unregister(SubscriberRegistry.java:111) ~[guava-20.0.jar:?]
at com.google.common.eventbus.EventBus.unregister(EventBus.java:201) ~[guava-20.0.jar:?]
at net.sf.jabref.model.metadata.MetaData.unregisterListener(MetaData.java:257) ~[main/:?]
at net.sf.jabref.logic.autosaveandbackup.BackupManager.shutdown(BackupManager.java:149) ~[main/:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_92]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_92]
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1548) ~[?:1.8.0_92]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_92]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_92]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_92]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_92]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_92]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_92]
at net.sf.jabref.logic.autosaveandbackup.BackupManager.shutdown(BackupManager.java:85) ~[main/:?]
at net.sf.jabref.gui.JabRefFrame.quit(JabRefFrame.java:859) ~[main/:?]
at net.sf.jabref.gui.JabRefFrame$CloseAction.actionPerformed(JabRefFrame.java:1778) ~[main/:?]
at net.sf.jabref.gui.JabRefFrame$2.windowClosing(JabRefFrame.java:604) ~[main/:?]
at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:349) ~[?:1.8.0_92]
at java.awt.Window.processWindowEvent(Window.java:2054) ~[?:1.8.0_92]
at javax.swing.JFrame.processWindowEvent(JFrame.java:305) ~[?:1.8.0_92]
at java.awt.Window.processEvent(Window.java:2013) ~[?:1.8.0_92]
at java.awt.Component.dispatchEventImpl(Component.java:4889) ~[?:1.8.0_92]
at java.awt.Container.dispatchEventImpl(Container.java:2294) ~[?:1.8.0_92]
at java.awt.Window.dispatchEventImpl(Window.java:2746) ~[?:1.8.0_92]
at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_92]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[?:1.8.0_92]
at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_92]
at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_92]
at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_92]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_92]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) ~[?:1.8.0_92]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:1.8.0_92]
at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_92]
at java.awt.EventQueue$4.run(EventQueue.java:729) ~[?:1.8.0_92]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_92]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) ~[?:1.8.0_92]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_92]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_92]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_92]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_92]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_92]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_92]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_92]
JabRef 3.8.1-dev
windows 7 6.1 amd64
Java 1.8.0_92
External changes mean that JabRef will no longer shut down normally and you have to force kill the process.
Steps to reproduce: