Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uncaught exceptions when genertaing citation keys (among other things) #7310

Closed
Linguista opened this issue Jan 7, 2021 · 3 comments
Closed

Comments

@Linguista
Copy link

Linguista commented Jan 7, 2021

JabRef 5.2--2020-11-26--f1a2fa7
Linux 5.4.0-050400-generic amd64
Java 15.0.1

I have tested the latest development version from http://builds.jabref.org/master/ and the problem persists.

JabRef throws uncaught exception errors when generating citation keys. Library is moderately big (~1600 entries). Messages is: Uncaught exception occurred in Thread[pool-3-thread-5,5,main].

Steps to reproduce the behavior:

  1. Select all bibliographic entries.
  2. Hit CTRL-G.
  3. Observe crash.

This does not crash JabRef, just the generation process. If you attempt to generate keys again, regardless of how many times, the unhandled exception may or may not occur on a given attempt.

java.lang.IllegalStateException: Not on FX application thread; currentThread = pool-3-thread-5
	at org.jabref.merged.module@5.2.298/com.sun.javafx.tk.Toolkit.checkFxUserThread(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.scene.Parent$3.onProposedChange(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.collections.VetoableListDecorator.setAll(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.collections.VetoableListDecorator.setAll(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.scene.control.skin.LabeledSkinBase.updateChildren(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.scene.control.skin.LabeledSkinBase.lambda$new$11(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.scene.control.LambdaMultiplePropertyChangeListenerHandler.lambda$new$1(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.value.WeakChangeListener.changed(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.markInvalid(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.set(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.set(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringProperty.setValue(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.scene.control.Labeled.setText(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.scene.control.skin.TabPaneSkin$TabHeaderSkin.lambda$new$2(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.scene.control.LambdaMultiplePropertyChangeListenerHandler.lambda$new$1(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.value.WeakChangeListener.changed(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.markInvalid(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.set(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringPropertyBase.set(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.StringProperty.setValue(Unknown Source)
	at org.jabref@5.2.298/org.jabref.gui.LibraryTab.updateTabTitle(Unknown Source)
	at com.tobiasdiez.easybind@2.1.0/com.tobiasdiez.easybind.EasyBind.lambda$subscribe$1(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.BooleanPropertyBase.markInvalid(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.BooleanPropertyBase.set(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.beans.property.BooleanProperty.setValue(Unknown Source)
	at org.jabref@5.2.298/org.jabref.gui.LibraryTab.listen(Unknown Source)
	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 org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber$1.run(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.util.concurrent.DirectExecutor.execute(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.EventBus.post(Unknown Source)
	at org.jabref@5.2.298/org.jabref.model.database.BibDatabase.relayEntryChangeEvent(Unknown Source)
	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 org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber$1.run(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.util.concurrent.DirectExecutor.execute(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Subscriber.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Unknown Source)
	at org.jabref.merged.module@5.2.298/com.google.common.eventbus.EventBus.post(Unknown Source)
	at org.jabref@5.2.298/org.jabref.model.entry.BibEntry.setField(Unknown Source)
	at org.jabref@5.2.298/org.jabref.model.entry.BibEntry.setField(Unknown Source)
	at org.jabref@5.2.298/org.jabref.model.entry.BibEntry.setCitationKey(Unknown Source)
	at org.jabref@5.2.298/org.jabref.logic.citationkeypattern.CitationKeyGenerator.generateAndSetKey(Unknown Source)
	at org.jabref@5.2.298/org.jabref.gui.citationkeypattern.GenerateCitationKeyAction.lambda$generateKeys$2(Unknown Source)
	at java.base/java.util.Optional.ifPresent(Unknown Source)
	at org.jabref@5.2.298/org.jabref.gui.citationkeypattern.GenerateCitationKeyAction.generateKeys(Unknown Source)
	at org.jabref@5.2.298/org.jabref.gui.util.BackgroundTask$2.call(Unknown Source)
	at org.jabref@5.2.298/org.jabref.gui.util.BackgroundTask$2.call(Unknown Source)
	at org.jabref@5.2.298/org.jabref.gui.util.DefaultTaskExecutor$1.call(Unknown Source)
	at org.jabref.merged.module@5.2.298/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
@Siedlerchr
Copy link
Member

Problem is: at org.jabref@5.2.298/org.jabref.gui.LibraryTab.updateTabTitle(Unknown Source) needs to be wrapped in FX thread

@k3KAW8Pnf7mkmdSMPHz27
Copy link
Sponsor Member

Isn't it fixed? @Linguista uses version 2020-11-26, #7170 were merged 2020-12-7.
Perhaps I am doing something wrong but I can't reproduce it in the current https://builds.jabref.org/master/

@Siedlerchr
Copy link
Member

Yeah, I just saw v5.2 but forgot that 5.2 was the xmas release so that should be fixed. I looked into the master and was wondering as well. So I guess it is solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants