koppor / jabref

Collection of simple for JabRef issues. Please submit PRs to https://github.com/jabRef/jabref/.
https://github.com/jabRef/jabref/
MIT License
8 stars 13 forks source link

IndexOutOfBoundsException when changing to an empty group with opened EntryEditor #580

Open koppor opened 2 years ago

koppor commented 2 years ago
  1. I added a PDF of a paper
  2. Then, I swithced to an empty (!) group
  3. Then, an exception is displayed

grafik

Maybe, JabRef cannot deal with the case if there is no entry in a group and the entry editor should be closed?

JabRef as of https://github.com/JabRef/jabref/commit/0c96007c0a7e7cb317fb6296e180bfe3caa46c9f

java.util.NoSuchElementException: java.lang.IndexOutOfBoundsException
    at java.base/java.util.AbstractList$Itr.next(AbstractList.java:377)
    at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
    at org.jabref@100.0.0/org.jabref.gui.maintable.MainTable.getSelectedEntries(MainTable.java:434)
    at org.jabref@100.0.0/org.jabref.gui.LibraryTab.lambda$createMainTable$15(LibraryTab.java:489)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList.lambda$new$0(SelectedItemsReadOnlyObservableList.java:91)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList._endChange(ReadOnlyUnbackedObservableList.java:64)
    at javafx.controls@18/javafx.scene.control.MultipleSelectionModelBase$SelectedIndicesList._endChange(MultipleSelectionModelBase.java:918)
    at javafx.controls@18/javafx.scene.control.ControlUtils.updateSelectedIndices(ControlUtils.java:208)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.fireCustomSelectedCellsListChangeEvent(TableView.java:3027)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.clearSelection(TableView.java:2803)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.updateDefaultSelection(TableView.java:2992)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.lambda$new$2(TableView.java:2181)
    at javafx.base@18/javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.transformation.SortedList.sourceChanged(SortedList.java:114)
    at javafx.base@18/javafx.collections.transformation.TransformationList.lambda$getListener$0(TransformationList.java:106)
    at javafx.base@18/javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.transformation.FilteredList.refilter(FilteredList.java:338)
    at javafx.base@18/javafx.collections.transformation.FilteredList$1.invalidated(FilteredList.java:102)
    at javafx.base@18/javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
    at javafx.base@18/javafx.beans.property.ObjectPropertyBase$Listener.invalidated(ObjectPropertyBase.java:234)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:136)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
    at javafx.base@18/javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:176)
    at javafx.base@18/com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:52)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.notifyListeners(ListExpressionHelper.java:584)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.fireValueChangedEvent(ListExpressionHelper.java:548)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper.fireValueChangedEvent(ListExpressionHelper.java:103)
    at javafx.base@18/javafx.beans.property.ReadOnlyListPropertyBase.fireValueChangedEvent(ReadOnlyListPropertyBase.java:94)
    at javafx.base@18/javafx.beans.property.ReadOnlyListWrapper.fireValueChangedEvent(ReadOnlyListWrapper.java:106)
    at javafx.base@18/javafx.beans.property.ListPropertyBase.markInvalid(ListPropertyBase.java:221)
    at javafx.base@18/javafx.beans.property.ListPropertyBase$Listener.invalidated(ListPropertyBase.java:336)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:136)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
    at javafx.base@18/javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:176)
    at javafx.base@18/com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:52)
    at javafx.base@18/com.sun.javafx.collections.MapListenerHelper$SingleInvalidation.fireValueChangedEvent(MapListenerHelper.java:125)
    at javafx.base@18/com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(MapListenerHelper.java:72)
    at javafx.base@18/com.sun.javafx.collections.ObservableMapWrapper.callObservers(ObservableMapWrapper.java:115)
    at javafx.base@18/com.sun.javafx.collections.ObservableMapWrapper.put(ObservableMapWrapper.java:169)
    at org.jabref@100.0.0/org.jabref.gui.StateManager.setSelectedGroups(StateManager.java:111)
    at org.jabref@100.0.0/org.jabref.gui.groups.GroupTreeViewModel.lambda$onSelectedGroupChanged$3(GroupTreeViewModel.java:105)
    at java.base/java.util.Optional.ifPresent(Optional.java:178)
    at org.jabref@100.0.0/org.jabref.gui.groups.GroupTreeViewModel.onSelectedGroupChanged(GroupTreeViewModel.java:101)
    at com.tobiasdiez.easybind@2.2/com.tobiasdiez.easybind.EasyBind.lambda$subscribe$1(EasyBind.java:493)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.notifyListeners(ListExpressionHelper.java:588)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.fireValueChangedEvent(ListExpressionHelper.java:571)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper.fireValueChangedEvent(ListExpressionHelper.java:109)
    at javafx.base@18/javafx.beans.property.ListPropertyBase.fireValueChangedEvent(ListPropertyBase.java:201)
    at javafx.base@18/javafx.beans.property.ListPropertyBase.lambda$new$0(ListPropertyBase.java:57)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.base@18/javafx.collections.ModifiableObservableListBase.setAll(ModifiableObservableListBase.java:98)
    at javafx.base@18/javafx.beans.binding.ListExpression.setAll(ListExpression.java:378)
    at org.jabref@100.0.0/org.jabref.gui.groups.GroupTreeView.updateSelection(GroupTreeView.java:361)
    at org.jabref@100.0.0/org.jabref.gui.util.BindingsHelper$BidirectionalListBinding.onChanged(BindingsHelper.java:265)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList.lambda$new$0(SelectedItemsReadOnlyObservableList.java:91)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList._endChange(ReadOnlyUnbackedObservableList.java:64)
    at javafx.controls@18/javafx.scene.control.MultipleSelectionModelBase$SelectedIndicesList._endChange(MultipleSelectionModelBase.java:918)
    at javafx.controls@18/javafx.scene.control.ControlUtils.updateSelectedIndices(ControlUtils.java:208)
    at javafx.controls@18/javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.fireCustomSelectedCellsListChangeEvent(TreeTableView.java:3369)
    at javafx.controls@18/javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.clearAndSelect(TreeTableView.java:2831)
    at javafx.controls@18/com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.simpleSelect(TableCellBehaviorBase.java:213)
    at javafx.controls@18/com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.doSelect(TableCellBehaviorBase.java:195)
    at javafx.controls@18/com.sun.javafx.scene.control.behavior.CellBehaviorBase.mousePressed(CellBehaviorBase.java:176)
    at javafx.controls@18/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
    at javafx.base@18/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
    at javafx.base@18/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
    at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at javafx.base@18/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at javafx.base@18/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.base@18/javafx.event.Event.fireEvent(Event.java:198)
    at javafx.graphics@18/javafx.scene.Scene$MouseHandler.process(Scene.java:3881)
    at javafx.graphics@18/javafx.scene.Scene.processMouseEvent(Scene.java:1874)
    at javafx.graphics@18/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2607)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
    at javafx.graphics@18/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
    at javafx.graphics@18/com.sun.glass.ui.View.notifyMouse(View.java:937)
    at javafx.graphics@18/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics@18/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IndexOutOfBoundsException
    at javafx.base@18/javafx.collections.transformation.SortedList.get(SortedList.java:168)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewSelectionModel.getModelItem(TableView.java:2033)
    at javafx.controls@18/javafx.scene.control.MultipleSelectionModelBase$1.getModelItem(MultipleSelectionModelBase.java:74)
    at javafx.controls@18/com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList.get(SelectedItemsReadOnlyObservableList.java:100)
    at java.base/java.util.AbstractList$Itr.next(AbstractList.java:371)
    ... 142 more

