#1031260 puppetserver: Needs OpenJDK 17, but does not depend on this version

#1031260#5
Date:
2023-02-14 07:41:16 UTC
From:
To:
On a system with only OpenJDK 11 installed, the puppetserver service
fails to start with this error:

Feb 14 08:28:38 puppet systemd[1]: Starting puppetserver.service - Puppet Server...
Feb 14 08:28:50 puppet java[1942954]: Exception in thread "main" Syntax error macroexpanding at (puppetlabs/services/request_handler/request_handler_core.clj:1:1).
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Compiler.load(Compiler.java:7665)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.loadResourceScript(RT.java:381)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.loadResourceScript(RT.java:372)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.load(RT.java:459)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.load(RT.java:424)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load$fn__6908.invoke(core.clj:6161)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load.invokeStatic(core.clj:6160)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load.doInvoke(core.clj:6144)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.invoke(RestFn.java:408)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_one.invokeStatic(core.clj:5933)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_one.invoke(core.clj:5928)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_lib.invokeStatic(core.clj:5974)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_lib.doInvoke(core.clj:5953)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.applyTo(RestFn.java:142)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$apply.invokeStatic(core.clj:669)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_libs.invokeStatic(core.clj:6016)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_libs.doInvoke(core.clj:6000)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.applyTo(RestFn.java:137)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$apply.invokeStatic(core.clj:669)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$require.invokeStatic(core.clj:6038)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$require.doInvoke(core.clj:6038)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.invoke(RestFn.java:551)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.services.request_handler.request_handler_service$eval18108$loading__6789__auto____18109.invoke(request_handler_service.clj:1)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.services.request_handler.request_handler_service$eval18108.invokeStatic(request_handler_service.clj:1)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.services.request_handler.request_handler_service$eval18108.invoke(request_handler_service.clj:1)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Compiler.eval(Compiler.java:7194)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Compiler.eval(Compiler.java:7183)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Compiler.load(Compiler.java:7653)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.loadResourceScript(RT.java:381)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.loadResourceScript(RT.java:372)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.load(RT.java:459)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.load(RT.java:424)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load$fn__6908.invoke(core.clj:6161)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load.invokeStatic(core.clj:6160)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load.doInvoke(core.clj:6144)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.invoke(RestFn.java:408)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_one.invokeStatic(core.clj:5933)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_one.invoke(core.clj:5928)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_lib.invokeStatic(core.clj:5974)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_lib.doInvoke(core.clj:5953)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.applyTo(RestFn.java:142)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$apply.invokeStatic(core.clj:669)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_libs.invokeStatic(core.clj:6016)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$load_libs.doInvoke(core.clj:6000)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.applyTo(RestFn.java:137)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$apply.invokeStatic(core.clj:669)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$require.invokeStatic(core.clj:6038)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$require.doInvoke(core.clj:6038)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.invoke(RestFn.java:408)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17605$resolve_service_BANG___17612$fn__17613$fn__17614.invoke(bootstrap.clj:217)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17605$resolve_service_BANG___17612$fn__17613.invoke(bootstrap.clj:217)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17605$resolve_service_BANG___17612.invoke(bootstrap.clj:210)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17659$resolve_and_handle_errors_BANG___17666$fn__17670.invoke(bootstrap.clj:248)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17659$resolve_and_handle_errors_BANG___17666.invoke(bootstrap.clj:239)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$map$fn__5935.invoke(core.clj:2770)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.LazySeq.sval(LazySeq.java:42)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.LazySeq.seq(LazySeq.java:51)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.seq(RT.java:535)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$seq__5467.invokeStatic(core.clj:139)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$filter$fn__5962.invoke(core.clj:2826)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.LazySeq.sval(LazySeq.java:42)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.LazySeq.seq(LazySeq.java:51)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.seq(RT.java:535)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$seq__5467.invokeStatic(core.clj:139)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$zipmap.invokeStatic(core.clj:6619)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$zipmap.invoke(core.clj:6619)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17579$check_duplicate_service_implementations_BANG___17586$fn__17587.invoke(bootstrap.clj:203)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17579$check_duplicate_service_implementations_BANG___17586.invoke(bootstrap.clj:196)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17745$parse_bootstrap_configs_BANG___17752$fn__17753.invoke(bootstrap.clj:313)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.bootstrap$eval17745$parse_bootstrap_configs_BANG___17752.invoke(bootstrap.clj:297)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.core$eval18026$boot_with_cli_data__18033$fn__18034.invoke(core.clj:131)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.core$eval18026$boot_with_cli_data__18033.invoke(core.clj:97)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.core$eval18055$run__18060$fn__18061.invoke(core.clj:155)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.core$eval18055$run__18060.invoke(core.clj:149)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.core$main.invokeStatic(core.clj:224)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.core$main.doInvoke(core.clj:210)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.applyTo(RestFn.java:137)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Var.applyTo(Var.java:705)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$apply.invokeStatic(core.clj:667)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.core$apply.invoke(core.clj:662)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.main$_main.invokeStatic(main.clj:7)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.main$_main.doInvoke(main.clj:4)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RestFn.applyTo(RestFn.java:137)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.trapperkeeper.main.main(Unknown Source)
Feb 14 08:28:50 puppet java[1942954]: Caused by: java.lang.UnsupportedClassVersionError: com/puppetlabs/puppetserver/JRubyPuppetResponse has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.defineClass1(Native Method)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:576)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:576)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:576)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:576)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:576)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:576)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.Class.forName0(Native Method)
Feb 14 08:28:50 puppet java[1942954]:         at java.base/java.lang.Class.forName(Class.java:398)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.classForName(RT.java:2209)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.RT.classForNameNonLoading(RT.java:2222)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.services.request_handler.request_handler_core$eval18152$loading__6789__auto____18153.invoke(request_handler_core.clj:1)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.services.request_handler.request_handler_core$eval18152.invokeStatic(request_handler_core.clj:1)
Feb 14 08:28:50 puppet java[1942954]:         at puppetlabs.services.request_handler.request_handler_core$eval18152.invoke(request_handler_core.clj:1)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Compiler.eval(Compiler.java:7194)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Compiler.eval(Compiler.java:7183)
Feb 14 08:28:50 puppet java[1942954]:         at clojure.lang.Compiler.load(Compiler.java:7653)
Feb 14 08:28:50 puppet java[1942954]:         ... 85 more
Feb 14 08:28:51 puppet systemd[1]: puppetserver.service: Main process exited, code=exited, status=1/FAILURE

Apparently it works only with at least the OpenJDK version it has been
compiled with. Installing OpenJDK 17 fixes the problem.