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

PDF import is running outside of JavaFX Thread #3490

Closed
koppor opened this Issue Dec 7, 2017 · 0 comments

Comments

Projects
None yet
1 participant
@koppor
Member

koppor commented Dec 7, 2017

java.lang.IllegalStateException: Not on FX application thread; currentThread = JabRef CachedThreadPool
...
com.sun.javafx.collections.ObservableMapWrapper.callObservers(ObservableMapWrapper.java:115) ~[jfxrt.jar:?]
at com.sun.javafx.collections.ObservableMapWrapper.put(ObservableMapWrapper.java:173) ~[jfxrt.jar:?]
at org.jabref.model.entry.BibEntry.setField(BibEntry.java:412) ~[main/:?]
at org.jabref.model.entry.BibEntry.setField(BibEntry.java:438) ~[main/:?]
at org.jabref.gui.externalfiles.DroppedFileHandler.doLink(DroppedFileHandler.java:452) ~[main/:?]
at org.jabref.gui.externalfiles.DroppedFileHandler.linkPdfToEntry(DroppedFileHandler.java:213) ~[main/:?]
at org.jabref.gui.externalfiles.DroppedFileHandler.linkPdfToEntry(DroppedFileHandler.java:173) ~[main/:?]
at org.jabref.pdfimport.PdfImporter.importPdfFilesInternal(PdfImporter.java:135) ~[main/:?]
at org.jabref.pdfimport.PdfImporter.importPdfFiles(PdfImporter.java:89) ~[main/:?]
at org.jabref.gui.groups.EntryTableTransferHandler.lambda$handleDraggedFiles$0(EntryTableTransferHandler.java:306) ~[main/:?]
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]

Steps:

  1. Download PDF
  2. Drop it to the entry table
  3. Say "Only import PDF"
    grafik
  4. Move file and let it rename
    grafik
  5. File is moved, but not renamed.
