Jenkins Upgrade Issue (from 2.462.3 to 2.479.3 LTS)

Hello,

I have upgraded Jenkins from 2.462.3 LTS to 2.479.3 LTS. i updated all plugins before upgrade. Everything was working after upgrade. But when i updated all plugins after upgrade. Jenkins is broken. Below is the error message i’m getting
below error

java.lang.NullPointerException: Cannot invoke “Object.getClass()” because “s” is null
at java.base/java.util.Collections.unmodifiableSet(Collections.java:1132)
at PluginClassLoader for scriptler//org.jenkinsci.plugins.scriptler.config.ScriptSet.getScripts(ScriptSet.java:92)
at PluginClassLoader for scriptler//org.jenkinsci.plugins.scriptler.config.ScriptlerConfiguration.load(ScriptlerConfiguration.java:102)
at PluginClassLoader for scriptler//org.jenkinsci.plugins.scriptler.ScriptlerLoadingTasks.synchronizeConfig(ScriptlerLoadingTasks.java:69)
Caused: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109)
Caused: java.lang.Error
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:115)
at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1195)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused: org.jvnet.hudson.reactor.ReactorException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:290)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:49)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:1230)
at jenkins.model.Jenkins.(Jenkins.java:1017)
at hudson.model.Hudson.(Hudson.java:102)
at hudson.model.Hudson.(Hudson.java:87)
at hudson.WebAppMain$3.run(WebAppMain.java:249)
Caused: hudson.util.HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.java:274)

Platform and tools used
OS: Red Hat 8.6
Apache Tomcat: 11.0.2.0
Java: IBM Semeru Runtime Open Edition 17.0.12.1

Is there anything I’m missing here ?

You’re running a configuration that Jenkins maintainers do not test. You’re much more likely to succeed if you use a configuration that is tested by Jenkins maintainers.

Apache Tomcat 11.0.2 implements the Jakarta EE servlet API 6.1 specification. The Jenkins servlet container support policy notes that it and other servlet containers implementing at least the Servlet API 5.0 specification are level 2 supported. It defines that support as:

Support may have limitations and extra requirements. We do not regularly test compatibility, and we may drop support at any time. We consider patches that do not put Level 1 support at risk and do not create maintenance overhead.

I think you should use the servlet container that is bundled with Jenkins (Eclipse Jetty). You can use that with the java -jar jenkins.war command. No additional servlet container is needed.

The Jenkins project does not test the IBM Semeru JDK or the Eclipse OpenJ9 JDK. The Jenkins Java support policy says:

Jenkins maintainers actively test HotSpot based Java virtual machines like those from OpenJDK, Eclipse Temurin, and Amazon Corretto. Jenkins maintainers do not test Eclipse OpenJ9 based Java virtual machines. The Platform Special Interest Group does not actively work on OpenJ9 based Java virtual machines.

1 Like