Jabref on Ubuntu 18.04 installed using snap

I’ve been an avid Jabref user for a long time, but the latest updates have made it basically non-functional for me. Doing almost anything results in an error to the effect of “Uncaught exception occured… TypeError: undefined is not a function”. This includes searching, clicking on an entry, attaching a file to an entry, and typing in an entry (which is the most annoying since it throws 2-5 of those errors every time I type a letter…).

Right now, I’m using Jabref 5.0-dev installed via the snap store with Java 1.8.0_222 in Ubuntu 18.04 (I’m getting similar problems on my computers that have 19.04 installed).

I have to guess this is a java version issue but I can’t seem to determine from the forums what the fix might be. What should I be looking for to debug this problem? Since older versions of jabref seem to have lost their import via doi functionality, I really need to get jabref 5 working.

That looks actually like a javascript error and thus is probably related to the entry preview. Could you please provide the full error message including the “path to the error” i.e. the stack trace in technical terms. Moreover, it is a good idea to post it to Issues · JabRef/jabref · GitHub as this is the place we use to keep track of bugs.

Thank you!

Here’s the error that popped up after searching, but I will also go post the issue on github

netscape.javascript.JSException: TypeError: undefined is not a function
at com.sun.webkit.dom.JSObject.fwkMakeException(JSObject.java:128)
at com.sun.webkit.WebPage.twkExecuteScript(Native Method)
at com.sun.webkit.WebPage.executeScript(WebPage.java:1439)
at javafx.scene.web.WebEngine.executeScript(WebEngine.java:982)
at org.jabref.gui.preview.PreviewViewer.highlightSearchPattern(PreviewViewer.java:103)
at org.jabref.gui.preview.PreviewViewer.lambda$new$259(PreviewViewer.java:68)
at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105)
at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
at javafx.beans.property.ObjectProperty.setValue(ObjectProperty.java:69)
at org.jabref.gui.StateManager.setSearchQuery(StateManager.java:99)
at org.jabref.gui.search.GlobalSearchBar.performSearch(GlobalSearchBar.java:223)
at org.jabref.gui.search.GlobalSearchBar.lambda$new$241(GlobalSearchBar.java:137)
at org.reactfx.util.FxTimer.lambda$restart$0(FxTimer.java:89)
at com.sun.scenario.animation.shared.TimelineClipCore.visitKeyFrame(TimelineClipCore.java:226)
at com.sun.scenario.animation.shared.TimelineClipCore.playTo(TimelineClipCore.java:167)
at javafx.animation.Timeline.impl_playTo(Timeline.java:176)
at javafx.animation.AnimationAccessorImpl.playTo(AnimationAccessorImpl.java:39)
at com.sun.scenario.animation.shared.SingleLoopClipEnvelope.timePulse(SingleLoopClipEnvelope.java:99)
at javafx.animation.Animation.impl_timePulse(Animation.java:1102)
at javafx.animation.Animation$1.lambda$timePulse$24(Animation.java:186)
at java.security.AccessController.doPrivileged(Native Method)
at javafx.animation.Animation$1.timePulse(Animation.java:185)
at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:344)
at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:506)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490)
at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$346(QuantumToolkit.java:319)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$450(GtkApplication.java:139)
at java.lang.Thread.run(Thread.java:748)