Uncaught exception occurred in Thread[#42,JavaFX Applicaiton Thread,5,main]

Hi there,

I connected to a PostgreSQL database via JabRef and made some changes that were somehow not synchronized with the database. Eventually, the connection broke and now I receive the error mentioned in the title when trying to reconnect (addition: the error message also tells me “in input string ‘keywords’”).

I tried to update JabRef (now running v5.13) and also Java (now v8 Update 411). My machine runs Windows 11 Pro (v23H2).

Any idea how to fix this?

Thanks in advance!

1 Like

Hi,

do you have the full stack trace available?
(JabRef ships with itsn own version of java)

Hi there,

the full stacktrace is as follows.

java.lang.NumberFormatException: For input string: "keywords"
	at java.base/java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.base/java.lang.Integer.parseInt(Unknown Source)
	at java.base/java.lang.Integer.parseInt(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.logic.importer.util.GroupsParser.keywordGroupFromString(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.logic.importer.util.GroupsParser.fromString(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.logic.importer.util.GroupsParser.importGroups(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.logic.importer.util.MetaDataParser.parse(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.logic.shared.DBMSSynchronizer.synchronizeLocalMetaData(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.logic.shared.DBMSSynchronizer.initializeDatabases(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.logic.shared.DBMSSynchronizer.openSharedDatabase(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.shared.SharedDatabaseUIManager.openNewSharedDatabaseTab(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.shared.SharedDatabaseLoginDialogViewModel.openSharedDatabase(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.shared.SharedDatabaseLoginDialogViewModel.openDatabase(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.shared.SharedDatabaseLoginDialogView.openDatabase(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.shared.SharedDatabaseLoginDialogView.lambda$new$0(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.util.ControlHelper.lambda$setAction$0(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventHandler$NormalEventFilterRecord.handleCapturingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventHandler.dispatchCapturingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.event.Event.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.Node.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.control.Button.fire(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.scene.control.inputmap.InputMap.handle(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.event.Event.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.Scene$MouseHandler.process(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.Scene.processMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.View.notifyMouse(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.win.WinApplication._enterNestedEventLoopImpl(Native Method)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.win.WinApplication._enterNestedEventLoop(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.Application.enterNestedEventLoop(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.EventLoop.enter(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.stage.Stage.showAndWait(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.control.HeavyweightDialog.showAndWait(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.control.Dialog.showAndWait(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.JabRefDialogService.showCustomDialogAndWait(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.shared.ConnectToSharedDatabaseCommand.execute(Unknown Source)
	at org.jabref@5.13.60000/org.jabref.gui.actions.JabRefAction.lambda$new$3(Unknown Source)
	at org.jabref.merged.module@5.13.60000/org.controlsfx.control.action.Action.handle(Unknown Source)
	at org.jabref.merged.module@5.13.60000/org.controlsfx.control.action.Action.handle(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.event.Event.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.control.MenuItem.fire(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.event.Event.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.Scene$MouseHandler.process(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.Scene.processMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.View.notifyMouse(Unknown Source)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at org.jabref.merged.module@5.13.60000/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
2 Likes

Do you have a local copy of the bib file because it seems like there is something wrong with the groups format which are stored at the end of the file. Especially a keyword group seems to be the problem here. There is probably one character off.

Yes, I have a copy of it. I tried to remove all keyword groups from the DB to see if it works but the error persists. Could it help if I deleted the grouping field entirely or will that likely cause an error?

I tried to remove all groups in the meantime but the error persists. Interestingly, I only get the error on two computers (macOS, MS Windows) while everything works just fine on my third computer (macOS). Any idea how to possibly fix this without setting up the DB again?

1 Like

When it works fine on your third computer, modify the groups .e.g just changing icon or color should be enough and let JabRef sync again then it should update the metadata.
All other clients need to reopen the library (switching between two libraries should be enough=