Skip to content

Keygeneration after Paste to Bibtex source results in IndexOutOfBoundsException - Tabs no longer navigatable #3375

Closed
@Siedlerchr

Description

@Siedlerchr

Reproduced from this forum post

Windows, current master

  1. Add a new article entry
  2. Go to Source tab, paste some bibtex code onto it
  3. Press Keygeneration
  4. Select other entry in the main table
    Exception occurs:
    Tabs no longer clickable.

Exception seems to be triggerd by the updateSource in the EntryEditor

23:20:35.019 [pool-3-thread-1] ERROR org.jabref.FallbackExceptionHandler - Uncaught exception occurred in Thread[pool-3-thread-1,5,main]
java.lang.IndexOutOfBoundsException: [31, 32) is not a valid range within [0, 16)
	at org.reactfx.util.Lists.checkRange(Lists.java:128) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.Lists.checkRange(Lists.java:123) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.MemoizationListImpl.force(MemoizationList.java:118) ~[reactfx-2.0-M5.jar:?]
	at org.fxmisc.flowless.SizeTracker.lambda$new$4(SizeTracker.java:60) ~[flowless-0.5.2.jar:?]
	at org.reactfx.value.Val$2.computeValue(Val.java:705) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.getValue(ValBase.java:17) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.Val.lambda$combine$7(Val.java:584) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.Val$2.computeValue(Val.java:705) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.getValue(ValBase.java:17) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.Val.lambda$combine$10(Val.java:645) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.Val$2.computeValue(Val.java:705) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.getValue(ValBase.java:17) ~[reactfx-2.0-M5.jar:?]
	at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_152]
	at org.reactfx.value.FlatMapped.computeValue(FlatMapped.java:33) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.getValue(ValBase.java:17) ~[reactfx-2.0-M5.jar:?]
	at javafx.beans.property.BooleanPropertyBase$1.computeValue(BooleanPropertyBase.java:174) ~[jfxrt.jar:?]
	at javafx.beans.binding.BooleanBinding.get(BooleanBinding.java:157) ~[jfxrt.jar:?]
	at javafx.beans.property.BooleanPropertyBase.get(BooleanPropertyBase.java:130) ~[jfxrt.jar:?]
	at javafx.scene.Node$5.invalidated(Node.java:1153) ~[jfxrt.jar:?]
	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109) ~[jfxrt.jar:?]
	at javafx.beans.property.BooleanPropertyBase.access$000(BooleanPropertyBase.java:49) ~[jfxrt.jar:?]
	at javafx.beans.property.BooleanPropertyBase$Listener.invalidated(BooleanPropertyBase.java:245) ~[jfxrt.jar:?]
	at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137) ~[jfxrt.jar:?]
	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) ~[jfxrt.jar:?]
	at javafx.beans.binding.BooleanBinding.invalidate(BooleanBinding.java:176) ~[jfxrt.jar:?]
	at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:51) ~[jfxrt.jar:?]
	at org.reactfx.value.InvalidationListenerWrapper.accept(Val.java:765) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.AbstractReducingStreamNotifications.lambda$head$0(NotificationAccumulator.java:248) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.invalidate(ValBase.java:32) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.FlatMapped.selectedInvalidated(FlatMapped.java:54) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.FlatMapped.lambda$null$1(FlatMapped.java:41) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.InvalidationListenerWrapper.accept(Val.java:765) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.AbstractReducingStreamNotifications.lambda$head$0(NotificationAccumulator.java:248) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.invalidate(ValBase.java:32) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.Val$2.lambda$connect$0(Val.java:691) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.InvalidationListenerWrapper.accept(Val.java:765) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.AbstractReducingStreamNotifications.lambda$head$0(NotificationAccumulator.java:248) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.invalidate(ValBase.java:32) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.Val$2.lambda$connect$0(Val.java:691) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.InvalidationListenerWrapper.accept(Val.java:765) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.AbstractReducingStreamNotifications.lambda$head$0(NotificationAccumulator.java:248) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.invalidate(ValBase.java:32) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.OrElseConst.lambda$connect$0(OrElseConst.java:24) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.InvalidationListenerWrapper.accept(Val.java:765) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.AbstractReducingStreamNotifications.lambda$head$0(NotificationAccumulator.java:248) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.invalidate(ValBase.java:32) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.ListReduction.lambda$connect$0(ListReduction.java:53) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.LiveList.lambda$observeChanges$9(LiveList.java:268) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.ListNotifications.lambda$takeHead$0(NotificationAccumulator.java:317) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.MemoizationListImpl$MemoizedView.publishNotifications(MemoizationList.java:58) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.MemoizationListImpl$MemoizedView.access$300(MemoizationList.java:30) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.MemoizationListImpl.sourceChanged(MemoizationList.java:89) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.ListNotifications.lambda$takeHead$0(NotificationAccumulator.java:317) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.MappedList.sourceChanged(MappedList.java:41) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.ListNotifications.lambda$takeHead$0(NotificationAccumulator.java:317) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.MemoizationListImpl.sourceChanged(MemoizationList.java:88) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.ListNotifications.lambda$takeHead$0(NotificationAccumulator.java:317) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.collection.MappedList.sourceChanged(MappedList.java:41) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.ListNotifications.lambda$takeHead$0(NotificationAccumulator.java:317) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.SuspendableBase.resume(SuspendableBase.java:64) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.CloseableOnceGuard.close(Guard.java:49) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.MultiGuard.close(Guard.java:83) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.Suspendable$1.resumeSource(Suspendable.java:118) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.Suspendable$1.suspendSource(Suspendable.java:104) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.NonAccumulativeStreamNotifications.lambda$head$0(NotificationAccumulator.java:134) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ProperEventStream.emit(ProperEventStream.java:18) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.EventStreams$3.lambda$observeInputs$0(EventStreams.java:105) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ChangeListenerWrapper.accept(Val.java:786) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.util.AbstractReducingStreamNotifications.lambda$head$0(NotificationAccumulator.java:248) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:68) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.ObservableBase.notifyObservers(ObservableBase.java:57) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.value.ValBase.invalidate(ValBase.java:32) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.SuspendableBoolean.release(SuspendableBoolean.java:24) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.CloseableOnceGuard.close(Guard.java:49) ~[reactfx-2.0-M5.jar:?]
	at org.reactfx.Suspendable.suspendWhile(Suspendable.java:49) ~[reactfx-2.0-M5.jar:?]
	at org.fxmisc.richtext.model.GenericEditableStyledDocumentBase.update(GenericEditableStyledDocumentBase.java:222) ~[richtextfx-0.7-M5.jar:?]
	at org.reactfx.util.Tuple3.exec(Tuple3.java:43) ~[reactfx-2.0-M5.jar:?]
	at org.fxmisc.richtext.model.GenericEditableStyledDocumentBase.replace(GenericEditableStyledDocumentBase.java:129) ~[richtextfx-0.7-M5.jar:?]
	at org.fxmisc.richtext.model.SimpleEditableStyledDocument.replace(SimpleEditableStyledDocument.java:7) ~[richtextfx-0.7-M5.jar:?]
	at org.fxmisc.richtext.GenericStyledArea.replace(GenericStyledArea.java:1302) ~[richtextfx-0.7-M5.jar:?]
	at org.fxmisc.richtext.GenericStyledArea.replaceText(GenericStyledArea.java:1297) ~[richtextfx-0.7-M5.jar:?]
	at org.fxmisc.richtext.model.EditActions.insertText(EditActions.java:32) ~[richtextfx-0.7-M5.jar:?]
	at org.fxmisc.richtext.model.EditActions.appendText(EditActions.java:15) ~[richtextfx-0.7-M5.jar:?]
	at org.jabref.gui.entryeditor.SourceTab.updateSourcePane(SourceTab.java:69) ~[bin/:?]
	at org.jabref.gui.entryeditor.EntryEditor.lambda$4(EntryEditor.java:228) ~[bin/:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_152]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_152]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions