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

Jenkins agent throws exception on IBM z/OS when detecting swap space

XMLWordPrintable

      When starting up a Jenkins agent on IBM z/OS, an exception is thrown.  This is due to z/OS not supporting a typical interface for swap space calculations.  It would be better if the swap space detection code was skipped completely on z/OS, as it won't work in the curent z/OS environment.

       

      Aug 24, 2023 9:52:48 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
      INFO: Using /home/zoauser/jenkins/agent/remoting as a remoting work directory
      Aug 24, 2023 9:52:48 PM org.jenkinsci.remoting.engine.WorkDirManager setupLogging
      INFO: Both error and output logs will be printed to /home/zoauser/jenkins/agent/remoting
      <===[JENKINS REMOTING CAPACITY]===>channel started
      Remoting version: 3142.vcfca_0cd92128
      Launcher: SSHLauncher
      Communication Protocol: Standard in/out
      This is a Unix agent
      ERROR: Unexpected error in launching an agent. This is probably a bug in Jenkins
      java.lang.NoSuchMethodException: java.lang.Class.getDeclaredFields0(boolean)
      	at java.base@11.0.19/java.lang.Class.newNoSuchMethodException(Class.java:649)
      	at java.base@11.0.19/java.lang.Class.throwExceptionOrReturnNull(Class.java:1447)
      	at java.base@11.0.19/java.lang.Class.getMethodHelper(Class.java:1533)
      	at java.base@11.0.19/java.lang.Class.getDeclaredMethod(Class.java:1121)
      	at org.jenkinsci.plugins.envinject.service.EnvInjectMasterEnvVarsSetter.getModifiers(EnvInjectMasterEnvVarsSetter.java:28)
      	at org.jenkinsci.plugins.envinject.service.EnvInjectMasterEnvVarsSetter.call(EnvInjectMasterEnvVarsSetter.java:55)
      Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to np4
      		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1787)
      		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
      		at hudson.remoting.Channel.call(Channel.java:1003)
      		at hudson.FilePath.act(FilePath.java:1283)
      		at org.jenkinsci.plugins.envinject.EnvInjectComputerListener.onOnline(EnvInjectComputerListener.java:144)
      		at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:751)
      		at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:441)
      		at hudson.plugins.sshslaves.SSHLauncher.startAgent(SSHLauncher.java:641)
      		at hudson.plugins.sshslaves.SSHLauncher.lambda$launch$0(SSHLauncher.java:458)
      		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      		at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      		at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      		at java.base/java.lang.Thread.run(Thread.java:829)
      Caused: java.lang.RuntimeException
      	at org.jenkinsci.plugins.envinject.service.EnvInjectMasterEnvVarsSetter.call(EnvInjectMasterEnvVarsSetter.java:62)
      	at org.jenkinsci.plugins.envinject.service.EnvInjectMasterEnvVarsSetter.call(EnvInjectMasterEnvVarsSetter.java:19)
      	at app//hudson.remoting.UserRequest.perform(UserRequest.java:211)
      	at app//hudson.remoting.UserRequest.perform(UserRequest.java:54)
      	at app//hudson.remoting.Request$2.run(Request.java:377)
      	at app//hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
      	at java.base@11.0.19/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base@11.0.19/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base@11.0.19/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base@11.0.19/java.lang.Thread.run(Thread.java:839)
      Agent successfully connected and online
      ERROR: Failed to monitor for Free Swap Space
      Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to np4
      		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1787)
      		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
      		at hudson.remoting.Channel$2.adapt(Channel.java:1037)
      		at hudson.remoting.Channel$2.adapt(Channel.java:1033)
      		at hudson.remoting.FutureAdapter.get(FutureAdapter.java:66)
      		at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:112)
      		at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:76)
      		at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:305)
      java.io.IOException: No suitable implementation found: os.name=z/OS os.arch=s390x sun.arch.data.model=64
      	at org.jvnet.hudson.MemoryMonitor.obtain(MemoryMonitor.java:93)
      	at org.jvnet.hudson.MemoryMonitor.get(MemoryMonitor.java:59)
      	at hudson.node_monitors.SwapSpaceMonitor$MonitorTask.call(SwapSpaceMonitor.java:125)
      	at hudson.node_monitors.SwapSpaceMonitor$MonitorTask.call(SwapSpaceMonitor.java:120)
      	at app//hudson.remoting.UserRequest.perform(UserRequest.java:211)
      	at app//hudson.remoting.UserRequest.perform(UserRequest.java:54)
      	at app//hudson.remoting.Request$2.run(Request.java:377)
      	at app//hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
      	at java.base@11.0.19/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base@11.0.19/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base@11.0.19/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base@11.0.19/java.lang.Thread.run(Thread.java:839)
      Caused: java.util.concurrent.ExecutionException
      	at hudson.remoting.Channel$2.adapt(Channel.java:1039)
      	at hudson.remoting.Channel$2.adapt(Channel.java:1033)
      	at hudson.remoting.FutureAdapter.get(FutureAdapter.java:66)
      	at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:112)
      	at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:76)
      	at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:305)
      REST API 

            Unassigned Unassigned
            agiorgio Anthony Giorgio
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: