seqeralabs / nf-tower

Nextflow Tower system
https://tower.nf
Mozilla Public License 2.0
143 stars 51 forks source link

Java runtimes version issue on install #375

Open m-liddell opened 1 year ago

m-liddell commented 1 year ago

I've tried installing on 3 Ubuntu machines and make run step always fails with

Attaching to nf-tower_backend_1, nf-tower_frontend_1
backend_1   | Error: A JNI error has occurred, please check your installation and try again
frontend_1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
frontend_1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
backend_1   | Exception in thread "main" java.lang.UnsupportedClassVersionError: io/seqera/tower/Application 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
backend_1   |   at java.lang.ClassLoader.defineClass1(Native Method)
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
backend_1   |   at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
backend_1   |   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
frontend_1  | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
frontend_1  | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
backend_1   |   at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
backend_1   |   at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
backend_1   |   at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
backend_1   |   at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
backend_1   |   at java.security.AccessController.doPrivileged(Native Method)
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
backend_1   |   at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
frontend_1  | /docker-entrypoint.sh: Configuration complete; ready for start up
backend_1   |   at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
backend_1   |   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
backend_1   |   at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
backend_1   |   at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
nf-tower_backend_1 exited with code 1

Java versions

openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1) OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1, mixed mode, sharing)

Any help apppreciated

galindus commented 1 year ago

Hi, this is caused by different java versions. To fix install java 8 and run make build again.

Best

m-liddell commented 1 year ago

make build with java 8 results in the same error