java.lang.IllegalStateException: Not on FX application thread; currentThread = JabRef CachedThreadPool
        at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:279) ~[jfxrt.jar:?]
        at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:423) ~[jfxrt.jar:?]
        at javafx.scene.Parent$2.onProposedChange(Parent.java:367) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:113) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:108) ~[jfxrt.jar:?]
        at com.sun.javafx.scene.control.skin.LabeledSkinBase.updateChildren(LabeledSkinBase.java:580) ~[jfxrt.jar:?]
        at com.sun.javafx.scene.control.skin.LabeledSkinBase.handleControlPropertyChanged(LabeledSkinBase.java:181) ~[jfxrt.jar:?]
        at com.sun.javafx.scene.control.skin.ListCellSkin.handleControlPropertyChanged(ListCellSkin.java:49) ~[jfxrt.jar:?]
        at com.sun.javafx.scene.control.skin.BehaviorSkinBase.lambda$registerChangeListener$61(BehaviorSkinBase.java:197) ~[jfxrt.jar:?]
        at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55) ~[jfxrt.jar:?]
        at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) ~[jfxrt.jar:?]
        at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105) ~[jfxrt.jar:?]
        at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112) ~[jfxrt.jar:?]
        at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146) ~[jfxrt.jar:?]
        at javafx.css.StyleableObjectProperty.set(StyleableObjectProperty.java:82) ~[jfxrt.jar:?]
        at javafx.beans.property.ObjectProperty.setValue(ObjectProperty.java:69) ~[jfxrt.jar:?]
        at javafx.scene.control.Labeled.setGraphic(Labeled.java:423) ~[jfxrt.jar:?]
        at org.jabref.gui.util.ViewModelListCellFactory$1.updateItem(ViewModelListCellFactory.java:130) ~[main/:?]
        at javafx.scene.control.ListCell.updateItem(ListCell.java:471) ~[jfxrt.jar:?]
        at javafx.scene.control.ListCell.lambda$new$160(ListCell.java:167) ~[jfxrt.jar:?]
        at javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73) ~[jfxrt.jar:?]
        at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233) ~[jfxrt.jar:?]
        at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482) ~[jfxrt.jar:?]
        at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541) ~[jfxrt.jar:?]
        at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205) ~[jfxrt.jar:?]
        at javafx.collections.ModifiableObservableListBase.addAll(ModifiableObservableListBase.java:113) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.BidirectionalContentBinding$ListContentBinding.onChanged(BidirectionalContentBinding.java:138) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.ListExpressionHelper$Generic.notifyListeners(ListExpressionHelper.java:593) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.ListExpressionHelper$Generic.fireValueChangedEvent(ListExpressionHelper.java:571) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.ListExpressionHelper.fireValueChangedEvent(ListExpressionHelper.java:109) ~[jfxrt.jar:?]
        at javafx.beans.property.ListPropertyBase.fireValueChangedEvent(ListPropertyBase.java:200) ~[jfxrt.jar:?]
        at javafx.beans.property.ListPropertyBase.lambda$new$39(ListPropertyBase.java:56) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73) ~[jfxrt.jar:?]
        at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233) ~[jfxrt.jar:?]
        at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482) ~[jfxrt.jar:?]
        at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541) ~[jfxrt.jar:?]
        at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205) ~[jfxrt.jar:?]
        at javafx.collections.ModifiableObservableListBase.setAll(ModifiableObservableListBase.java:90) ~[jfxrt.jar:?]
        at javafx.beans.binding.ListExpression.setAll(ListExpression.java:370) ~[jfxrt.jar:?]
        at org.jabref.gui.util.BindingsHelper.lambda$bindContentBidirectional$4(BindingsHelper.java:124) ~[main/:?]
        at org.jabref.gui.util.BindingsHelper$BidirectionalListBinding.changed(BindingsHelper.java:214) ~[main/:?]
        at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) ~[jfxrt.jar:?]
        at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103) ~[jfxrt.jar:?]
        at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110) ~[jfxrt.jar:?]
        at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:144) ~[jfxrt.jar:?]
        at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:49) ~[jfxrt.jar:?]
        at javafx.beans.property.StringProperty.setValue(StringProperty.java:65) ~[jfxrt.jar:?]
        at javafx.beans.property.StringProperty.setValue(StringProperty.java:57) ~[jfxrt.jar:?]
        at org.jabref.gui.util.BindingsHelper$BidirectionalBinding.updateLocked(BindingsHelper.java:186) ~[main/:?]
        at org.jabref.gui.util.BindingsHelper$BidirectionalBinding.changedB(BindingsHelper.java:179) ~[main/:?]
        at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) ~[jfxrt.jar:?]
        at javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:172) ~[jfxrt.jar:?]
        at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:51) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.MapListenerHelper$Generic.fireValueChangedEvent(MapListenerHelper.java:320) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(MapListenerHelper.java:72) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.ObservableMapWrapper.callObservers(ObservableMapWrapper.java:115) ~[jfxrt.jar:?]
        at com.sun.javafx.collections.ObservableMapWrapper.put(ObservableMapWrapper.java:173) ~[jfxrt.jar:?]
        at org.jabref.model.entry.BibEntry.setField(BibEntry.java:412) ~[main/:?]
        at org.jabref.model.entry.BibEntry.setField(BibEntry.java:438) ~[main/:?]
        at org.jabref.gui.externalfiles.DroppedFileHandler.doLink(DroppedFileHandler.java:452) ~[main/:?]
        at org.jabref.gui.externalfiles.DroppedFileHandler.linkPdfToEntry(DroppedFileHandler.java:213) ~[main/:?]
        at org.jabref.gui.externalfiles.DroppedFileHandler.linkPdfToEntry(DroppedFileHandler.java:173) ~[main/:?]
        at org.jabref.pdfimport.PdfImporter.importPdfFilesInternal(PdfImporter.java:135) ~[main/:?]
        at org.jabref.pdfimport.PdfImporter.importPdfFiles(PdfImporter.java:89) ~[main/:?]
        at org.jabref.gui.groups.EntryTableTransferHandler.lambda$handleDraggedFiles$0(EntryTableTransferHandler.java:306) ~[main/:?]
        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]

@lenhard lenhard referenced this issue Dec 7, 2017

Merged

Link PDF on JavaFX thread #3494

2 of 6 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment