Skip to content

Group: icon picker causes uncaught exception #8094

@mlep

Description

@mlep

JabRef version

Latest development branch build (please note build date below)

Operating system

GNU / Linux

Details on version and operating system

JabRef 5.4--2021-09-22--e9d845b Linux 4.19.0-17-amd64 amd64 Java 16.0.2 JavaFX 17+18

Checked with the latest development build

  • I made a backup of my libraries before testing the latest development version.
  • I have tested the latest development version and the problem persists

Steps to reproduce the behaviour

  1. Right-click on a group name and select the menu Modify group
  2. Click on the icon picker
    ==> An exception is raised (see details below).

Clicking on OK and closing the Modify group window causes the opening of 4 windows entitled Exception details and having a blank content. At this point, JabRef has to be killed.

Appendix

...

Exception details ``` java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.jabref.merged.module@5.4.219/javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.event.Event.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Node.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.Button.fire(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.control.inputmap.InputMap.handle(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.event.Event.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene$MouseHandler.process(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene.processMouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source) at org.jabref.merged.module@5.4.219/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.4.219/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.View.handleMouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.View.notifyMouse(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.gtk.GtkApplication.enterNestedEventLoopImpl(Native Method) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.gtk.GtkApplication._enterNestedEventLoop(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.Application.enterNestedEventLoop(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.EventLoop.enter(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.stage.Stage.showAndWait(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.HeavyweightDialog.showAndWait(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.Dialog.showAndWait(Unknown Source) at org.jabref@5.4.219/org.jabref.gui.JabRefDialogService.showCustomDialogAndWait(Unknown Source) at org.jabref@5.4.219/org.jabref.gui.groups.GroupTreeViewModel.lambda$editGroup$11(Unknown Source) at java.base/java.util.Optional.ifPresent(Unknown Source) at org.jabref@5.4.219/org.jabref.gui.groups.GroupTreeViewModel.editGroup(Unknown Source) at org.jabref@5.4.219/org.jabref.gui.groups.GroupTreeView.lambda$createContextMenuForGroup$21(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.event.Event.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.MenuItem.fire(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.event.Event.fireEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene$MouseHandler.process(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene.processMouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source) at org.jabref.merged.module@5.4.219/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.4.219/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.View.handleMouseEvent(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.View.notifyMouse(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at org.jabref.merged.module@5.4.219/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javafx.reflect.Trampoline.invoke(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.reflect.MethodUtil.invoke(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.fxml.MethodHelper.invoke(Unknown Source) ... 98 more Caused by: java.lang.NullPointerException: Cannot invoke "javafx.scene.control.IndexedCell.updateIndex(int)" because "" is null at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.setCellIndex(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.getCell(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.recalculateAndImproveEstimatedSize(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.recalculateEstimatedSize(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.layoutChildren(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow$5.invalidated(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.beans.property.IntegerPropertyBase.markInvalid(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.beans.property.IntegerPropertyBase.set(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.skin.VirtualFlow.setCellCount(Unknown Source) at org.jabref.merged.module@5.4.219/impl.org.controlsfx.skin.GridViewSkin.updateItemCount(Unknown Source) at org.jabref.merged.module@5.4.219/impl.org.controlsfx.skin.GridViewSkin.updateGridViewItems(Unknown Source) at org.jabref.merged.module@5.4.219/impl.org.controlsfx.skin.GridViewSkin.(Unknown Source) at org.jabref.merged.module@5.4.219/org.controlsfx.control.GridView.createDefaultSkin(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.Control.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.Control$1.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.NodeHelper.processCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent$1.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.ParentHelper.processCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.NodeHelper.processCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent$1.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.ParentHelper.processCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.NodeHelper.processCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent$1.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.ParentHelper.processCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.NodeHelper.processCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent$1.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.ParentHelper.processCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.PopupControl$CSSBridgeHelper.superProcessCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.PopupControl$CSSBridgeHelper.superProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.PopupControl$CSSBridge.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.control.PopupControl$CSSBridgeHelper.processCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.NodeHelper.processCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Parent$1.doProcessCSS(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.ParentHelper.processCSSImpl(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.NodeHelper.processCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Node.processCSS(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene.doCSSPass(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene.preferredSize(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.scene.Scene$2.preferredSize(Unknown Source) at org.jabref.merged.module@5.4.219/com.sun.javafx.scene.SceneHelper.preferredSize(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.stage.Window$12.invalidated(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.beans.property.BooleanPropertyBase.markInvalid(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.beans.property.BooleanPropertyBase.set(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.stage.Window.setShowing(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.stage.Window.show(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.stage.PopupWindow.showImpl(Unknown Source) at org.jabref.merged.module@5.4.219/javafx.stage.PopupWindow.show(Unknown Source) at org.jabref.merged.module@5.4.219/org.controlsfx.control.PopOver.show(Unknown Source) at org.jabref.merged.module@5.4.219/org.controlsfx.control.PopOver.show(Unknown Source) at org.jabref.merged.module@5.4.219/org.controlsfx.control.PopOver.show(Unknown Source) at org.jabref.merged.module@5.4.219/org.controlsfx.control.PopOver.show(Unknown Source) at org.jabref@5.4.219/org.jabref.gui.groups.GroupDialogView.openIconPicker(Unknown Source) ... 108 more
</details>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions