JabRef / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
3.63k stars 2.59k forks source link

file save triggers error #6453

Closed ilippert closed 4 years ago

ilippert commented 4 years ago

JabRef 5.1--2020-05-08--d18ce55 Linux 5.6.8-200.fc31.x86_64 amd64 Java 14.0.1

When I edit text in the entry editor, I often get this exception, without further action. I suspected it might be related to autocompletion, but I read @Siedlerchr as this not being the case at https://github.com/JabRef/jabref/issues/6351. As you see at https://github.com/JabRef/jabref/issues/6351, I routinely faced this error for for 8 days now.

The bug issue heading might be equivalent to https://github.com/JabRef/jabref/issues/6102? - but I am not sure whether it is the same issue.

How to reproduce: edit any text field and after a few seconds the exception shows up.

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.TextArea$TextAreaContent.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.save(Unknown Source) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(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)
Siedlerchr commented 4 years ago

It's all the same underlying issue. Problem which makes it hard to debug, is that it's not occuring on Windows. But only on linux.


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)
ilippert commented 4 years ago

Ok, thanks alot. Hm, I have no significant experience in tracing processes, neither in programming. In case you would recommend questions/debugging tasks, I would happily try to serve with relevant data.

Siedlerchr commented 4 years ago

I have just prepared a fix version at #6455 It would be nice if you could test that when it's ready

Siedlerchr commented 4 years ago

@ilippert Would be nice if you could test this version: https://builds.jabref.org/pull/6455/merge/ (I also enabled debug symbols, so we now see line numbers as well in a potential stacktrace)

ilippert commented 4 years ago

the exception so far does not reoccur - in 10 minutes of testing. will report here if it does over the next days.

ilippert commented 4 years ago

yeah, but got this now after saving and writing this line:

Log File ``` org.jabref.logic.exporter.SaveException: Problems saving: java.nio.file.NoSuchFileException: /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib.tmp -> /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(SaveDatabaseAction.java:239) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:195) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:177) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:71) at org.jabref/org.jabref.gui.exporter.SaveAction.execute(SaveAction.java:39) at org.jabref/org.jabref.gui.actions.JabRefAction.lambda$new$2(JabRefAction.java:40) at org.jabref.merged.module/org.controlsfx.control.action.Action.handle(Action.java:419) at org.jabref.merged.module/org.controlsfx.control.action.Action.handle(Action.java:64) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) at org.jabref.merged.module/javafx.event.Event.fireEvent(Event.java:198) at org.jabref.merged.module/javafx.scene.control.MenuItem.fire(MenuItem.java:459) at org.jabref.merged.module/com.sun.javafx.scene.control.ControlAcceleratorSupport.lambda$doAcceleratorInstall$1(ControlAcceleratorSupport.java:165) at org.jabref.merged.module/com.sun.javafx.scene.KeyboardShortcutsHandler.processAccelerators(KeyboardShortcutsHandler.java:382) at org.jabref.merged.module/com.sun.javafx.scene.KeyboardShortcutsHandler.dispatchBubblingEvent(KeyboardShortcutsHandler.java:162) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at org.jabref.merged.module/javafx.event.Event.fireEvent(Event.java:198) at org.jabref.merged.module/javafx.scene.Scene$KeyHandler.process(Scene.java:4098) at org.jabref.merged.module/javafx.scene.Scene.processKeyEvent(Scene.java:2157) at org.jabref.merged.module/javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2625) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:217) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:149) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(GlassViewEventHandler.java:248) at org.jabref.merged.module/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:247) at org.jabref.merged.module/com.sun.glass.ui.View.handleKeyEvent(View.java:547) at org.jabref.merged.module/com.sun.glass.ui.View.notifyKey(View.java:971) at org.jabref.merged.module/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at org.jabref.merged.module/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277) at java.base/java.lang.Thread.run(Thread.java:832) Caused by: java.nio.file.NoSuchFileException: /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib.tmp -> /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:415) at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:267) at java.base/java.nio.file.Files.move(Files.java:1426) at org.jabref/org.jabref.logic.exporter.AtomicFileOutputStream.close(AtomicFileOutputStream.java:196) at java.base/sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:353) at java.base/sun.nio.cs.StreamEncoder.close(StreamEncoder.java:168) at java.base/java.io.OutputStreamWriter.close(OutputStreamWriter.java:255) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(BibDatabaseWriter.java:221) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(BibDatabaseWriter.java:161) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(SaveDatabaseAction.java:228) ... 41 more ```
ilippert commented 4 years ago

still on JabRef 5.1-PullRequest6455.368--2020-05-09--fff4926 Linux 5.6.8-200.fc31.x86_64 amd64 Java 14.0.1

Without me doing anything

Log File ``` java.lang.RuntimeException: Bidirectional binding failed, setting to the previous value at org.jabref.merged.module/com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding.changed(BidirectionalBinding.java:619) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:360) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:104) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:111) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:145) at org.jabref.merged.module/javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:50) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(StringProperty.java:65) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(StringProperty.java:57) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.updateLocked(BindingsHelper.java:254) at org.jabref/org.jabref.gui.util.BindingsHelper$BidirectionalBinding.changedB(BindingsHelper.java:247) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:181) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80) at org.jabref.merged.module/javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:170) at org.jabref.merged.module/com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:52) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper$Generic.fireValueChangedEvent(MapListenerHelper.java:320) at org.jabref.merged.module/com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(MapListenerHelper.java:72) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.callObservers(ObservableMapWrapper.java:115) at org.jabref.merged.module/com.sun.javafx.collections.ObservableMapWrapper.put(ObservableMapWrapper.java:169) at org.jabref/org.jabref.model.entry.BibEntry.setField(BibEntry.java:539) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupSingleField(FieldFormatterCleanup.java:66) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanupAllFields(FieldFormatterCleanup.java:78) at org.jabref/org.jabref.model.cleanup.FieldFormatterCleanup.cleanup(FieldFormatterCleanup.java:33) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.applySaveActions(BibDatabaseWriter.java:78) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(BibDatabaseWriter.java:190) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(BibDatabaseWriter.java:161) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(SaveDatabaseAction.java:228) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:195) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:177) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:75) at org.jabref/org.jabref.gui.dialogs.AutosaveUiManager.listen(AutosaveUiManager.java:28) at jdk.internal.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.jabref.merged.module/com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:87) at org.jabref.merged.module/com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:144) at org.jabref.merged.module/com.google.common.eventbus.Subscriber$1.run(Subscriber.java:72) at org.jabref.merged.module/com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) at org.jabref.merged.module/com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:67) at org.jabref.merged.module/com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:108) at org.jabref.merged.module/com.google.common.eventbus.EventBus.post(EventBus.java:212) at org.jabref/org.jabref.logic.autosaveandbackup.AutosaveManager.lambda$listen$0(AutosaveManager.java:46) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:832) Caused by: java.lang.StringIndexOutOfBoundsException: index 515, length 515 at java.base/java.lang.String.checkIndex(String.java:3715) at java.base/java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:362) at java.base/java.lang.StringBuilder.charAt(StringBuilder.java:85) at org.jabref.merged.module/javafx.scene.control.TextArea$TextAreaContent.get(TextArea.java:133) at org.jabref.merged.module/javafx.scene.control.TextArea$TextAreaContent.get(TextArea.java:311) at org.jabref.merged.module/javafx.scene.control.TextArea$TextAreaContent.get(TextArea.java:88) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.get(TextInputControl.java:1365) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.get(TextInputControl.java:1349) at org.jabref.merged.module/javafx.beans.binding.StringExpression.getValue(StringExpression.java:51) at org.jabref.merged.module/javafx.beans.binding.StringExpression.getValue(StringExpression.java:47) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:355) at org.jabref.merged.module/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:1438) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:1442) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:1373) at org.jabref.merged.module/javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:1349) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(StringProperty.java:65) at org.jabref.merged.module/javafx.beans.property.StringProperty.setValue(StringProperty.java:57) at org.jabref.merged.module/com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding.changed(BidirectionalBinding.java:601) ... 47 more ```
Siedlerchr commented 4 years ago

Okay thanks that is a bit different now, but maybe related. Will look into it the next days

Siedlerchr commented 4 years ago

Just to clarify, you have entry editor open, at which tab?

ilippert commented 4 years ago

I have the entry editor open at a custom tab "annote".

On 09.05.20 22:12, Christoph wrote:

Just to clarify, you have entry editor open, at which tab?

ilippert commented 4 years ago

JabRef 5.1-PullRequest6455.368--2020-05-09--fff4926 Linux 5.6.8-200.fc31.x86_64 amd64 Java 14.0.1

I have now been working in the entry editor on a range of tabs and fields and the exception did not reappear.

Siedlerchr commented 4 years ago

Does the exception occur when you hit save (ctr+s) repeatedly?

ilippert commented 4 years ago

I just tested a few times hitting ctrl+s, and also clicking on the buttons: so significant effect.

ilippert commented 4 years ago

however, just before I read your question, I got this (I think similar to before)

Log File ``` org.jabref.logic.exporter.SaveException: Problems saving: java.nio.file.NoSuchFileException: /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib.tmp -> /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(SaveDatabaseAction.java:239) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:195) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:177) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.save(SaveDatabaseAction.java:71) at org.jabref/org.jabref.gui.exporter.SaveAction.execute(SaveAction.java:39) at org.jabref/org.jabref.gui.actions.JabRefAction.lambda$new$2(JabRefAction.java:40) at org.jabref.merged.module/org.controlsfx.control.action.Action.handle(Action.java:419) at org.jabref.merged.module/org.controlsfx.control.action.Action.handle(Action.java:64) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) at org.jabref.merged.module/javafx.event.Event.fireEvent(Event.java:198) at org.jabref.merged.module/javafx.scene.Node.fireEvent(Node.java:8885) at org.jabref.merged.module/javafx.scene.control.Button.fire(Button.java:203) at org.jabref.merged.module/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:206) at org.jabref.merged.module/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at org.jabref.merged.module/javafx.event.Event.fireEvent(Event.java:198) at org.jabref.merged.module/javafx.scene.Scene$MouseHandler.process(Scene.java:3890) at org.jabref.merged.module/javafx.scene.Scene.processMouseEvent(Scene.java:1885) at org.jabref.merged.module/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2618) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:409) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:299) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:447) at org.jabref.merged.module/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:446) at org.jabref.merged.module/com.sun.glass.ui.View.handleMouseEvent(View.java:556) at org.jabref.merged.module/com.sun.glass.ui.View.notifyMouse(View.java:942) at org.jabref.merged.module/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at org.jabref.merged.module/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277) at java.base/java.lang.Thread.run(Thread.java:832) Caused by: java.nio.file.NoSuchFileException: /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib.tmp -> /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:415) at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:267) at java.base/java.nio.file.Files.move(Files.java:1426) at org.jabref/org.jabref.logic.exporter.AtomicFileOutputStream.close(AtomicFileOutputStream.java:196) at java.base/sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:353) at java.base/sun.nio.cs.StreamEncoder.close(StreamEncoder.java:168) at java.base/java.io.OutputStreamWriter.close(OutputStreamWriter.java:255) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(BibDatabaseWriter.java:221) at org.jabref/org.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(BibDatabaseWriter.java:161) at org.jabref/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(SaveDatabaseAction.java:228) ... 60 more ```
Siedlerchr commented 4 years ago

Thanks, okay, this is a different error now which is related to our Backup-Manager. For some reason the tmp file cannot be renamed (moved) to the bib file, because it's not/no longer existing.

Caused by: java.nio.file.NoSuchFileException: /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib.tmp -> /home/ilippert/Documents/Studies/Publications&Products/Resources/Literature-bibtex.bib

Can you manually check if after hitting save, a bib.tmp file is created?

The Autocomplete error, however seems to be fixed.

ilippert commented 4 years ago

Yeah, thanks for the autcomplete error fix!!!

on the java.nio.file.NoSuchFileException: a tmp file is briefly generated and then vanishing. Only occasionally, when I hit save, the error occurs.

Siedlerchr commented 4 years ago

Okay, thanks. That no such file exception is probably a timing problem and might be related how unix handles files. https://stackoverflow.com/a/31725384/3450689

gianlucabaldassarre commented 4 years ago

Hello, I have an analogous problem with JabRef 5.1, under Windows 10. I also had the proboem with JabRef 5.0 (I intalled JabRef 5.1 as with a large repositories JabRef 5.0 is very slow and I could not use it, a problem fixed in JabRef 5.1). In particular the problem manifests when I type in a field, e.g. I tried in "Abstract" or "Comment" (the latter a custom field). It also manifests with a brand new JabRef repository having just 1 entry. Actually the problem is two-fold: 1) Sometimes I get the exception reported below (I report the log for both the exception when typing the Abstract field and when typing the Comment field). 2) Sometimes the cursor jumps at the beginning of the field. I released this happens each time I save, so a first bug is that the cursor jumps at the beginning of the field when saving, e.g. with the automatic saving, which is very annoying. I read above that the problem of the discussion thread might be related to saving, which would explain why the two errors seemed to me to be linked.

The two problems are so impairing that basically I cannot write text longer than few words in JabRef fields, so I have to write it in another editor and then copy-paste.


TEXT OF EXCEPTION WHEN TYPING IN FIELD "ABSTRACT" java.lang.IndexOutOfBoundsException at org.jabref.merged.module/javafx.scene.control.TextInputControl.replaceText(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.replaceText(Unknown Source) at org.jabref.merged.module/javafx.scene.control.TextInputControl.replaceSelection(Unknown Source) at org.jabref.merged.module/com.sun.javafx.scene.control.behavior.TextAreaBehavior.insertNewLine(Unknown Source) at org.jabref.merged.module/com.sun.javafx.scene.control.behavior.TextAreaBehavior.lambda$new$13(Unknown Source) at org.jabref.merged.module/com.sun.javafx.scene.control.behavior.TextInputControlBehavior.lambda$keyMapping$62(Unknown Source) at org.jabref.merged.module/com.sun.javafx.scene.control.inputmap.InputMap.handle(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source) at org.jabref.merged.module/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source) at org.jabref.merged.module/javafx.event.Event.fireEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.Scene$KeyHandler.process(Unknown Source) at org.jabref.merged.module/javafx.scene.Scene.processKeyEvent(Unknown Source) at org.jabref.merged.module/javafx.scene.Scene$ScenePeerListener.keyEvent(Unknown Source) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(Unknown Source) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(Unknown Source) at org.jabref.merged.module/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source) at org.jabref.merged.module/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(Unknown Source) at org.jabref.merged.module/com.sun.glass.ui.View.handleKeyEvent(Unknown Source) at org.jabref.merged.module/com.sun.glass.ui.View.notifyKey(Unknown Source) at org.jabref.merged.module/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at org.jabref.merged.module/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)

TEXT OF EXCEPTION WHEN TYPING IN FIELD ''COMMENT'' 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.TextArea$TextAreaContent.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)

ilippert commented 4 years ago

for the jumping cursor, see https://github.com/JabRef/jabref/issues/5904 - might that be it?

Siedlerchr commented 4 years ago

@gianlucabaldassarre For the one error on saving please try this version: https://builds.jabref.org/pull/6455/merge The other cursor jumping is somehow related to the Autocomplete I think and I could reproduce that in #5904

Siedlerchr commented 4 years ago

We merged the changes now in master

gianlucabaldassarre commented 4 years ago

Thanks, the error causing the exception went away, but as a secondary effect the "content selectors" are no more visible (but OK, this is better than having the error).

The cursor jump is still there: I tried to follow the threads about it and I understood it is a still an unsolved problem, right?

On Mon, 11 May 2020 at 13:59, Christoph notifications@github.com wrote:

@gianlucabaldassarre https://github.com/gianlucabaldassarre For the one error on saving please try this version: https://builds.jabref.org/pull/6455/merge The other cursor jumping is somehow related to the Autocomplete I think and I could reproduce that in #5904 https://github.com/JabRef/jabref/issues/5904

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JabRef/jabref/issues/6453#issuecomment-626658086, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADNLQD3KOQ5AU2ZLVLK6DTLRQ7SDDANCNFSM4M4V5UVA .

-- .|.CS...|.......|...............|..|......US.|||.|||||.||.||||..|...|....... Gianluca Baldassarre, Ph.D., Laboratory of Computational Embodied Neuroscience, Istituto di Scienze e Tecnologie della Cognizione, Consiglio Nazionale delle Ricerche (LOCEN-ISTC-CNR), Via San Martino della Battaglia 44, I-00185 Roma, Italy Senior Researcher at the Research Institute ISTC-CNR (www.istc.cnr.it) Coordinator of Research Group LOCEN (https://www.istc.cnr.it/it/group/locen) President of Advanced School in AI (www.as-ai.org) President of Associazione culturale science2mind (www.science2mind.org) Founder of ST&M4Humanity (www.stem4humanity.org http://stem4humanity.org/) E-mail: gianluca.baldassarre@istc.cnr.it Web: http://www.istc.cnr.it/people/gianluca-baldassarre Tel: +39 06 44 595 231 Skype: gianluca.baldassarre Motto: 'Learn from the past, live in(tensely) the present, dream for the future' Life mission statement: 'Serve humanity through core knowledge' ...CS.|||.||.|||.||..|.......|........|...US.|.|....||..|..|......|.........

Siedlerchr commented 4 years ago

For some the comment fields cursor jumping seems to be fixed. If not I maybe have another idea. Regarding content selectors, do you have some defined for multilne fields? I disabled the autompletion only for the multiline fields

gianlucabaldassarre commented 4 years ago

My current system: JabRef 5.1--2020-05-14--46777c2 Windows 10 10.0 amd64 Java 14.0.1

For some the comment fields cursor jumping seems to be fixed. If not I maybe have another idea.

Yes, the cursor still jumps (e.g. when typing in the fields 'Abstract' and 'Comment', the latter being a custom field). In particular it jumps:

Regarding content selectors, do you have some defined for multilne fields? I disabled the autompletion only for the multiline fields

Yes, I was using the content selector for Comment (custom field) that is multiline.

gianlucabaldassarre commented 4 years ago

...one temporary solution for users, to be able to edit the Comment field, and other more-than-one-line fields having the problem, is as follows:

gianlucabaldassarre commented 4 years ago

By the way, I recall the attention of the JabRef developers that this is a quite impairing problem of the software since it prevents users from manually changing the contents of more-than-a-line fields: this is a basic important functionality of the software! Of course how much the problem affects the community also depends on how many systems/configurations have this same problem, a thing I do not know.

calixtus commented 4 years ago

Hi @gianlucabaldassarre , I took a look into the issue. I was able to partly recreate the problematic behaviour of jabref on my linux machine, although it does not happen every time I'm saving. I made an attempt to fix it, but I'm not quite sure, if it really works. Would you be so kind to test this build here ( https://github.com/JabRef/jabref/suites/720256702/artifacts/7152221 ) and to report, if this problem still persists on your machine?

gianlucabaldassarre commented 4 years ago

Hi, the link you sent ( https://github.com/JabRef/jabref/suites/720256702/artifacts/7152221) seems to lead me to download a linux version of JabRef (after unzipping the file, I got the files: jabref_5.1-1_amd64.deb, jabref-5.1-1.x86_64.rpm, JabRef-5.1-portable_linux.tar.gz), while I am using now this system: JabRef 5.1--2020-05-14--46777c2 Windows 10 10.0 amd64 Java 14.0.1

On Wed, 27 May 2020 at 12:01, Carl Christian Snethlage < notifications@github.com> wrote:

Hi @gianlucabaldassarre https://github.com/gianlucabaldassarre , I took a look into the issue. I was able to partly recreate the problematic behaviour of jabref on my linux machine, although it does not happen every time I'm saving. I made an attempt to fix it, but I'm not quite sure, if it really works. Would you be so kind to test this build here ( https://github.com/JabRef/jabref/suites/720256702/artifacts/7152221 ) and to report, if this problem still persists on your machine?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JabRef/jabref/issues/6453#issuecomment-634559016, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADNLQDYQ6RJ4KQ7SLDHHTJLRTTQIVANCNFSM4M4V5UVA .

-- .|.CS...|.......|...............|..|......US.|||.|||||.||.||||..|...|....... Gianluca Baldassarre, Ph.D., Laboratory of Computational Embodied Neuroscience, Istituto di Scienze e Tecnologie della Cognizione, Consiglio Nazionale delle Ricerche (LOCEN-ISTC-CNR), Via San Martino della Battaglia 44, I-00185 Roma, Italy Senior Researcher at the Research Institute ISTC-CNR (www.istc.cnr.it) Coordinator of Research Group LOCEN (https://www.istc.cnr.it/it/group/locen) President of Advanced School in AI (www.as-ai.org) President of Associazione culturale science2mind (www.science2mind.org) Founder of ST&M4Humanity (www.stem4humanity.org http://stem4humanity.org/) E-mail: gianluca.baldassarre@istc.cnr.it Web: http://www.istc.cnr.it/people/gianluca-baldassarre Tel: +39 06 44 595 231 Skype: gianluca.baldassarre Motto: 'Learn from the past, live in(tensely) the present, dream for the future' Life mission statement: 'Serve humanity through core knowledge' ...CS.|||.||.|||.||..|.......|........|...US.|.|....||..|..|......|.........

Siedlerchr commented 4 years ago

@gianlucabaldassarre https://github.com/JabRef/jabref/suites/720256702/artifacts/7152223 This one should be the right one for windows

calixtus commented 4 years ago

I'm confused. I thought this is a linux specific issue. Does this affect windows too?

gianlucabaldassarre commented 4 years ago

System: JabRef 5.1-PullRequest6528.455--2020-05-26--0965648 Windows 10 10.0 amd64 Java 14.0.1

@Siedlerchr: the problem of the cursor jumping at the beginning of multi-line fields when saving is still there (with https://github.com/JabRef/jabref/suites/720256702/artifacts/7152223)

@calixtus: I confirm, the problem is also in Windows 10 system (see system features above).

koppor commented 4 years ago

Refs https://github.com/koppor/jabref/issues/390

koppor commented 4 years ago

Options:

Siedlerchr commented 4 years ago

The multiline comment issue just got merged. Please wait until the new development version is ready