-
Bug
-
Resolution: Won't Fix
-
Major
-
None
-
# Master:
OS: Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-39-generic x86_64)
$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
Jenkins ver. 1.626
SSH Agent Plugin: 1.8
I'm running the jenkins master from the ubuntu package (unsure what container that is, my guess is that it isn't relevant to the issue at hand).
The slaves are configured to launch slave agents via SSH
Slave1 (doesnt work):
$ cat /etc/debian_version
8.2
$ uname -a
Linux alpha-refi-automatic-tester 3.17.1-bone4.1 #1 Sat Nov 1 16:01:10 CET 2014 armv7l GNU/Linux
$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)
Slave2 (doesnt work):
OS: Ubuntu 15.04
$ uname -a
Linux arm-jenkins 4.0.5-235 #1 SMP Fri Jun 19 08:56:44 UTC 2015 armv7l armv7l armv7l GNU/Linux
$ java -version
java version "1.8.0_33"
Java(TM) SE Runtime Environment (build 1.8.0_33-b05)
Java HotSpot(TM) Client VM (build 25.33-b05, mixed mode)
Slave3 (does work):
OS: Ubuntu 15.04
$ uname -a
Linux ip-172-31-39-188 3.19.0-20-generic #20-Ubuntu SMP Fri May 29 10:10:47 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)# Master: OS: Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-39-generic x86_64) $ java -version java version "1.7.0_79" OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode) Jenkins ver. 1.626 SSH Agent Plugin: 1.8 I'm running the jenkins master from the ubuntu package (unsure what container that is, my guess is that it isn't relevant to the issue at hand). The slaves are configured to launch slave agents via SSH Slave1 (doesnt work): $ cat /etc/debian_version 8.2 $ uname -a Linux alpha-refi-automatic-tester 3.17.1-bone4.1 #1 Sat Nov 1 16:01:10 CET 2014 armv7l GNU/Linux $ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode) Slave2 (doesnt work): OS: Ubuntu 15.04 $ uname -a Linux arm-jenkins 4.0.5-235 #1 SMP Fri Jun 19 08:56:44 UTC 2015 armv7l armv7l armv7l GNU/Linux $ java -version java version "1.8.0_33" Java(TM) SE Runtime Environment (build 1.8.0_33-b05) Java HotSpot(TM) Client VM (build 25.33-b05, mixed mode) Slave3 (does work): OS: Ubuntu 15.04 $ uname -a Linux ip-172-31-39-188 3.19.0-20-generic #20-Ubuntu SMP Fri May 29 10:10:47 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux $ java -version java version "1.7.0_79" OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu1) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
When trying to use the ssh-agent-plugin on any of my ARM slaves I get the following stacktrace:
Started by user ... Building remotely on refi-tester in workspace /jenkins/workspace/test-job-refi-teq [ssh-agent] Using credentials jenkins (jenkins' own ssh key) [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Java/JNR ssh-agent [ssh-agent] FATAL: Could not find a suitable ssh-agent provider [ssh-agent] Diagnostic report [ssh-agent] * Java/JNR ssh-agent [ssh-agent] java.io.IOException: Remote call on refi-tester failed [ssh-agent] at hudson.remoting.Channel.call(Channel.java:786) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentFactory.start(JNRRemoteAgentFactory.java:61) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:314) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:224) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:189) [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:76) [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:531) [ssh-agent] at hudson.model.Run.execute(Run.java:1741) [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:98) [ssh-agent] at hudson.model.Executor.run(Executor.java:408) [ssh-agent] Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider [ssh-agent] at jnr.ffi.provider.InvalidRuntime.newLoadError(InvalidRuntime.java:83) [ssh-agent] at jnr.ffi.provider.InvalidRuntime.findType(InvalidRuntime.java:24) [ssh-agent] at jnr.ffi.Struct$NumberField.<init>(Struct.java:649) [ssh-agent] at jnr.ffi.Struct$Unsigned16.<init>(Struct.java:1007) [ssh-agent] at jnr.unixsocket.SockAddrUnix$DefaultSockAddrUnix.<init>(SockAddrUnix.java:129) [ssh-agent] at jnr.unixsocket.SockAddrUnix.create(SockAddrUnix.java:99) [ssh-agent] at jnr.unixsocket.UnixSocketAddress.<init>(UnixSocketAddress.java:32) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:73) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgent.<init>(JNRRemoteAgent.java:64) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:63) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:37) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:121) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:49) [ssh-agent] at hudson.remoting.Request$2.run(Request.java:326) [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) [ssh-agent] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [ssh-agent] at java.lang.Thread.run(Thread.java:745) [ssh-agent] at ......remote call to refi-tester(Native Method) [ssh-agent] at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1413) [ssh-agent] at hudson.remoting.UserResponse.retrieve(UserRequest.java:221) [ssh-agent] at hudson.remoting.Channel.call(Channel.java:778) [ssh-agent] ... 10 more [ssh-agent] Caused by: java.lang.ExceptionInInitializerError [ssh-agent] at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49) [ssh-agent] at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29) [ssh-agent] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [ssh-agent] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [ssh-agent] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [ssh-agent] at java.lang.reflect.Constructor.newInstance(Constructor.java:422) [ssh-agent] at java.lang.Class.newInstance(Class.java:442) [ssh-agent] at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:60) [ssh-agent] at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:49) [ssh-agent] at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35) [ssh-agent] at jnr.ffi.Runtime$SingletonHolder.<clinit>(Runtime.java:85) [ssh-agent] at jnr.ffi.Runtime.getSystemRuntime(Runtime.java:70) [ssh-agent] at jnr.unixsocket.SockAddrUnix.<init>(SockAddrUnix.java:34) [ssh-agent] at jnr.unixsocket.SockAddrUnix$DefaultSockAddrUnix.<init>(SockAddrUnix.java:128) [ssh-agent] at jnr.unixsocket.SockAddrUnix.create(SockAddrUnix.java:99) [ssh-agent] at jnr.unixsocket.UnixSocketAddress.<init>(UnixSocketAddress.java:32) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:73) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgent.<init>(JNRRemoteAgent.java:64) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:63) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:37) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:121) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:49) [ssh-agent] at hudson.remoting.Request$2.run(Request.java:326) [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) [ssh-agent] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [ssh-agent] at java.lang.Thread.run(Thread.java:745) [ssh-agent] Caused by: java.lang.IllegalStateException: Can't overwrite cause with java.lang.UnsatisfiedLinkError [ssh-agent] at java.lang.Throwable.initCause(Throwable.java:457) [ssh-agent] at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:252) [ssh-agent] at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237) [ssh-agent] at com.kenai.jffi.Type.resolveSize(Type.java:155) [ssh-agent] at com.kenai.jffi.Type.size(Type.java:138) [ssh-agent] at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178) [ssh-agent] at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48) [ssh-agent] at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57) [ssh-agent] at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41) [ssh-agent] at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53) [ssh-agent] ... 28 more [ssh-agent] Caused by: java.lang.UnsatisfiedLinkError [ssh-agent] at com.kenai.jffi.Foreign.newLoadError(Foreign.java:72) [ssh-agent] at com.kenai.jffi.Foreign.access$300(Foreign.java:42) [ssh-agent] at com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:98) [ssh-agent] at com.kenai.jffi.Foreign.getInstance(Foreign.java:103) [ssh-agent] at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242) [ssh-agent] ... 36 more [ssh-agent] Caused by: java.lang.UnsatisfiedLinkError: /tmp/jffi3859728592252335340.tmp: /tmp/jffi3859728592252335340.tmp: cannot open shared object file: No such file or directory [ssh-agent] at java.lang.ClassLoader$NativeLibrary.load(Native Method) [ssh-agent] at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938) [ssh-agent] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821) [ssh-agent] at java.lang.Runtime.load0(Runtime.java:809) [ssh-agent] at java.lang.System.load(System.java:1086) [ssh-agent] at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:328) [ssh-agent] at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:235) [ssh-agent] at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:403) [ssh-agent] at java.lang.Class.forName0(Native Method) [ssh-agent] at java.lang.Class.forName(Class.java:348) [ssh-agent] at com.kenai.jffi.Init.load(Init.java:68) [ssh-agent] at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49) [ssh-agent] at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45) [ssh-agent] ... 38 more FATAL: [ssh-agent] Unable to start agent hudson.util.IOException2: [ssh-agent] Unable to start agent at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:231) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:189) at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:76) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:531) at hudson.model.Run.execute(Run.java:1741) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:408) Caused by: java.lang.RuntimeException: [ssh-agent] Could not find a suitable ssh-agent provider. at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:332) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:224) ... 7 more Finished: FAILURE
the ssh-agent-plugin works fine if I run it on one of my x86 machines (detailed above).
Same bug on PowerPC and Aarch64 slaves. See also https://issues.jenkins-ci.org/browse/JENKINS-37430
On Aarch64, the relevant line is:
It makes the plugin unusable on anything except x86.
I tried to install libjffi-jni package on the slave but it doesn't help. It doesn't provide libjffi-1.2.so shared library but jffi-native.jar.