-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
exception - whilst editing field content in entry editor #6104
Comments
Just happened again... maybe relevant, I am quickly switching back and forth between reading a pdf file (active window) and then switching back to jabref to note down points... Log Filejava.lang.IllegalStateException: Task must only be used from the FX Application Thread at org.jabref.merged.module/javafx.concurrent.Task.checkThread(Unknown Source) at org.jabref.merged.module/javafx.concurrent.Task.isRunning(Unknown Source) at org.jabref.merged.module/org.controlsfx.control.textfield.AutoCompletionBinding.onUserInputChanged(Unknown Source) at org.jabref.merged.module/org.controlsfx.control.textfield.AutoCompletionBinding.setUserInput(Unknown Source) at org.jabref/org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.setUserInputText(Unknown Source) at org.jabref/org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.lambda$new$0(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.markInvalid(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.controlContentHasChanged(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.lambda$new$0(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextField$TextFieldContent.insert(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.replaceText(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.filterAndSet(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.doSet(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding.changed(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.markInvalid(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.updateLocked(Unknown Source) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.changedB(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.binding.ObjectBinding.invalidate(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.BindingHelperObserver.invalidated(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.callObservers(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.put(Unknown Source) at org.jabref/org.jabref.model.entry.BibEntry.setField(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupSingleField(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupAllFields(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanup(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.applySaveActions(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(Unknown Source) at org.jabref/org.jabref.logic.autosaveandbackup.BackupManager.performBackup(Unknown Source) at java.base/java.util.Optional.ifPresent(Unknown Source) at org.jabref/org.jabref.logic.autosaveandbackup.BackupManager.lambda$startBackupTask$2(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.ScheduledThreadPoolExecutor$ScheduledFutureTask.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) |
Could you please check if you have any save actions defined? |
An exception often happens when
autosave is active. Log Filejava.lang.IllegalStateException: Task must only be used from the FX Application Thread at org.jabref.merged.module/javafx.concurrent.Task.checkThread(Unknown Source) at org.jabref.merged.module/javafx.concurrent.Task.isRunning(Unknown Source) at org.jabref.merged.module/org.controlsfx.control.textfield.AutoCompletionBinding.onUserInputChanged(Unknown Source) at org.jabref.merged.module/org.controlsfx.control.textfield.AutoCompletionBinding.setUserInput(Unknown Source) at org.jabref/org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.setUserInputText(Unknown Source) at org.jabref/org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.lambda$new$0(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.markInvalid(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.controlContentHasChanged(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.lambda$new$0(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextField$TextFieldContent.insert(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.replaceText(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.filterAndSet(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.doSet(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding.changed(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.markInvalid(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.updateLocked(Unknown Source) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.changedB(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.binding.ObjectBinding.invalidate(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.BindingHelperObserver.invalidated(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.callObservers(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.put(Unknown Source) at org.jabref/org.jabref.model.entry.BibEntry.setField(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupSingleField(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupAllFields(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanup(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.applySaveActions(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(Unknown Source) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(Unknown Source) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.doSave(Unknown Source) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(Unknown Source) at org.jabref/org.jabref.gui.dialogs.AutosaveUIManager.listen(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor69.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/com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Subscriber$1.run(Unknown Source) at org.jabref.merged.module/com.google.common.util.concurrent.DirectExecutor.execute(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Subscriber.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.EventBus.post(Unknown Source) at org.jabref/org.jabref.logic.autosaveandbackup.AutosaveManager.lambda$listen$0(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.ScheduledThreadPoolExecutor$ScheduledFutureTask.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)Log Filejava.lang.IllegalStateException: Task must only be used from the FX Application Thread Log Filejava.lang.IllegalStateException: Task must only be used from the FX Application Thread Log Filejava.lang.IllegalStateException: Task must only be used from the FX Application Thread Log Filejava.lang.IllegalStateException: Task must only be used from the FX Application Thread |
@AlexanderGirgis This was also on your machine, right? |
Guess: Autosave happens in parallel to the editor. Changes the library. |
Need to wrap binding of fields to run on JavaFXThread. Similar to
|
Refs #6453 |
Closing this in favor of #6453 (where I created a PR for) |
8d69f16 Create university-of-hull-harvard.csl (#6146) 139dfdd Create current organic synthesis.csl (#6139) bb006c8 Update acta-universitatis-agriculturae-sueciae.csl (#6143) 5815da0 Create food-science-and-biotechnology.csl (#6132) 2702a7c Update harvard-university-for-the-creative-arts.csl (#6104) ef34543 Update economic-geology.csl (#6128) 0adcd30 Bump mathieudutour/github-tag-action from 5.6 to 6.0 (#6141) 3c36e97 Create universite-du-quebec-a-montreal-prenoms.csl (#6073) 415bc05 Bump softprops/action-gh-release from 0.1.14 to 1 (#6142) ae8c5e4 Create politique-europeenne.csl (#6074) 09cbc09 Update cell-numeric-superscript.csl (#6188) 6ee1ace Update avian-conservation-and-ecology.csl (#6191) cb5c43f Update harvard-anglia-ruskin-university.csl (#6189) 5c4f4c0 Create anais-da-academia-brasileira-de-ciencias.csl (#6066) a60dfe9 Update cardiff-university-harvard.csl (#6190) 999a45c Create sociologia-urbana-e-rurale.csl (#6042) 1bc9d62 Bluebook (#6183) a4f2a72 Oxford Brookes (#6182) 88df8d5 Delete harvard-cardiff-university-old.csl (#6180) b9302fd Update APA styles for "event" macro (#6174) d4daec6 remove DOI for printed articles organizational-studies.csl (#6176) acfc620 Create liver-transplantation.csl (#6167) 129a775 Change "event" to "event-title" (#6164) git-subtree-dir: buildres/csl/csl-styles git-subtree-split: 8d69f16
JabRef 5.0--2020-03-09--6bff936
Linux 5.5.8-200.fc31.x86_64 amd64
Java 13.0.2
I just edited an entry's multiline field, and deleted a word in the entry, working with the keyboard only.
I have no idea what happened; Cannot reproduce.
Log File
java.lang.IllegalStateException: Task must only be used from the FX Application Thread at org.jabref.merged.module/javafx.concurrent.Task.checkThread(Unknown Source) at org.jabref.merged.module/javafx.concurrent.Task.isRunning(Unknown Source) at org.jabref.merged.module/org.controlsfx.control.textfield.AutoCompletionBinding.onUserInputChanged(Unknown Source) at org.jabref.merged.module/org.controlsfx.control.textfield.AutoCompletionBinding.setUserInput(Unknown Source) at org.jabref/org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.setUserInputText(Unknown Source) at org.jabref/org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.lambda$new$0(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.markInvalid(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.controlContentHasChanged(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.lambda$new$0(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextField$TextFieldContent.insert(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.replaceText(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.filterAndSet(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.doSet(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding.changed(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.markInvalid(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(Unknown Source) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.updateLocked(Unknown Source) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.changedB(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/javafx.beans.binding.ObjectBinding.invalidate(Unknown Source) at org.jabref.merged.module/com.sun.javafx.binding.BindingHelperObserver.invalidated(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper$Generic.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.callObservers(Unknown Source) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.put(Unknown Source) at org.jabref/org.jabref.model.entry.BibEntry.setField(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupSingleField(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupAllFields(Unknown Source) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanup(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.applySaveActions(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(Unknown Source) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(Unknown Source) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(Unknown Source) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.doSave(Unknown Source) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(Unknown Source) at org.jabref/org.jabref.gui.dialogs.AutosaveUIManager.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/com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Subscriber$1.run(Unknown Source) at org.jabref.merged.module/com.google.common.util.concurrent.DirectExecutor.execute(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Subscriber.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Unknown Source) at org.jabref.merged.module/com.google.common.eventbus.EventBus.post(Unknown Source) at org.jabref/org.jabref.logic.autosaveandbackup.AutosaveManager.lambda$listen$0(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.ScheduledThreadPoolExecutor$ScheduledFutureTask.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)The text was updated successfully, but these errors were encountered: