Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-35184

Failed to load jenkins.util.SystemProperties on slaves due to ServletContext

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: core
    • Labels:
    • Environment:
      jenkins-2.6+
    • Similar Issues:

      Description

      Credits to Vladimir Konnov for discovering it. Impact is unclear.

      RingBufferLogHandler is beig used on the slaves side (LOG_HOLDER). SlaveInitializer writes to logs and invokes logic leading to SystemProperties usage. ServletContext class cannot be serialized at that point.

      Cause:

      private static final int DEFAULT_RING_BUFFER_SIZE = SystemProperties.getInteger(RingBufferLogHandler.class.getName() + ".defaultSize", Integer.valueOf(256)).intValue();
      

      Log:

      <===[JENKINS REMOTING CAPACITY]===>channel started
      
      Slave.jar version: 2.59
      
      This is a Unix agent
      
      ERROR: Unable to launch the agent for jenkins-pipline-13
      java.io.IOException: Remote call on jenkins-pipline-13 failed
      	at hudson.remoting.Channel.call(Channel.java:789)
      	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:536)
      	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:381)
      	at hudson.slaves.CommandLauncher.launch(CommandLauncher.java:131)
      	at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:253)
      	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.LinkageError: Failed to load jenkins.util.SystemProperties
      	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:342)
      	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:251)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at hudson.util.RingBufferLogHandler.<clinit>(RingBufferLogHandler.java:39)
      	at hudson.slaves.SlaveComputer$LogHolder.<clinit>(SlaveComputer.java:799)
      	at hudson.slaves.SlaveComputer$SlaveInitializer.call(SlaveComputer.java:808)
      	at hudson.slaves.SlaveComputer$SlaveInitializer.call(SlaveComputer.java:802)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:152)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      	at hudson.remoting.Request$2.run(Request.java:332)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      	at ......remote call to jenkins-pipline-13(Native Method)
      	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
      	at hudson.remoting.UserResponse.retrieve(UserRequest.java:252)
      	at hudson.remoting.Channel.call(Channel.java:781)
      	... 9 more
      Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
      	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:338)
      	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:251)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at hudson.util.RingBufferLogHandler.<clinit>(RingBufferLogHandler.java:39)
      	at hudson.slaves.SlaveComputer$LogHolder.<clinit>(SlaveComputer.java:799)
      	at hudson.slaves.SlaveComputer$SlaveInitializer.call(SlaveComputer.java:808)
      	at hudson.slaves.SlaveComputer$SlaveInitializer.call(SlaveComputer.java:802)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:152)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      	at hudson.remoting.Request$2.run(Request.java:332)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	... 4 more
      Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
      	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch(RemoteClassLoader.java:724)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:884)
      	at hudson.remoting.Request$2.run(Request.java:332)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	at org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:18)
      	at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21)
      	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      	at ......remote call to channel(Native Method)
      	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
      	at hudson.remoting.Request.call(Request.java:172)
      	at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:252)
      	at com.sun.proxy.$Proxy5.fetch(Unknown Source)
      	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:259)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 19 more
      
      ERROR: Connection terminated
      java.io.IOException: Unexpected termination of the channel
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
      Caused by: java.io.EOFException
      	at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2353)
      	at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2822)
      	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
      	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
      	at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
      	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
      ERROR: Process terminated with exit code 143
      

        Attachments

          Issue Links

            Activity

            Hide
            robert Robert Klaus added a comment -

            We have the same failure but on our master (so not on a slave). We did an update to 2.19.2 but that didn't help. The problem hits us daily on different buildjobs without a clear pattern. A Jenkins restart helps.

            I'm not sure if this actually is an issue on its own, but given we have nearly the same stacktrace I guess it is related to this.

            java.io.IOException: Remote call on Channel to Maven [/opt/jdk1.8.0_112/bin/java, -cp, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-agent-1.8.1.jar:/opt/apache-maven-3.3.9/boot/plexus-classworlds-2.5.2.jar:/opt/apache-maven-3.3.9/conf/logging, jenkins.maven3.agent.Maven33Main, /opt/apache-maven-3.3.9, /var/cache/jenkins/war/WEB-INF/lib/remoting-2.62.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-interceptor-1.8.1.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.8.1.jar, 36506] failed
            	at hudson.remoting.Channel.call(Channel.java:805)
            	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:161)
            	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:873)
            	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
            	at hudson.model.Run.execute(Run.java:1720)
            	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:544)
            	at hudson.model.ResourceController.execute(ResourceController.java:98)
            	at hudson.model.Executor.run(Executor.java:404)
            Caused by: java.lang.LinkageError: Failed to load jenkins.util.SystemProperties
            	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:377)
            	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:285)
            	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
            	at hudson.Main.<clinit>(Main.java:222)
            	at hudson.EnvVars.initMaster(EnvVars.java:432)
            	at hudson.EnvVars.<clinit>(EnvVars.java:427)
            	at java.io.ObjectStreamClass.hasStaticInitializer(Native Method)
            	at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1787)
            	at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:72)
            	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:253)
            	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:251)
            	at java.security.AccessController.doPrivileged(Native Method)
            	at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:250)
            	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:611)
            	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630)
            	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
            	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781)
            	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
            	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018)
            	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942)
            	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808)
            	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
            	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
            	at hudson.remoting.UserRequest.deserialize(UserRequest.java:217)
            	at hudson.remoting.UserRequest.perform(UserRequest.java:131)
            	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
            	at hudson.remoting.Request$2.run(Request.java:332)
            	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
            	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            	at java.lang.Thread.run(Thread.java:745)
            	at ......remote call to Channel to Maven [/opt/jdk1.8.0_112/bin/java, -cp, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-agent-1.8.1.jar:/opt/apache-maven-3.3.9/boot/plexus-classworlds-2.5.2.jar:/opt/apache-maven-3.3.9/conf/logging, jenkins.maven3.agent.Maven33Main, /opt/apache-maven-3.3.9, /var/cache/jenkins/war/WEB-INF/lib/remoting-2.62.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-interceptor-1.8.1.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.8.1.jar, 36506](Native Method)
            	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1433)
            	at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
            	at hudson.remoting.Channel.call(Channel.java:797)
            	... 7 more
            Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
            	at java.lang.ClassLoader.defineClass1(Native Method)
            	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
            	at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
            	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:373)
            	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:285)
            	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
            	at hudson.Main.<clinit>(Main.java:222)
            	at hudson.EnvVars.initMaster(EnvVars.java:432)
            	at hudson.EnvVars.<clinit>(EnvVars.java:427)
            	at java.io.ObjectStreamClass.hasStaticInitializer(Native Method)
            	at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1787)
            	at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:72)
            	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:253)
            	at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:251)
            	at java.security.AccessController.doPrivileged(Native Method)
            	at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:250)
            	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:611)
            	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630)
            	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
            	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781)
            	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
            	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018)
            	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942)
            	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808)
            	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
            	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
            	at hudson.remoting.UserRequest.deserialize(UserRequest.java:217)
            	at hudson.remoting.UserRequest.perform(UserRequest.java:131)
            	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
            	at hudson.remoting.Request$2.run(Request.java:332)
            	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
            	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            	at java.lang.Thread.run(Thread.java:745)
            Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener (java.net.URLClassLoader@3f99bd52 did not find class file)
            	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch2(RemoteClassLoader.java:792)
            	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch4(RemoteClassLoader.java:842)
            	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch3(RemoteClassLoader.java:849)
            	at sun.reflect.GeneratedMethodAccessor208.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:498)
            	at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:887)
            	at hudson.remoting.Request$2.run(Request.java:332)
            	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
            	at org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:18)
            	at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21)
            	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
            	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            	at java.lang.Thread.run(Thread.java:745)
            	at ......remote call to channel(Native Method)
            	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1433)
            	at hudson.remoting.Request.call(Request.java:172)
            	at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:255)
            	at com.sun.proxy.$Proxy2.fetch3(Unknown Source)
            	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:187)
            	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
            	... 36 more
            
            Show
            robert Robert Klaus added a comment - We have the same failure but on our master (so not on a slave). We did an update to 2.19.2 but that didn't help. The problem hits us daily on different buildjobs without a clear pattern. A Jenkins restart helps. I'm not sure if this actually is an issue on its own, but given we have nearly the same stacktrace I guess it is related to this. java.io.IOException: Remote call on Channel to Maven [/opt/jdk1.8.0_112/bin/java, -cp, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-agent-1.8.1.jar:/opt/apache-maven-3.3.9/boot/plexus-classworlds-2.5.2.jar:/opt/apache-maven-3.3.9/conf/logging, jenkins.maven3.agent.Maven33Main, /opt/apache-maven-3.3.9, /var/cache/jenkins/war/WEB-INF/lib/remoting-2.62.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-interceptor-1.8.1.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.8.1.jar, 36506] failed at hudson.remoting.Channel.call(Channel.java:805) at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:161) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:873) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) at hudson.model.Run.execute(Run.java:1720) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:544) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:404) Caused by: java.lang.LinkageError: Failed to load jenkins.util.SystemProperties at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:377) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:285) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at hudson.Main.<clinit>(Main.java:222) at hudson.EnvVars.initMaster(EnvVars.java:432) at hudson.EnvVars.<clinit>(EnvVars.java:427) at java.io.ObjectStreamClass.hasStaticInitializer(Native Method) at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1787) at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:72) at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:253) at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:251) at java.security.AccessController.doPrivileged(Native Method) at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:250) at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:611) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) at hudson.remoting.UserRequest.deserialize(UserRequest.java:217) at hudson.remoting.UserRequest.perform(UserRequest.java:131) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ......remote call to Channel to Maven [/opt/jdk1.8.0_112/bin/java, -cp, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-agent-1.8.1.jar:/opt/apache-maven-3.3.9/boot/plexus-classworlds-2.5.2.jar:/opt/apache-maven-3.3.9/conf/logging, jenkins.maven3.agent.Maven33Main, /opt/apache-maven-3.3.9, /var/cache/jenkins/war/WEB-INF/lib/remoting-2.62.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven33-interceptor-1.8.1.jar, /opt/jenkins/home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.8.1.jar, 36506](Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1433) at hudson.remoting.UserResponse.retrieve(UserRequest.java:253) at hudson.remoting.Channel.call(Channel.java:797) ... 7 more Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.lang.ClassLoader.defineClass(ClassLoader.java:642) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:373) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:285) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at hudson.Main.<clinit>(Main.java:222) at hudson.EnvVars.initMaster(EnvVars.java:432) at hudson.EnvVars.<clinit>(EnvVars.java:427) at java.io.ObjectStreamClass.hasStaticInitializer(Native Method) at java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java:1787) at java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:72) at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:253) at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:251) at java.security.AccessController.doPrivileged(Native Method) at java.io.ObjectStreamClass.getSerialVersionUID(ObjectStreamClass.java:250) at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:611) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) at hudson.remoting.UserRequest.deserialize(UserRequest.java:217) at hudson.remoting.UserRequest.perform(UserRequest.java:131) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener (java.net.URLClassLoader@3f99bd52 did not find class file) at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch2(RemoteClassLoader.java:792) at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch4(RemoteClassLoader.java:842) at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch3(RemoteClassLoader.java:849) at sun.reflect.GeneratedMethodAccessor208.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:887) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:18) at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ......remote call to channel(Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1433) at hudson.remoting.Request.call(Request.java:172) at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:255) at com.sun.proxy.$Proxy2.fetch3(Unknown Source) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 36 more
            Hide
            ydubreuil Yoann Dubreuil added a comment -

            Yes, it is related. It seems that a plugin is trying to use SystemProperties from a slave. Unfortunately, the stacktrace doesn't contain enough information to pinpoint which plugin causes this.

            To get you some context, the fix which went to 2.19.2 changes the way the slave initializer get the ringBufferSize property in order to not use SystemProperties from a slave, because it's not legal (which is why the patched also added OnMaster marker to SystemProperties class)

            Show
            ydubreuil Yoann Dubreuil added a comment - Yes, it is related. It seems that a plugin is trying to use SystemProperties from a slave. Unfortunately, the stacktrace doesn't contain enough information to pinpoint which plugin causes this. To get you some context, the fix which went to 2.19.2 changes the way the slave initializer get the ringBufferSize property in order to not use SystemProperties from a slave, because it's not legal (which is why the patched also added OnMaster marker to SystemProperties class)
            Hide
            robert Robert Klaus added a comment -

            Thanks for the info. We also suspected a plugin but are a bit lost figuring out which one causes this. Is there a log where this might be found?

            Show
            robert Robert Klaus added a comment - Thanks for the info. We also suspected a plugin but are a bit lost figuring out which one causes this. Is there a log where this might be found?
            Hide
            ydubreuil Yoann Dubreuil added a comment -

            Not that I know of. To find which plugin it is, you will need to find the class which triggers the load on the slave. Turning classloading logs on a slave might help or remoting layer logs.

            Show
            ydubreuil Yoann Dubreuil added a comment - Not that I know of. To find which plugin it is, you will need to find the class which triggers the load on the slave. Turning classloading logs on a slave might help or remoting layer logs.
            Hide
            danielbeck Daniel Beck added a comment -

            This is the remoting channel Jenkins uses to attach to a Maven Project build.

            Don't use the Maven project type. It's evil.

            Show
            danielbeck Daniel Beck added a comment - This is the remoting channel Jenkins uses to attach to a Maven Project build. Don't use the Maven project type. It's evil.

              People

              • Assignee:
                oleg_nenashev Oleg Nenashev
                Reporter:
                oleg_nenashev Oleg Nenashev
              • Votes:
                1 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: