We previously had this working under Jenkins 2.175 with z/OS USS R2.3 with the same JDK. 2.175 did not work on USS R2.4 at any point, and upgrading to 2.222.3 did not help. The same controller starts agents on a diverse set of platforms, so we are suspecting this might be a gap between Jenkins and the JDK or platform.
I have reached out to the platform vendor, IBM, for help, but they are currently suggesting this is a Jenkins issue.
The agenda does start:
<===[JENKINS REMOTING CAPACITY]===><===[HUDSON TRANSMISSION BEGINS]===channel started
Remoting version: 4.2
This is a Unix agent
Jun 08, 2020 1:05:55 PM hudson.remoting.UserRequest perform
WARNING: LinkageError while performing UserRequest:jenkins.slaves.StandardOutputSwapper$ChannelSwapper@329ec9d8
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/z/os-s390x/libjnidispatch.so) not found in resource path ([])
The libjnidispatch.so exception occurs on many platforms, so we do not think this is an issue.
After this, the we get the following exceptions:
jenkins.slaves.StandardOutputSwapper$ChannelSwapper.swap(StandardOutputSwapper.java:60)
{{ at jenkins.slaves.StandardOutputSwapper$ChannelSwapper.call(StandardOutputSwapper.java:45)}}
{{ at jenkins.slaves.StandardOutputSwapper$ChannelSwapper.call(StandardOutputSwapper.java:39)}}
{{ at hudson.remoting.UserRequest.perform(UserRequest.java:211)}}
{{ at hudson.remoting.UserRequest.perform(UserRequest.java:54)}}
{{ at hudson.remoting.Request$2.run(Request.java:369)}}
{{ at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)}}
{{ at java.util.concurrent.FutureTask.run(FutureTask.java:277)}}
{{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)}}
{{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)}}
{{ at java.lang.Thread.run(Thread.java:820)}}ERROR: Failed to monitor for Response Time
java.util.concurrent.TimeoutException
{{ at hudson.remoting.Request$1.get(Request.java:316)}}
{{ at hudson.remoting.Request$1.get(Request.java:240)}}
{{ at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:114)}}
{{ at hudson.node_monitors.ResponseTimeMonitor$1.monitor(ResponseTimeMonitor.java:57)}}
{{ at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:306)}}
ERROR: Failed to monitor for Free Swap Space
java.util.concurrent.TimeoutException
{{ at hudson.remoting.Request$1.get(Request.java:316)}}
{{ at hudson.remoting.Request$1.get(Request.java:240)}}
{{ at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:114)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:78)}}
{{ at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:306)}}
ERROR: Failed to monitor for Free Disk Space
java.util.concurrent.TimeoutException
{{ at hudson.remoting.Request$1.get(Request.java:316)}}
{{ at hudson.remoting.Request$1.get(Request.java:240)}}
{{ at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:114)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:78)}}
{{ at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:306)}}
ERROR: Failed to monitor for Free Temp Space
java.util.concurrent.TimeoutException
{{ at hudson.remoting.Request$1.get(Request.java:316)}}
{{ at hudson.remoting.Request$1.get(Request.java:240)}}
{{ at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:114)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:78)}}
{{ at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:306)}}
ERROR: Failed to monitor for Clock Difference
java.util.concurrent.TimeoutException
{{ at hudson.remoting.Request$1.get(Request.java:316)}}
{{ at hudson.remoting.Request$1.get(Request.java:240)}}
{{ at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:114)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:78)}}
{{ at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:306)}}
ERROR: Failed to monitor for Architecture
java.util.concurrent.TimeoutException
{{ at hudson.remoting.Request$1.get(Request.java:316)}}
{{ at hudson.remoting.Request$1.get(Request.java:240)}}
{{ at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitorDetailed(AbstractAsyncNodeMonitorDescriptor.java:114)}}
{{ at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:78)}}
{{ at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:306)}}
Then the agent sits until the SSH timeout at which point we get this:
ERROR: null
java.util.concurrent.CancellationException
{{ at java.util.concurrent.FutureTask.report(FutureTask.java:121)}}
{{ at java.util.concurrent.FutureTask.get(FutureTask.java:192)}}
{{ at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:481)}}
{{ at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:292)}}
{{ at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)}}
{{ at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)}}
{{ at java.util.concurrent.FutureTask.run(FutureTask.java:266)}}
{{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}}
{{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}}
{{ at java.lang.Thread.run(Thread.java:748)}}