FS#61919 - [pdfsam] Crash on launch: wrapper script uses wrong path to java binary

Attached to Project: Community Packages
Opened by Nils Steinger (n-st) - Tuesday, 05 March 2019, 15:17 GMT
Last edited by Evgeniy Alexeev (arcan1s) - Wednesday, 20 March 2019, 14:24 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Evgeniy Alexeev (arcan1s)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

The pdfsam wrapper script tries to use OpenJDK 11 by prepending it to $PATH, but the location of the Java binaries has changed in version 11:

% pacman -Qlq jre8-openjdk-headless | grep '/java$'
/usr/lib/jvm/java-8-openjdk/jre/bin/java

% pacman -Qlq jre-openjdk-headless | grep '/java$'
/usr/lib/jvm/java-11-openjdk/bin/java


Additional info:

% pacman -Qi pdfsam
Name : pdfsam
Version : 4.0.1-1

% pacman -Qi jdk11-openjdk
Name : jdk-openjdk
Version : 11.0.2.u7-1


Steps to reproduce:

% pdfsam
Run with exported java-11-openjdk
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/pdfsam/basic/App has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
This task depends upon

Closed by  Evgeniy Alexeev (arcan1s)
Wednesday, 20 March 2019, 14:24 GMT
Reason for closing:  Fixed
Comment by Balló György (City-busz) - Saturday, 16 March 2019, 09:37 GMT
I don't understand your problem. pdfsam launches fine with jre-openjdk 11.0.2.u7-1 here.
Comment by Nils Steinger (n-st) - Saturday, 16 March 2019, 10:12 GMT
Balló, are you using JRE 11 as your system-wide default?
The wrapper script fails to override the system Java version in any case, but this will of course only cause problems when the system-wide Java version is something lower than 11.
Comment by Balló György (City-busz) - Saturday, 16 March 2019, 14:11 GMT
Oh, so you have multiple Java versions installed, and Java 11 is not your system default. I understand it now.

Loading...