java.util.NoSuchElementException: java.lang.IndexOutOfBoundsException
    at java.base/java.util.AbstractList$Itr.next(AbstractList.java:377)
    at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
    at org.jabref@100.0.0/org.jabref.gui.maintable.MainTable.getSelectedEntries(MainTable.java:434)
    at org.jabref@100.0.0/org.jabref.gui.LibraryTab.lambda$createMainTable$14(LibraryTab.java:486)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList.lambda$new$0(SelectedItemsReadOnlyObservableList.java:91)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList._endChange(ReadOnlyUnbackedObservableList.java:64)
    at javafx.controls@18/javafx.scene.control.MultipleSelectionModelBase$SelectedIndicesList._endChange(MultipleSelectionModelBase.java:918)
    at javafx.controls@18/javafx.scene.control.ControlUtils.updateSelectedIndices(ControlUtils.java:208)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.fireCustomSelectedCellsListChangeEvent(TableView.java:3027)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.clearSelection(TableView.java:2803)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.updateDefaultSelection(TableView.java:2992)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewArrayListSelectionModel.lambda$new$2(TableView.java:2181)
    at javafx.base@18/javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.transformation.SortedList.sourceChanged(SortedList.java:114)
    at javafx.base@18/javafx.collections.transformation.TransformationList.lambda$getListener$0(TransformationList.java:106)
    at javafx.base@18/javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.transformation.FilteredList.refilter(FilteredList.java:338)
    at javafx.base@18/javafx.collections.transformation.FilteredList$1.invalidated(FilteredList.java:102)
    at javafx.base@18/javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
    at javafx.base@18/javafx.beans.property.ObjectPropertyBase$Listener.invalidated(ObjectPropertyBase.java:234)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:136)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
    at javafx.base@18/javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:176)
    at javafx.base@18/com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:52)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.notifyListeners(ListExpressionHelper.java:584)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.fireValueChangedEvent(ListExpressionHelper.java:548)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper.fireValueChangedEvent(ListExpressionHelper.java:103)
    at javafx.base@18/javafx.beans.property.ReadOnlyListPropertyBase.fireValueChangedEvent(ReadOnlyListPropertyBase.java:94)
    at javafx.base@18/javafx.beans.property.ReadOnlyListWrapper.fireValueChangedEvent(ReadOnlyListWrapper.java:106)
    at javafx.base@18/javafx.beans.property.ListPropertyBase.markInvalid(ListPropertyBase.java:221)
    at javafx.base@18/javafx.beans.property.ListPropertyBase$Listener.invalidated(ListPropertyBase.java:336)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:136)
    at javafx.base@18/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
    at javafx.base@18/javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:176)
    at javafx.base@18/com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:52)
    at javafx.base@18/com.sun.javafx.collections.MapListenerHelper$SingleInvalidation.fireValueChangedEvent(MapListenerHelper.java:125)
    at javafx.base@18/com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(MapListenerHelper.java:72)
    at javafx.base@18/com.sun.javafx.collections.ObservableMapWrapper.callObservers(ObservableMapWrapper.java:115)
    at javafx.base@18/com.sun.javafx.collections.ObservableMapWrapper.put(ObservableMapWrapper.java:169)
    at org.jabref@100.0.0/org.jabref.gui.StateManager.setSelectedGroups(StateManager.java:111)
    at org.jabref@100.0.0/org.jabref.gui.groups.GroupTreeViewModel.lambda$onSelectedGroupChanged$3(GroupTreeViewModel.java:105)
    at java.base/java.util.Optional.ifPresent(Optional.java:178)
    at org.jabref@100.0.0/org.jabref.gui.groups.GroupTreeViewModel.onSelectedGroupChanged(GroupTreeViewModel.java:101)
    at com.tobiasdiez.easybind@2.2/com.tobiasdiez.easybind.EasyBind.lambda$subscribe$1(EasyBind.java:493)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.notifyListeners(ListExpressionHelper.java:588)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper$Generic.fireValueChangedEvent(ListExpressionHelper.java:571)
    at javafx.base@18/com.sun.javafx.binding.ListExpressionHelper.fireValueChangedEvent(ListExpressionHelper.java:109)
    at javafx.base@18/javafx.beans.property.ListPropertyBase.fireValueChangedEvent(ListPropertyBase.java:201)
    at javafx.base@18/javafx.beans.property.ListPropertyBase.lambda$new$0(ListPropertyBase.java:57)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.base@18/javafx.collections.ModifiableObservableListBase.setAll(ModifiableObservableListBase.java:98)
    at javafx.base@18/javafx.beans.binding.ListExpression.setAll(ListExpression.java:378)
    at org.jabref@100.0.0/org.jabref.gui.groups.GroupTreeView.updateSelection(GroupTreeView.java:361)
    at org.jabref@100.0.0/org.jabref.gui.util.BindingsHelper$BidirectionalListBinding.onChanged(BindingsHelper.java:265)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList.lambda$new$0(SelectedItemsReadOnlyObservableList.java:91)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.controls@18/com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList._endChange(ReadOnlyUnbackedObservableList.java:64)
    at javafx.controls@18/javafx.scene.control.MultipleSelectionModelBase$SelectedIndicesList._endChange(MultipleSelectionModelBase.java:918)
    at javafx.controls@18/javafx.scene.control.ControlUtils.updateSelectedIndices(ControlUtils.java:208)
    at javafx.controls@18/javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.fireCustomSelectedCellsListChangeEvent(TreeTableView.java:3369)
    at javafx.controls@18/javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.clearAndSelect(TreeTableView.java:2831)
    at javafx.controls@18/com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.simpleSelect(TableCellBehaviorBase.java:213)
    at javafx.controls@18/com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.doSelect(TableCellBehaviorBase.java:195)
    at javafx.controls@18/com.sun.javafx.scene.control.behavior.CellBehaviorBase.mousePressed(CellBehaviorBase.java:176)
    at javafx.controls@18/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
    at javafx.base@18/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
    at javafx.base@18/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
    at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at javafx.base@18/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base@18/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at javafx.base@18/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.base@18/javafx.event.Event.fireEvent(Event.java:198)
    at javafx.graphics@18/javafx.scene.Scene$MouseHandler.process(Scene.java:3881)
    at javafx.graphics@18/javafx.scene.Scene.processMouseEvent(Scene.java:1874)
    at javafx.graphics@18/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2607)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
    at javafx.graphics@18/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
    at javafx.graphics@18/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
    at javafx.graphics@18/com.sun.glass.ui.View.notifyMouse(View.java:937)
    at javafx.graphics@18/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics@18/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IndexOutOfBoundsException
    at javafx.base@18/javafx.collections.transformation.SortedList.get(SortedList.java:168)
    at javafx.controls@18/javafx.scene.control.TableView$TableViewSelectionModel.getModelItem(TableView.java:2033)
    at javafx.controls@18/javafx.scene.control.MultipleSelectionModelBase$1.getModelItem(MultipleSelectionModelBase.java:74)
    at javafx.controls@18/com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList.get(SelectedItemsReadOnlyObservableList.java:100)
    at java.base/java.util.AbstractList$Itr.next(AbstractList.java:371)
    ... 142 more
ThiloteE commented 1 year ago

Tried to reproduce. To no avail.

ThiloteE commented 1 year ago

Probably depends on

https://bugs.openjdk.org/browse/JDK-8248217 https://bugs.openjdk.org/browse/JDK-8090563