JabRef/jabref

Exception on Linux 5.14-dev (rpm file)

sambo57u opened this issue ยท 18 comments

JabRef version

Latest development branch build (please note build date below)

Operating system

GNU / Linux

Details on version and operating system

Fedora 39

Checked with the latest development build (copy version output from About dialog)

  • I made a backup of my libraries before testing the latest development version.
  • I have tested the latest development version and the problem persists

Steps to reproduce the behaviour

  1. ... Opening any bibtex database
    Screenshot_20240419_172903

  2. ...

  3. ...

Appendix

...

Log File
Paste an excerpt of your log file here

Just to be sure - you downloaded the latest build from https://builds.jabref.org/main/? We had this issue for some builds but I thought, we solved it.

Yes, the latest build from rpm (jabref-5.14.70-1.x86_64). Going back to 5.13 does not have the problem.

I unzipped the rpm here on mac and checked the cfg file and it contains the correct info..,,

@sambo57u Are you starting with the desktop file or running the binary file directly? Just curious if this makes a difference...

[Application]
app.mainmodule=org.jabref/org.jabref.Launcher

[JavaOptions]
java-options=-Djpackage.app-version=5.14.70
java-options=--add-exports=javafx.base/com.sun.javafx.event=org.jabref.merged.module
java-options=--add-exports=javafx.controls/com.sun.javafx.scene.control=org.jabref.merged.module
java-options=--add-opens=javafx.graphics/javafx.scene=org.jabref.merged.module
java-options=--add-opens=javafx.controls/javafx.scene.control=org.jabref.merged.module
java-options=--add-opens=javafx.controls/com.sun.javafx.scene.control=org.jabref.merged.module

I can't reproduce on openSUSE Leap.

It starts both ways, the exception message happens when you try to open any bibtex library.

I have an earlier version jabref-5.14.12-1.x86_64.rpm which also works fine.

Can you post the complete version string of the working version from the About window?

JabRef 5.14--2024-04-03--e08de39
Linux 6.8.7-200.fc39.x86_64 amd64
Java 21.0.2
JavaFX 22+30

@sambo57u Thank you so much for posting!

I installed the version of today on Windows WSL, Fedora. Works.

grafik

My version is of 19th of April. This is 16 days after 3rd of April. See 2024-04-19 is after 2024-09-03. Your first line in the comment.

Please, @sambo57u. Close JabRef. Try to download the rpm again https://builds.jabref.org/main/ and install it. Reopen JabRef.

Alternatively, you could try snapcraft on Fedora and use the edge version of JabRef. Google says that https://snapcraft.io/docs/installing-snap-on-fedora is the way to install snap on Fedora.

Yes, the latest build from rpm (jabref-5.14.70-1.x86_64). Going back to 5.13 does not have the problem.

Where did you get the file from? On https://builds.jabref.org/main/, I see jabref-5.14-1.x86_64.rpm only. Not some version 70 appended.

It seems to be a problem on our side with appending the RPM version, this is what I got after installing the latest development version:

image

I downloaded again from your link and reinstalled. started again and have the same error. The app starts fine without giving a database name or opening one from File menu. As soon as you try to open a database it gives the above error,
or on the terminal:

PS: I am on KDE Plasma.

Messages are not initialized before accessing key: Display help on command line options
2024-04-20 15:11:19 [main] org.jabref.logic.protectedterms.ProtectedTermsLoader.update()
WARN: New protected terms resource '/protectedterms/computer_science.terms' is available and enabled by default.
2024-04-20 15:11:20 [JavaFX Application Thread] org.jabref.gui.theme.ThemeManager.updateThemeSettings()
INFO: Not updating theme because it hasn't changed
2024-04-20 15:11:20 [JavaFX Application Thread] org.jabref.gui.theme.ThemeManager.updateThemeSettings()
INFO: Theme set to Theme{type=EMBEDDED, name='Dark.css'} with base css StyleSheet{jrt:/org.jabref/org/jabref/gui/Base.css}
2024-04-20 15:11:21 [JavaFX Application Thread] org.jabref.gui.StateManager.setActiveDatabase()
INFO: No open database detected

(JabRef:23968): Gdk-WARNING **: 15:11:21.070: XSetErrorHandler() called with a GDK error trap pushed. Don't do that.
2024-04-20 15:11:30 [JavaFX Application Thread] org.jabref.gui.FallbackExceptionHandler.uncaughtException()
ERROR: Uncaught exception occurred in Thread[#42,JavaFX Application Thread,5,main]: java.lang.reflect.InaccessibleObjectException: Unable to make field private double javafx.scene.control.TableView.contentWidth accessible: module javafx.controls does not "opens javafx.scene.control" to module org.jabref
at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(Unknown Source)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Unknown Source)
at java.base/java.lang.reflect.Field.setAccessible(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.maintable.SmartConstrainedResizePolicy.getContentWidth(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.maintable.SmartConstrainedResizePolicy.initColumnSize(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.maintable.SmartConstrainedResizePolicy.call(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.maintable.SmartConstrainedResizePolicy.call(Unknown Source)
at javafx.controls@22.0.1/javafx.scene.control.TableView$6.invalidated(Unknown Source)
at javafx.base@22.0.1/javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
at javafx.base@22.0.1/javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
at javafx.controls@22.0.1/javafx.scene.control.TableView.setColumnResizePolicy(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.maintable.MainTable.(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.LibraryTab.createMainTable(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.LibraryTab.setupMainPanel(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.LibraryTab.(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.LibraryTab.createLibraryTab(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.importer.actions.OpenDatabaseAction.openTheFile(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.importer.actions.OpenDatabaseAction.lambda$openFiles$0(Unknown Source)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.importer.actions.OpenDatabaseAction.openFiles(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.importer.actions.OpenDatabaseAction.execute(Unknown Source)
at org.jabref@5.14.70/org.jabref.gui.actions.JabRefAction.lambda$new$3(Unknown Source)
at org.jabref.merged.module@5.14.70/org.controlsfx.control.action.Action.handle(Unknown Source)
at org.jabref.merged.module@5.14.70/org.controlsfx.control.action.Action.handle(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
at javafx.base@22.0.1/javafx.event.Event.fireEvent(Unknown Source)
at javafx.controls@22.0.1/javafx.scene.control.MenuItem.fire(Unknown Source)
at javafx.controls@22.0.1/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(Unknown Source)
at javafx.controls@22.0.1/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
at javafx.base@22.0.1/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
at javafx.base@22.0.1/javafx.event.Event.fireEvent(Unknown Source)
at javafx.graphics@22.0.1/javafx.scene.Scene$MouseHandler.process(Unknown Source)
at javafx.graphics@22.0.1/javafx.scene.Scene.processMouseEvent(Unknown Source)
at javafx.graphics@22.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
at javafx.graphics@22.0.1/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
at javafx.graphics@22.0.1/com.sun.glass.ui.View.notifyMouse(Unknown Source)
at javafx.graphics@22.0.1/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@22.0.1/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

@sambo57u Can you try adding these lines to the java options in the cfg file: (opt/jabref/lib/app/JabRef.cfg) below the others?

java-options=--add-opens=javafx.controls/javafx.scene.control=org.jabref`
java-options=--add-exports=javafx.base/com.sun.javafx.event=org.jabref
java-options=--add-exports=javafx.controls/com.sun.javafx.scene.control=org.jabref
java-options=--add-opens=javafx.graphics/javafx.scene=org.jabref
java-options=--add-opens=javafx.controls/javafx.scene.control=org.jabref
java-options=--add-opens=javafx.controls/com.sun.javafx.scene.control=org.jabref

Adding those worked!

Okay thanks! Will create a PR with the fix later

Can you verify that this build works as well? https://builds.jabref.org/pull/11231/merge
I could only check the cfg and it seems to be correct now

Yes, this one works!

Thanks again for your quick testing and feedback!