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

Native Library Error after upgrading ssh-agent from 1.3 to 1.4

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Labels:
      None
    • Environment:
    • Similar Issues:

      Description

      when starting an ssh agent on the slave the following stack trace occurs. Downgrading to 1.3 resolves the issue.

      Started by user Mark
      Building remotely on EC2-Jenkins-Slave (i-5a34613e) in workspace /var/jenkins/workspace/Mirror_Global_Commerce
      [ssh-agent] Using credentials jenkinsadmin
      [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 EC2-Jenkins-Slave (i-5a34613e) failed
      [ssh-agent] at hudson.remoting.Channel.call(Channel.java:723)
      [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:211)
      [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
      [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
      [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
      [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556)
      [ssh-agent] at hudson.model.Run.execute(Run.java:1665)
      [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88)
      [ssh-agent] at hudson.model.Executor.run(Executor.java:230)
      [ssh-agent] Caused by: java.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32
      [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87)
      [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70)
      [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49)
      [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59)
      [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125)
      [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63)
      [ssh-agent] at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43)
      [ssh-agent] at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228)
      [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:123)
      [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:80)
      [ssh-agent] at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40)
      [ssh-agent] at jnr.unixsocket.Native.libsocket(Native.java:60)
      [ssh-agent] at jnr.unixsocket.Native.socket(Native.java:68)
      [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38)
      [ssh-agent] at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29)
      [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48)
      [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67)
      [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:54)
      [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
      [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      [ssh-agent] at hudson.remoting.Request$2.run(Request.java:326)
      [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      [ssh-agent] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      [ssh-agent] at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      [ssh-agent] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
      [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      [ssh-agent] at java.lang.Thread.run(Thread.java:679)
      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:130)
      at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
      at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556)
      at hudson.model.Run.execute(Run.java:1665)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:230)
      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:229)
      at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
      ... 7 more

        Attachments

          Activity

          mklunder Mark Klunder created issue -
          mklunder Mark Klunder made changes -
          Field Original Value New Value
          Component/s credentials [ 16523 ]
          mklunder Mark Klunder made changes -
          Summary Native Library Error after upgrading from 1.3 to 1.4 Native Library Error after upgrading ssh-agent from 1.3 to 1.4
          Hide
          cheroenso Chris Brann added a comment -

          Another instance:
          Jenkins ver. 1.536
          2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

          [ssh-agent] Using credentials jenkins
          [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 cotati failed
          [ssh-agent] at hudson.remoting.Channel.call(Channel.java:723)
          [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:211)
          [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556)
          [ssh-agent] at hudson.model.Run.execute(Run.java:1665)
          [ssh-agent] at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:509)
          [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88)
          [ssh-agent] at hudson.model.Executor.run(Executor.java:230)
          [ssh-agent] Caused by: java.lang.NoClassDefFoundError: Could not initialize class jnr.unixsocket.Native$LibC

          Downgrading to 1.1 resolves the problem.

          Show
          cheroenso Chris Brann added a comment - Another instance: Jenkins ver. 1.536 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux [ssh-agent] Using credentials jenkins [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 cotati failed [ssh-agent] at hudson.remoting.Channel.call(Channel.java:723) [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:211) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556) [ssh-agent] at hudson.model.Run.execute(Run.java:1665) [ssh-agent] at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:509) [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88) [ssh-agent] at hudson.model.Executor.run(Executor.java:230) [ssh-agent] Caused by: java.lang.NoClassDefFoundError: Could not initialize class jnr.unixsocket.Native$LibC Downgrading to 1.1 resolves the problem.
          Hide
          njgraham Nathan Graham added a comment -

          We're seeing the exact issue noted in the original description with SSH agent plugin version 1.4. Version 1.3 of the SSH agent plugin works just fine, however. We're running Jenkins ver. 1.521.

          Show
          njgraham Nathan Graham added a comment - We're seeing the exact issue noted in the original description with SSH agent plugin version 1.4. Version 1.3 of the SSH agent plugin works just fine, however. We're running Jenkins ver. 1.521.
          Hide
          hannes_ucsc Hannes Schmidt added a comment -

          Same here:

          [ssh-agent] Using credentials jenkins
          [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 centos5-rpmbuild-jenkins-slave (i-dcdd7e81) failed
          [ssh-agent]     	at hudson.remoting.Channel.call(Channel.java:723)
          [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:211)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          [ssh-agent]     	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          [ssh-agent]     	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556)
          [ssh-agent]     	at hudson.model.Run.execute(Run.java:1679)
          [ssh-agent]     	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          [ssh-agent]     	at hudson.model.ResourceController.execute(ResourceController.java:88)
          [ssh-agent]     	at hudson.model.Executor.run(Executor.java:230)
          [ssh-agent]     Caused by: java.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59)
          [ssh-agent]     	at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125)
          [ssh-agent]     	at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43)
          [ssh-agent]     	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228)
          [ssh-agent]     	at jnr.ffi.Library.loadLibrary(Library.java:123)
          [ssh-agent]     	at jnr.ffi.Library.loadLibrary(Library.java:80)
          [ssh-agent]     	at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40)
          [ssh-agent]     	at jnr.unixsocket.Native.libsocket(Native.java:60)
          [ssh-agent]     	at jnr.unixsocket.Native.socket(Native.java:68)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67)
          [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:54)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
          [ssh-agent]     	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          [ssh-agent]     	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          [ssh-agent]     	at hudson.remoting.Request$2.run(Request.java:326)
          [ssh-agent]     	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          [ssh-agent]     	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
          [ssh-agent]     	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
          [ssh-agent]     	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          [ssh-agent]     	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          [ssh-agent]     	at java.lang.Thread.run(Thread.java:662)
          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:130)
          	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556)
          	at hudson.model.Run.execute(Run.java:1679)
          	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:230)
          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:229)
          	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          	... 7 more
          

          Master: Linux ip-10-170-97-179 3.8.0-32-generic #47-Ubuntu SMP Tue Oct 1 22:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
          Slave: Linux ip-10-196-66-23 2.6.18-308.16.1.el5.centos.plusxen #1 SMP Tue Oct 2 23:25:27 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

          awt.toolkit	sun.awt.X11.XToolkit
          executable-war	/usr/share/jenkins/jenkins.war
          file.encoding	UTF-8
          file.encoding.pkg	sun.io
          file.separator	/
          hudson.diyChunking	true
          java.awt.graphicsenv	sun.awt.X11GraphicsEnvironment
          java.awt.headless	true
          java.awt.printerjob	sun.print.PSPrinterJob
          java.class.path	/usr/share/jenkins/jenkins.war
          java.class.version	51.0
          java.endorsed.dirs	/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed
          java.ext.dirs	/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
          java.home	/usr/lib/jvm/java-7-openjdk-amd64/jre
          java.io.tmpdir	/tmp
          java.library.path	/usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib
          java.runtime.name	OpenJDK Runtime Environment
          java.runtime.version	1.7.0_25-b30
          java.specification.name	Java Platform API Specification
          java.specification.vendor	Oracle Corporation
          java.specification.version	1.7
          java.vendor	Oracle Corporation
          java.vendor.url	http://java.oracle.com/
          java.vendor.url.bug	http://bugreport.sun.com/bugreport/
          java.version	1.7.0_25
          java.vm.info	mixed mode
          java.vm.name	OpenJDK 64-Bit Server VM
          java.vm.specification.name	Java Virtual Machine Specification
          java.vm.specification.vendor	Oracle Corporation
          java.vm.specification.version	1.7
          java.vm.vendor	Oracle Corporation
          java.vm.version	23.7-b01
          jna.platform.library.path	/usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/lib64:/usr/lib:/lib
          line.separator	
          mail.smtp.sendpartial	true
          mail.smtps.sendpartial	true
          os.arch	amd64
          os.name	Linux
          os.version	3.8.0-32-generic
          path.separator	:
          sun.arch.data.model	64
          sun.boot.class.path	/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes
          sun.boot.library.path	/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
          sun.cpu.endian	little
          sun.cpu.isalist	
          sun.font.fontmanager	sun.awt.X11FontManager
          sun.io.unicode.encoding	UnicodeLittle
          sun.java.command	/usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1 --httpListenAddress=127.0.0.1
          sun.java.launcher	SUN_STANDARD
          sun.jnu.encoding	UTF-8
          sun.management.compiler	HotSpot 64-Bit Tiered Compilers
          sun.os.patch.level	unknown
          svnkit.http.methods	Digest,Basic,NTLM,Negotiate
          svnkit.ssh2.persistent	false
          user.country	US
          user.dir	/
          user.home	/var/lib/jenkins
          user.language	en
          user.name	jenkins
          user.timezone	Etc/UTC
          Environment Variables
          
          Name  ↓
          Value   
          _	/usr/bin/daemon
          HOME	/var/lib/jenkins
          JENKINS_HOME	/var/lib/jenkins
          LANG	en_US.UTF-8
          LOGNAME	jenkins
          MAIL	/var/mail/jenkins
          PATH	/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
          PWD	/var/lib/jenkins
          SHELL	/bin/bash
          SHLVL	1
          TERM	linux
          USER	jenkins
          XDG_SESSION_COOKIE	c9d1d15eb6b1df097ecd27065265f2a4-1384303673.97048-1904510831
          Plugins
          
          Name  ↓
          Version   
          Enabled   
          Pinned   
          ant	1.2	true	false
          credentials	1.9.3	true	true
          cvs	2.11	true	true
          ec2	1.20	true	false
          external-monitor-job	1.2	true	true
          git	2.0	true	false
          git-client	1.4.6	true	false
          javadoc	1.1	true	false
          ldap	1.6	true	true
          mailer	1.5	true	false
          matrix-auth	1.1	true	true
          matrix-reloaded	1.1.1	true	false
          maven-plugin	2.0	true	false
          mercurial	1.49	true	false
          multiple-scms	0.2	true	false
          node-iterator-api	1.1	true	false
          pam-auth	1.1	true	true
          s3	0.5	true	false
          scm-api	0.2	true	false
          ssh-agent	1.4.1	true	false
          ssh-credentials	1.6	true	true
          ssh-slaves	1.5	true	true
          subversion	1.53	true	true
          translation	1.10	true	false
          
          Show
          hannes_ucsc Hannes Schmidt added a comment - Same here: [ssh-agent] Using credentials jenkins [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 centos5-rpmbuild-jenkins-slave (i-dcdd7e81) failed [ssh-agent] at hudson.remoting.Channel.call(Channel.java:723) [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:211) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556) [ssh-agent] at hudson.model.Run.execute(Run.java:1679) [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88) [ssh-agent] at hudson.model.Executor.run(Executor.java:230) [ssh-agent] Caused by: java.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59) [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125) [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43) [ssh-agent] at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228) [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:123) [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:80) [ssh-agent] at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40) [ssh-agent] at jnr.unixsocket.Native.libsocket(Native.java:60) [ssh-agent] at jnr.unixsocket.Native.socket(Native.java:68) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38) [ssh-agent] at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67) [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:54) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:118) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:48) [ssh-agent] at hudson.remoting.Request$2.run(Request.java:326) [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) [ssh-agent] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [ssh-agent] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [ssh-agent] at java.lang.Thread.run(Thread.java:662) 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:130) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:556) at hudson.model.Run.execute(Run.java:1679) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:230) 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:229) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) ... 7 more Master: Linux ip-10-170-97-179 3.8.0-32-generic #47-Ubuntu SMP Tue Oct 1 22:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux Slave: Linux ip-10-196-66-23 2.6.18-308.16.1.el5.centos.plusxen #1 SMP Tue Oct 2 23:25:27 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux awt.toolkit sun.awt.X11.XToolkit executable-war /usr/share/jenkins/jenkins.war file.encoding UTF-8 file.encoding.pkg sun.io file.separator / hudson.diyChunking true java.awt.graphicsenv sun.awt.X11GraphicsEnvironment java.awt.headless true java.awt.printerjob sun.print.PSPrinterJob java.class.path /usr/share/jenkins/jenkins.war java.class.version 51.0 java.endorsed.dirs /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed java.ext.dirs /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext java.home /usr/lib/jvm/java-7-openjdk-amd64/jre java.io.tmpdir /tmp java.library.path /usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib java.runtime.name OpenJDK Runtime Environment java.runtime.version 1.7.0_25-b30 java.specification.name Java Platform API Specification java.specification.vendor Oracle Corporation java.specification.version 1.7 java.vendor Oracle Corporation java.vendor.url http://java.oracle.com/ java.vendor.url.bug http://bugreport.sun.com/bugreport/ java.version 1.7.0_25 java.vm.info mixed mode java.vm.name OpenJDK 64-Bit Server VM java.vm.specification.name Java Virtual Machine Specification java.vm.specification.vendor Oracle Corporation java.vm.specification.version 1.7 java.vm.vendor Oracle Corporation java.vm.version 23.7-b01 jna.platform.library.path /usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/lib64:/usr/lib:/lib line.separator mail.smtp.sendpartial true mail.smtps.sendpartial true os.arch amd64 os.name Linux os.version 3.8.0-32-generic path.separator : sun.arch.data.model 64 sun.boot.class.path /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes sun.boot.library.path /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64 sun.cpu.endian little sun.cpu.isalist sun.font.fontmanager sun.awt.X11FontManager sun.io.unicode.encoding UnicodeLittle sun.java.command /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1 --httpListenAddress=127.0.0.1 sun.java.launcher SUN_STANDARD sun.jnu.encoding UTF-8 sun.management.compiler HotSpot 64-Bit Tiered Compilers sun.os.patch.level unknown svnkit.http.methods Digest,Basic,NTLM,Negotiate svnkit.ssh2.persistent false user.country US user.dir / user.home /var/lib/jenkins user.language en user.name jenkins user.timezone Etc/UTC Environment Variables Name ↓ Value _ /usr/bin/daemon HOME /var/lib/jenkins JENKINS_HOME /var/lib/jenkins LANG en_US.UTF-8 LOGNAME jenkins MAIL /var/mail/jenkins PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games PWD /var/lib/jenkins SHELL /bin/bash SHLVL 1 TERM linux USER jenkins XDG_SESSION_COOKIE c9d1d15eb6b1df097ecd27065265f2a4-1384303673.97048-1904510831 Plugins Name ↓ Version Enabled Pinned ant 1.2 true false credentials 1.9.3 true true cvs 2.11 true true ec2 1.20 true false external-monitor-job 1.2 true true git 2.0 true false git-client 1.4.6 true false javadoc 1.1 true false ldap 1.6 true true mailer 1.5 true false matrix-auth 1.1 true true matrix-reloaded 1.1.1 true false maven-plugin 2.0 true false mercurial 1.49 true false multiple-scms 0.2 true false node-iterator-api 1.1 true false pam-auth 1.1 true true s3 0.5 true false scm-api 0.2 true false ssh-agent 1.4.1 true false ssh-credentials 1.6 true true ssh-slaves 1.5 true true subversion 1.53 true true translation 1.10 true false
          Hide
          hannes_ucsc Hannes Schmidt added a comment -

          Downgrade to 1.3 resolves issue.

          Show
          hannes_ucsc Hannes Schmidt added a comment - Downgrade to 1.3 resolves issue.
          Hide
          glen Elan Ruusamäe added a comment - - edited

          Here, downgrade to 1.3 from 1.4.1 solved similar problem for me
          http://mirrors.jenkins-ci.org/plugins/ssh-agent/1.3/

          Started by user anonymous
          Building remotely on lumpy in workspace /home/glen/jenkins/workspace/pld32-chef
          [ssh-agent] Using credentials tomcat
          [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 lumpy failed
          [ssh-agent]     	at hudson.remoting.Channel.call(Channel.java:723)
          [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:211)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          [ssh-agent]     	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          [ssh-agent]     	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:559)
          [ssh-agent]     	at hudson.model.Run.execute(Run.java:1592)
          [ssh-agent]     	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          [ssh-agent]     	at hudson.model.ResourceController.execute(ResourceController.java:88)
          [ssh-agent]     	at hudson.model.Executor.run(Executor.java:237)
          [ssh-agent]     Caused by: java.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59)
          [ssh-agent]     	at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125)
          [ssh-agent]     	at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63)
          [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43)
          [ssh-agent]     	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228)
          [ssh-agent]     	at jnr.ffi.Library.loadLibrary(Library.java:123)
          [ssh-agent]     	at jnr.ffi.Library.loadLibrary(Library.java:80)
          [ssh-agent]     	at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40)
          [ssh-agent]     	at jnr.unixsocket.Native.libsocket(Native.java:60)
          [ssh-agent]     	at jnr.unixsocket.Native.socket(Native.java:68)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67)
          [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:54)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
          [ssh-agent]     	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          [ssh-agent]     	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          [ssh-agent]     	at hudson.remoting.Request$2.run(Request.java:326)
          [ssh-agent]     	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          [ssh-agent]     	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
          [ssh-agent]     	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
          [ssh-agent]     	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
          [ssh-agent]     	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
          [ssh-agent]     	at java.lang.Thread.run(Thread.java:662)
          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:130)
          	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:559)
          	at hudson.model.Run.execute(Run.java:1592)
          	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:237)
          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:229)
          	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          	... 7 more
          

          My Master node, openjdk/icedtea6 build on i686:

          $ java -version
          java version "1.6.0_27"
          OpenJDK Runtime Environment (IcedTea6 1.12.4) (PLD build 1.6.0_27-b27)
          OpenJDK Server VM (build 20.0-b12, mixed mode)
          

          my slave node, x86_64 build oracle java:

          $ java -version
          java version "1.6.0_45"
          Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
          Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
          

          i did install 32bit libc to slave node, but that had no effect

          Show
          glen Elan Ruusamäe added a comment - - edited Here, downgrade to 1.3 from 1.4.1 solved similar problem for me http://mirrors.jenkins-ci.org/plugins/ssh-agent/1.3/ Started by user anonymous Building remotely on lumpy in workspace /home/glen/jenkins/workspace/pld32-chef [ssh-agent] Using credentials tomcat [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 lumpy failed [ssh-agent] at hudson.remoting.Channel.call(Channel.java:723) [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:211) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:559) [ssh-agent] at hudson.model.Run.execute(Run.java:1592) [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88) [ssh-agent] at hudson.model.Executor.run(Executor.java:237) [ssh-agent] Caused by: java.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59) [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125) [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43) [ssh-agent] at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228) [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:123) [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:80) [ssh-agent] at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40) [ssh-agent] at jnr.unixsocket.Native.libsocket(Native.java:60) [ssh-agent] at jnr.unixsocket.Native.socket(Native.java:68) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38) [ssh-agent] at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67) [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:54) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:118) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:48) [ssh-agent] at hudson.remoting.Request$2.run(Request.java:326) [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) [ssh-agent] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [ssh-agent] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [ssh-agent] at java.lang. Thread .run( Thread .java:662) 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:130) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:559) at hudson.model.Run.execute(Run.java:1592) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:237) 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:229) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) ... 7 more My Master node, openjdk/icedtea6 build on i686: $ java -version java version "1.6.0_27" OpenJDK Runtime Environment (IcedTea6 1.12.4) (PLD build 1.6.0_27-b27) OpenJDK Server VM (build 20.0-b12, mixed mode) my slave node, x86_64 build oracle java: $ java -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) i did install 32bit libc to slave node, but that had no effect
          Hide
          glen Elan Ruusamäe added a comment -

          Also someone from irc said that you should use jsch-agentproxy in your code, so such problems would not occour.

          18:46:09  nDuff> glen: ...I'd argue that that plugin is arguably doing the Wrong Thing if it isn't using the jsch-agentproxy  implementation, which should work just fine without native components.
          
          18:57:25  msabramo> kinow: weird
          18:58:03  msabramo> that would suck if people have to recreate their projects to use the plugin
          18:59:07  glen> msabramo: well. i have ssh slaves plugin pinned to some dead old version due that, 0.27 (1.5 is current)
          18:59:10 +kinow> msabramo: indeed. But there should be a way to avoid it.
          18:59:32  glen> msabramo: so it's kind of possible to have it autopinned or whatever SSH Slaves plugin did there to pin here
          
          
          Show
          glen Elan Ruusamäe added a comment - Also someone from irc said that you should use jsch-agentproxy in your code, so such problems would not occour. 18:46:09 nDuff> glen: ...I 'd argue that that plugin is arguably doing the Wrong Thing if it isn' t using the jsch-agentproxy implementation, which should work just fine without native components. 18:57:25 msabramo> kinow: weird 18:58:03 msabramo> that would suck if people have to recreate their projects to use the plugin 18:59:07 glen> msabramo: well. i have ssh slaves plugin pinned to some dead old version due that, 0.27 (1.5 is current) 18:59:10 +kinow> msabramo: indeed. But there should be a way to avoid it. 18:59:32 glen> msabramo: so it's kind of possible to have it autopinned or whatever SSH Slaves plugin did there to pin here
          Hide
          flisky Yin Jifeng added a comment -

          I have the same problem, and I find my master node show its architecture as `Linux (i386)`, but actually it's CentOS 5.8 AMD64.
          It should use `/lib64/libc.so.6` rather than '/lib/libc.so.6'.
          BR,

          Show
          flisky Yin Jifeng added a comment - I have the same problem, and I find my master node show its architecture as `Linux (i386)`, but actually it's CentOS 5.8 AMD64. It should use `/lib64/libc.so.6` rather than '/lib/libc.so.6'. BR,
          Hide
          nsergievskiy Nik S added a comment -

          Same problem.

          Linux ci.aps.sw.ru 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux
          Jenkins ver. 1.542
          SSH Agent Plugin v1.4.1

          Started by remote host 10.28.0.34
          Building remotely on spdt.aps.sw.ru in workspace /jenkins/workspace/spdt-deploy-catalog
          [ssh-agent] Using credentials root
          [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 spdt.aps.sw.ru failed
          [ssh-agent]     	at hudson.remoting.Channel.call(Channel.java:731)
          [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:211)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          [ssh-agent]     	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          [ssh-agent]     	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560)
          [ssh-agent]     	at hudson.model.Run.execute(Run.java:1677)
          [ssh-agent]     	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          [ssh-agent]     	at hudson.model.ResourceController.execute(ResourceController.java:88)
          [ssh-agent]     	at hudson.model.Executor.run(Executor.java:231)
          [ssh-agent]     Caused by: java.lang.NoClassDefFoundError: Could not initialize class jnr.unixsocket.Native$LibC
          [ssh-agent]     	at jnr.unixsocket.Native.libsocket(Native.java:60)
          [ssh-agent]     	at jnr.unixsocket.Native.socket(Native.java:68)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29)
          [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67)
          [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:54)
          [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
          [ssh-agent]     	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          [ssh-agent]     	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          [ssh-agent]     	at hudson.remoting.Request$2.run(Request.java:328)
          [ssh-agent]     	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          [ssh-agent]     	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
          [ssh-agent]     	at java.util.concurrent.FutureTask.run(Unknown Source)
          [ssh-agent]     	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
          [ssh-agent]     	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          [ssh-agent]     	at java.lang.Thread.run(Unknown Source)
          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:130)
          	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560)
          	at hudson.model.Run.execute(Run.java:1677)
          	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:231)
          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:229)
          	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          	... 7 more
          
          Show
          nsergievskiy Nik S added a comment - Same problem. Linux ci.aps.sw.ru 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux Jenkins ver. 1.542 SSH Agent Plugin v1.4.1 Started by remote host 10.28.0.34 Building remotely on spdt.aps.sw.ru in workspace /jenkins/workspace/spdt-deploy-catalog [ssh-agent] Using credentials root [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 spdt.aps.sw.ru failed [ssh-agent] at hudson.remoting.Channel.call(Channel.java:731) [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:211) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560) [ssh-agent] at hudson.model.Run.execute(Run.java:1677) [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88) [ssh-agent] at hudson.model.Executor.run(Executor.java:231) [ssh-agent] Caused by: java.lang.NoClassDefFoundError: Could not initialize class jnr.unixsocket.Native$LibC [ssh-agent] at jnr.unixsocket.Native.libsocket(Native.java:60) [ssh-agent] at jnr.unixsocket.Native.socket(Native.java:68) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38) [ssh-agent] at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67) [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:54) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:118) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:48) [ssh-agent] at hudson.remoting.Request$2.run(Request.java:328) [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) [ssh-agent] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [ssh-agent] at java.util.concurrent.FutureTask.run(Unknown Source) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [ssh-agent] at java.lang. Thread .run(Unknown Source) 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:130) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560) at hudson.model.Run.execute(Run.java:1677) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) 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:229) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) ... 7 more
          Hide
          rsugawara Ricardo Junior added a comment - - edited

          Same here.

          OS:
          Linux lxkstst1 2.6.32-431.1.2.el6.x86_64 #1 SMP Sun Nov 24 09:37:37 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

          JVM:
          java version "1.6.0_45"
          Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
          Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

          Log:
          Started by user anonymous
          Building in workspace /var/lib/jenkins/workspace/Diretórios
          [ssh-agent] Using credentials ansible (Chave Ansible HMP)
          [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.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32
          [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87)
          [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70)
          [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49)
          [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59)
          [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125)
          [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63)
          [ssh-agent] at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43)
          [ssh-agent] at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228)
          [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:123)
          [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:80)
          [ssh-agent] at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40)
          [ssh-agent] at jnr.unixsocket.Native.libsocket(Native.java:60)
          [ssh-agent] at jnr.unixsocket.Native.socket(Native.java:68)
          [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38)
          [ssh-agent] at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29)
          [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48)
          [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67)
          [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:54)
          [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
          [ssh-agent] at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
          [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:211)
          [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560)
          [ssh-agent] at hudson.model.Run.execute(Run.java:1678)
          [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88)
          [ssh-agent] at hudson.model.Executor.run(Executor.java:231)
          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:130)
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560)
          at hudson.model.Run.execute(Run.java:1678)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:231)
          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:229)
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          ... 7 more

          Show
          rsugawara Ricardo Junior added a comment - - edited Same here. OS: Linux lxkstst1 2.6.32-431.1.2.el6.x86_64 #1 SMP Sun Nov 24 09:37:37 EST 2013 x86_64 x86_64 x86_64 GNU/Linux JVM: java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) Log: Started by user anonymous Building in workspace /var/lib/jenkins/workspace/Diretórios [ssh-agent] Using credentials ansible (Chave Ansible HMP) [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.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59) [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125) [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63) [ssh-agent] at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43) [ssh-agent] at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228) [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:123) [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:80) [ssh-agent] at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40) [ssh-agent] at jnr.unixsocket.Native.libsocket(Native.java:60) [ssh-agent] at jnr.unixsocket.Native.socket(Native.java:68) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38) [ssh-agent] at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29) [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67) [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:54) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35) [ssh-agent] at hudson.remoting.LocalChannel.call(LocalChannel.java:45) [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:211) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560) [ssh-agent] at hudson.model.Run.execute(Run.java:1678) [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88) [ssh-agent] at hudson.model.Executor.run(Executor.java:231) 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:130) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560) at hudson.model.Run.execute(Run.java:1678) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) 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:229) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) ... 7 more
          Hide
          sunggun Sunggun Yu added a comment - - edited

          Same here too.

          I'm writing plugin by ruby which using Capistrano 3.

          • Jenkins version : Jenkins ver. 1.547
            (SSH Agent Plugin v1.3)
          • OS :
            CentOS release 5 (Final)
          • JDK :
            jdk1.7.0_25
          • Tomcat :
            apache-tomcat-7.0.37

          Jan 14, 2014 12:11:37 AM jnr.netdb.NativeServicesDB load
          WARNING: Failed to load native services db
          java.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32
          at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87)
          at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70)
          at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49)
          at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59)
          at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:117)
          at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:59)
          at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43)
          at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228)
          at jnr.ffi.Library.loadLibrary(Library.java:123)
          at jnr.ffi.Library.loadLibrary(Library.java:80)
          at jnr.netdb.NativeServicesDB.load(NativeServicesDB.java:81)
          at jnr.netdb.Service$ServicesDBSingletonHolder.load(Service.java:122)
          at jnr.netdb.Service$ServicesDBSingletonHolder.<clinit>(Service.java:118)
          at jnr.netdb.Service.getServicesDB(Service.java:111)
          at jnr.netdb.Service.getServiceByPort(Service.java:66)
          at org.jruby.ext.socket.SocketUtils.getnameinfo(SocketUtils.java:363)
          at org.jruby.ext.socket.RubySocket.getnameinfo(RubySocket.java:290)
          at org.jruby.ext.socket.RubySocket$INVOKER$s$0$1$getnameinfo.call(RubySocket$INVOKER$s$0$1$getnameinfo.gen)
          at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:650)
          at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:213)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204)
          at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.IfNode.interpret(IfNode.java:116)
          at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
          at org.jruby.ast.OpAsgnOrNode.interpret(OpAsgnOrNode.java:102)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
          at org.jruby.ast.IfNode.interpret(IfNode.java:110)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
          at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
          at org.jruby.ast.OpAsgnOrNode.interpret(OpAsgnOrNode.java:102)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.OrNode.interpret(OrNode.java:100)
          at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
          at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.IfNode.interpret(IfNode.java:116)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:247)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:212)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:356)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:213)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:217)
          at org.jruby.RubyClass.newInstance(RubyClass.java:862)
          at org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)
          at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock.call(JavaMethod.java:295)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204)
          at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
          at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:247)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:212)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:356)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:213)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:217)
          at org.jruby.RubyClass.newInstance(RubyClass.java:862)
          at org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)
          at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock.call(JavaMethod.java:295)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204)
          at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
          at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:154)
          at org.jruby.RubyMethod.call(RubyMethod.java:134)
          at org.jruby.RubyMethod.bmcall(RubyMethod.java:229)
          at org.jruby.RubyMethod$1.callback(RubyMethod.java:182)
          at org.jruby.runtime.MethodBlock.yield(MethodBlock.java:160)
          at org.jruby.runtime.MethodBlock.yield(MethodBlock.java:133)
          at org.jruby.runtime.Block.yieldArray(Block.java:146)
          at org.jruby.ast.Yield19Node.interpret(Yield19Node.java:42)
          at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
          at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.IfNode.interpret(IfNode.java:116)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:290)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:228)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:376)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:247)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:251)
          at org.jruby.ast.CallThreeArgBlockPassNode.interpret(CallThreeArgBlockPassNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
          at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
          at org.jruby.ast.OpAsgnOrNode.interpret(OpAsgnOrNode.java:102)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.VCallNode.interpret(VCallNode.java:88)
          at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:60)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
          at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
          at org.jruby.runtime.Block.yield(Block.java:130)
          at org.jruby.RubyKernel.tap(RubyKernel.java:1771)
          at org.jruby.RubyKernel$INVOKER$s$0$0$tap.call(RubyKernel$INVOKER$s$0$0$tap.gen)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145)
          at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154)
          at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:126)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:163)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:296)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72)
          at org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:45)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:268)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:220)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:366)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:238)
          at org.jruby.ast.FCallThreeArgNode.interpret(FCallThreeArgNode.java:40)
          at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.VCallNode.interpret(VCallNode.java:88)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.IfNode.interpret(IfNode.java:118)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
          at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:180)
          at org.jruby.runtime.Block.yieldNonArray(Block.java:141)
          at org.jruby.RubyBasicObject.yieldUnder(RubyBasicObject.java:1759)
          at org.jruby.RubyBasicObject.instance_exec19(RubyBasicObject.java:1738)
          at org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec19.call(RubyBasicObject$INVOKER$i$0$3$instance_exec19.gen)
          at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:209)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:336)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:179)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183)
          at org.jruby.ast.FCallOneArgBlockPassNode.interpret(FCallOneArgBlockPassNode.java:32)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
          at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
          at org.jruby.runtime.Block.yield(Block.java:130)
          at org.jruby.RubyArray.eachCommon(RubyArray.java:1606)
          at org.jruby.RubyArray.each(RubyArray.java:1613)
          at org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145)
          at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154)
          at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.IfNode.interpret(IfNode.java:116)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:204)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:196)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:336)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:179)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183)
          at org.jruby.ast.CallOneArgBlockPassNode.interpret(CallOneArgBlockPassNode.java:60)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:247)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:212)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:356)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:213)
          at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:222)
          at org.jruby.ast.FCallTwoArgBlockNode.interpret(FCallTwoArgBlockNode.java:34)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
          at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197)
          at org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:128)
          at org.jruby.runtime.Block.call(Block.java:89)
          at org.jruby.RubyProc.call(RubyProc.java:261)
          at org.jruby.RubyProc.call19(RubyProc.java:249)
          at org.jruby.RubyProc$INVOKER$i$0$0$call19.call(RubyProc$INVOKER$i$0$0$call19.gen)
          at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:217)
          at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:213)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204)
          at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.CaseNode.interpret(CaseNode.java:137)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
          at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
          at org.jruby.runtime.Block.yield(Block.java:130)
          at org.jruby.RubyArray.eachCommon(RubyArray.java:1606)
          at org.jruby.RubyArray.each(RubyArray.java:1613)
          at org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145)
          at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154)
          at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:188)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
          at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
          at org.jruby.ast.IfNode.interpret(IfNode.java:116)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
          at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
          at org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133)
          at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
          at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
          at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:161)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:180)
          at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:81)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145)
          at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154)
          at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.RescueNode.executeBody(RescueNode.java:224)
          at org.jruby.ast.RescueNode.interpret(RescueNode.java:119)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:225)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:204)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204)
          at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:65)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:188)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
          at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
          at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.RescueNode.executeBody(RescueNode.java:224)
          at org.jruby.ast.RescueNode.interpret(RescueNode.java:119)
          at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:268)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:220)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:366)
          at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:238)
          at org.jruby.ast.CallThreeArgNode.interpret(CallThreeArgNode.java:61)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
          at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
          at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
          at org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133)
          at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
          at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
          at org.jruby.ast.RescueNode.executeBody(RescueNode.java:224)
          at org.jruby.ast.RescueNode.interpret(RescueNode.java:119)
          at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:204)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:196)
          at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:336)
          at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:179)
          at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:188)
          at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
          at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
          at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112)
          at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:126)
          at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:163)
          at org.jenkinsci.jruby.JavaProxyConverter$InvocationHandlerImpl.invoke(JavaProxyConverter.java:135)
          at org.jruby.proxy.hudson.tasks.Publisher$Proxy2.perform(Unknown Source)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:757)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706)
          at hudson.model.Run.execute(Run.java:1703)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:231)

          Show
          sunggun Sunggun Yu added a comment - - edited Same here too. I'm writing plugin by ruby which using Capistrano 3. Jenkins version : Jenkins ver. 1.547 (SSH Agent Plugin v1.3) OS : CentOS release 5 (Final) JDK : jdk1.7.0_25 Tomcat : apache-tomcat-7.0.37 Jan 14, 2014 12:11:37 AM jnr.netdb.NativeServicesDB load WARNING: Failed to load native services db java.lang.UnsatisfiedLinkError: /lib/libc.so.6: wrong ELF class: ELFCLASS32 at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87) at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70) at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49) at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59) at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:117) at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:59) at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43) at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228) at jnr.ffi.Library.loadLibrary(Library.java:123) at jnr.ffi.Library.loadLibrary(Library.java:80) at jnr.netdb.NativeServicesDB.load(NativeServicesDB.java:81) at jnr.netdb.Service$ServicesDBSingletonHolder.load(Service.java:122) at jnr.netdb.Service$ServicesDBSingletonHolder.<clinit>(Service.java:118) at jnr.netdb.Service.getServicesDB(Service.java:111) at jnr.netdb.Service.getServiceByPort(Service.java:66) at org.jruby.ext.socket.SocketUtils.getnameinfo(SocketUtils.java:363) at org.jruby.ext.socket.RubySocket.getnameinfo(RubySocket.java:290) at org.jruby.ext.socket.RubySocket$INVOKER$s$0$1$getnameinfo.call(RubySocket$INVOKER$s$0$1$getnameinfo.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:650) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:213) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.IfNode.interpret(IfNode.java:116) at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95) at org.jruby.ast.OpAsgnOrNode.interpret(OpAsgnOrNode.java:102) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.IfNode.interpret(IfNode.java:110) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.BeginNode.interpret(BeginNode.java:83) at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95) at org.jruby.ast.OpAsgnOrNode.interpret(OpAsgnOrNode.java:102) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.OrNode.interpret(OrNode.java:100) at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.IfNode.interpret(IfNode.java:116) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:247) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:212) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:356) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:213) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:217) at org.jruby.RubyClass.newInstance(RubyClass.java:862) at org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock.call(JavaMethod.java:295) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:247) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:212) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:356) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:213) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:217) at org.jruby.RubyClass.newInstance(RubyClass.java:862) at org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock.call(JavaMethod.java:295) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:154) at org.jruby.RubyMethod.call(RubyMethod.java:134) at org.jruby.RubyMethod.bmcall(RubyMethod.java:229) at org.jruby.RubyMethod$1.callback(RubyMethod.java:182) at org.jruby.runtime.MethodBlock.yield(MethodBlock.java:160) at org.jruby.runtime.MethodBlock.yield(MethodBlock.java:133) at org.jruby.runtime.Block.yieldArray(Block.java:146) at org.jruby.ast.Yield19Node.interpret(Yield19Node.java:42) at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.IfNode.interpret(IfNode.java:116) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:290) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:228) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:376) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:247) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:251) at org.jruby.ast.CallThreeArgBlockPassNode.interpret(CallThreeArgBlockPassNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.BeginNode.interpret(BeginNode.java:83) at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95) at org.jruby.ast.OpAsgnOrNode.interpret(OpAsgnOrNode.java:102) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.VCallNode.interpret(VCallNode.java:88) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:60) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160) at org.jruby.runtime.Block.yield(Block.java:130) at org.jruby.RubyKernel.tap(RubyKernel.java:1771) at org.jruby.RubyKernel$INVOKER$s$0$0$tap.call(RubyKernel$INVOKER$s$0$0$tap.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:126) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:163) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:296) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) at org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:45) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:268) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:220) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:366) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:238) at org.jruby.ast.FCallThreeArgNode.interpret(FCallThreeArgNode.java:40) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.VCallNode.interpret(VCallNode.java:88) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.IfNode.interpret(IfNode.java:118) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:180) at org.jruby.runtime.Block.yieldNonArray(Block.java:141) at org.jruby.RubyBasicObject.yieldUnder(RubyBasicObject.java:1759) at org.jruby.RubyBasicObject.instance_exec19(RubyBasicObject.java:1738) at org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec19.call(RubyBasicObject$INVOKER$i$0$3$instance_exec19.gen) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:209) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:336) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:179) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183) at org.jruby.ast.FCallOneArgBlockPassNode.interpret(FCallOneArgBlockPassNode.java:32) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160) at org.jruby.runtime.Block.yield(Block.java:130) at org.jruby.RubyArray.eachCommon(RubyArray.java:1606) at org.jruby.RubyArray.each(RubyArray.java:1613) at org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.IfNode.interpret(IfNode.java:116) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:204) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:196) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:336) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:179) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183) at org.jruby.ast.CallOneArgBlockPassNode.interpret(CallOneArgBlockPassNode.java:60) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:247) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:212) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:356) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:213) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:222) at org.jruby.ast.FCallTwoArgBlockNode.interpret(FCallTwoArgBlockNode.java:34) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197) at org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:128) at org.jruby.runtime.Block.call(Block.java:89) at org.jruby.RubyProc.call(RubyProc.java:261) at org.jruby.RubyProc.call19(RubyProc.java:249) at org.jruby.RubyProc$INVOKER$i$0$0$call19.call(RubyProc$INVOKER$i$0$0$call19.gen) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:217) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:213) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.CaseNode.interpret(CaseNode.java:137) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160) at org.jruby.runtime.Block.yield(Block.java:130) at org.jruby.RubyArray.eachCommon(RubyArray.java:1606) at org.jruby.RubyArray.each(RubyArray.java:1613) at org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:188) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.IfNode.interpret(IfNode.java:116) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160) at org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133) at org.jruby.runtime.Block.yieldSpecific(Block.java:99) at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96) at org.jruby.ast.BeginNode.interpret(BeginNode.java:83) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:161) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:180) at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:81) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RescueNode.executeBody(RescueNode.java:224) at org.jruby.ast.RescueNode.interpret(RescueNode.java:119) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:225) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:204) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:65) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:188) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RescueNode.executeBody(RescueNode.java:224) at org.jruby.ast.RescueNode.interpret(RescueNode.java:119) at org.jruby.ast.BeginNode.interpret(BeginNode.java:83) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:268) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:220) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:366) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:238) at org.jruby.ast.CallThreeArgNode.interpret(CallThreeArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112) at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209) at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160) at org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133) at org.jruby.runtime.Block.yieldSpecific(Block.java:99) at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RescueNode.executeBody(RescueNode.java:224) at org.jruby.ast.RescueNode.interpret(RescueNode.java:119) at org.jruby.ast.BeginNode.interpret(BeginNode.java:83) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:204) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:196) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:336) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:179) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:188) at org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:126) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:163) at org.jenkinsci.jruby.JavaProxyConverter$InvocationHandlerImpl.invoke(JavaProxyConverter.java:135) at org.jruby.proxy.hudson.tasks.Publisher$Proxy2.perform(Unknown Source) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:757) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706) at hudson.model.Run.execute(Run.java:1703) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231)
          Hide
          stephenconnolly Stephen Connolly added a comment -

          Also someone from irc said that you should use jsch-agentproxy in your code, so such problems would not occour.
          18:46:09 nDuff> glen: ...I'd argue that that plugin is arguably doing the Wrong Thing if it isn't using the jsch-agentproxy implementation, which should work just fine without native components.

          18:57:25 msabramo> kinow: weird
          18:58:03 msabramo> that would suck if people have to recreate their projects to use the plugin
          18:59:07 glen> msabramo: well. i have ssh slaves plugin pinned to some dead old version due that, 0.27 (1.5 is current)
          18:59:10 +kinow> msabramo: indeed. But there should be a way to avoid it.
          18:59:32 glen> msabramo: so it's kind of possible to have it autopinned or whatever SSH Slaves plugin did there to pin here

          Well msabramo misunderstands how jsch-agent-proxy works. It uses JNA or junixsockets which both fall back to a native wrapper layer equivalent to JNR. Due to the issues the Jenkins project has with those other layers, this plugin tries to use the Jenkins recommended FFI library, i.e. JNR. Other than that it is using the exact same techniques as jsch-agent-proxy... i.e. jsch-agent-proxy does use native components: (from the jsch-agent-proxy README)

          To work as a proxy to ssh-agent and Pageant, the current implementation depends on the following software,

          JNA: https://github.com/twall/jna licensed under the GNU LGPL
          junixsocket: http://code.google.com/p/junixsocket/ licensed under the Apache License 2.0
          OpenBSD's netcat: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/

          The issue here is likely a classloader conflict between different versions of jffi or jnr-ffi within Jenkins.

          Show
          stephenconnolly Stephen Connolly added a comment - Also someone from irc said that you should use jsch-agentproxy in your code, so such problems would not occour. 18:46:09 nDuff> glen: ...I'd argue that that plugin is arguably doing the Wrong Thing if it isn't using the jsch-agentproxy implementation, which should work just fine without native components. 18:57:25 msabramo> kinow: weird 18:58:03 msabramo> that would suck if people have to recreate their projects to use the plugin 18:59:07 glen> msabramo: well. i have ssh slaves plugin pinned to some dead old version due that, 0.27 (1.5 is current) 18:59:10 +kinow> msabramo: indeed. But there should be a way to avoid it. 18:59:32 glen> msabramo: so it's kind of possible to have it autopinned or whatever SSH Slaves plugin did there to pin here Well msabramo misunderstands how jsch-agent-proxy works. It uses JNA or junixsockets which both fall back to a native wrapper layer equivalent to JNR. Due to the issues the Jenkins project has with those other layers, this plugin tries to use the Jenkins recommended FFI library, i.e. JNR. Other than that it is using the exact same techniques as jsch-agent-proxy... i.e. jsch-agent-proxy does use native components: (from the jsch-agent-proxy README) To work as a proxy to ssh-agent and Pageant, the current implementation depends on the following software, JNA: https://github.com/twall/jna licensed under the GNU LGPL junixsocket: http://code.google.com/p/junixsocket/ licensed under the Apache License 2.0 OpenBSD's netcat: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/ The issue here is likely a classloader conflict between different versions of jffi or jnr-ffi within Jenkins.
          Hide
          stephenconnolly Stephen Connolly added a comment -

          Could you try setting the system property jnr.ffi.library.path to something like /usr/lib64:/lib64:/usr/lib:/lib

          I have tried reproducing this on several VMs without any luck and my current working theory is that people are using somewhat mangled library paths and as a result the 32-bit libc.6.so is being loaded and not the 64-bit version

          Show
          stephenconnolly Stephen Connolly added a comment - Could you try setting the system property jnr.ffi.library.path to something like /usr/lib64:/lib64:/usr/lib:/lib I have tried reproducing this on several VMs without any luck and my current working theory is that people are using somewhat mangled library paths and as a result the 32-bit libc.6.so is being loaded and not the 64-bit version
          Hide
          godlin23 arkady godlin added a comment - - edited

          Hello Stephen.

          i am trying to use this plugin and i encounter some problems.
          i am getting error
          [ssh-agent] Using credentials emxtest (emxtest-agodlin-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
          java.io.IOException: Remote call on sdel64-04 failed

          i tried to downgrade to 1.3. got still same problem. i even tried to downgrade to 1.1 and didn't have any luck.

          could you please help ?
          i was not able to find any more ideas on how to solve this problem

          full error:

          [ssh-agent] Using credentials emxtest (emxtest-agodlin-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
          java.io.IOException: Remote call on sdel64-04 failed
          at hudson.remoting.Channel.call(Channel.java:748)
          at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentFactory.start(JNRRemoteAgentFactory.java:61)
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:203)
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:119)
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:89)
          at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:76)
          at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
          at hudson.model.Run.execute(Run.java:1732)
          at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:234)
          Caused by: java.lang.ExceptionInInitializerError
          at jnr.ffi.FFIProvider.getSystemProvider(FFIProvider.java:33)
          at jnr.ffi.Runtime$SingletonHolder.<clinit>(Runtime.java:37)
          at jnr.ffi.Runtime.getSystemRuntime(Runtime.java:32)
          at jnr.unixsocket.SockAddrUnix.<init>(SockAddrUnix.java:34)
          at jnr.unixsocket.SockAddrUnix$DefaultSockAddrUnix.<init>(SockAddrUnix.java:128)
          at jnr.unixsocket.SockAddrUnix.create(SockAddrUnix.java:99)
          at jnr.unixsocket.UnixSocketAddress.<init>(UnixSocketAddress.java:32)
          at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:66)
          at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgent.<init>(JNRRemoteAgent.java:64)
          at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:54)
          at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:328)
          at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
          at java.util.concurrent.FutureTask.run(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)
          Caused by: java.lang.RuntimeException: Could not load FFI provider jnr.ffi.provider.jffi.Provider
          at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:78)
          at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:64)
          ... 20 more
          Caused by: java.lang.UnsatisfiedLinkError: could not get native definition for type: POINTER
          at com.kenai.jffi.Type$InvalidLookupTable.find(Type.java:284)
          at com.kenai.jffi.Type$BuiltinTypeInfo.find(Type.java:319)
          at com.kenai.jffi.Type$Builtin.size(Type.java:216)
          at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:153)
          at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
          at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:55)
          at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:39)
          at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:51)
          at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:47)
          at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:31)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
          at java.lang.reflect.Constructor.newInstance(Unknown Source)
          at java.lang.Class.newInstance0(Unknown Source)
          at java.lang.Class.newInstance(Unknown Source)
          at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:75)
          ... 21 more
          Caused by: java.lang.UnsatisfiedLinkError
          at com.kenai.jffi.Foreign.newLoadError(Foreign.java:72)
          at com.kenai.jffi.Foreign.access$300(Foreign.java:42)
          at com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:98)
          at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
          at com.kenai.jffi.Type$BuiltinTypeInfo.<clinit>(Type.java:311)
          ... 36 more
          Caused by: java.lang.UnsatisfiedLinkError: /tmp/jffi2875207986459393739.tmp: /lib64/tls/libc.so.6: version `GLIBC_2.4' not found (required by /tmp/jffi2875207986459393739.tmp)
          at java.lang.ClassLoader$NativeLibrary.load(Native Method)
          at java.lang.ClassLoader.loadLibrary0(Unknown Source)
          at java.lang.ClassLoader.loadLibrary(Unknown Source)
          at java.lang.Runtime.load0(Unknown Source)
          at java.lang.System.load(Unknown Source)
          at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:320)
          at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:235)
          at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:395)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Unknown Source)
          at com.kenai.jffi.Init.load(Init.java:68)
          at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
          at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
          ... 38 more
          FATAL: [ssh-agent] Unable to start agent
          java.lang.RuntimeException: [ssh-agent] Could not find a suitable ssh-agent provider.
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:217)
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:119)
          at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:89)
          at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:76)
          at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
          at hudson.model.Run.execute(Run.java:1732)
          at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:234)
          FATAL: null
          java.lang.NullPointerException
          at hudson.model.Build$BuildExecution.doRun(Build.java:171)
          at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535)
          at hudson.model.Run.execute(Run.java:1732)
          at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:234)

          Thanks Arkady

          Show
          godlin23 arkady godlin added a comment - - edited Hello Stephen. i am trying to use this plugin and i encounter some problems. i am getting error [ssh-agent] Using credentials emxtest (emxtest-agodlin-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 java.io.IOException: Remote call on sdel64-04 failed i tried to downgrade to 1.3. got still same problem. i even tried to downgrade to 1.1 and didn't have any luck. could you please help ? i was not able to find any more ideas on how to solve this problem full error: [ssh-agent] Using credentials emxtest (emxtest-agodlin-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 java.io.IOException: Remote call on sdel64-04 failed at hudson.remoting.Channel.call(Channel.java:748) at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentFactory.start(JNRRemoteAgentFactory.java:61) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:203) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:119) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:89) at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:76) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) at hudson.model.Run.execute(Run.java:1732) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:234) Caused by: java.lang.ExceptionInInitializerError at jnr.ffi.FFIProvider.getSystemProvider(FFIProvider.java:33) at jnr.ffi.Runtime$SingletonHolder.<clinit>(Runtime.java:37) at jnr.ffi.Runtime.getSystemRuntime(Runtime.java:32) at jnr.unixsocket.SockAddrUnix.<init>(SockAddrUnix.java:34) at jnr.unixsocket.SockAddrUnix$DefaultSockAddrUnix.<init>(SockAddrUnix.java:128) at jnr.unixsocket.SockAddrUnix.create(SockAddrUnix.java:99) at jnr.unixsocket.UnixSocketAddress.<init>(UnixSocketAddress.java:32) at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:66) at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgent.<init>(JNRRemoteAgent.java:64) at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:54) at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:328) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.RuntimeException: Could not load FFI provider jnr.ffi.provider.jffi.Provider at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:78) at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:64) ... 20 more Caused by: java.lang.UnsatisfiedLinkError: could not get native definition for type: POINTER at com.kenai.jffi.Type$InvalidLookupTable.find(Type.java:284) at com.kenai.jffi.Type$BuiltinTypeInfo.find(Type.java:319) at com.kenai.jffi.Type$Builtin.size(Type.java:216) at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:153) at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48) at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:55) at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:39) at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:51) at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:47) at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:31) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:75) ... 21 more Caused by: java.lang.UnsatisfiedLinkError at com.kenai.jffi.Foreign.newLoadError(Foreign.java:72) at com.kenai.jffi.Foreign.access$300(Foreign.java:42) at com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:98) at com.kenai.jffi.Foreign.getInstance(Foreign.java:103) at com.kenai.jffi.Type$BuiltinTypeInfo.<clinit>(Type.java:311) ... 36 more Caused by: java.lang.UnsatisfiedLinkError: /tmp/jffi2875207986459393739.tmp: /lib64/tls/libc.so.6: version `GLIBC_2.4' not found (required by /tmp/jffi2875207986459393739.tmp) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:320) at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:235) at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:395) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.kenai.jffi.Init.load(Init.java:68) at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49) at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45) ... 38 more FATAL: [ssh-agent] Unable to start agent java.lang.RuntimeException: [ssh-agent] Could not find a suitable ssh-agent provider. at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:217) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:119) at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:89) at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:76) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) at hudson.model.Run.execute(Run.java:1732) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:234) FATAL: null java.lang.NullPointerException at hudson.model.Build$BuildExecution.doRun(Build.java:171) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535) at hudson.model.Run.execute(Run.java:1732) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:234) Thanks Arkady
          Hide
          glen Elan Ruusamäe added a comment -

          1.4.1 tried to load /usr/lib/libc.so, which is not ELF, but ld-script. removing that file didn't solve my issues, back to 1.3 again

          $ cat /usr/lib/libc.so 
          /* GNU ld script
             Use the shared library, but some functions are only in
             the static library, so try that secondarily.  */
          OUTPUT_FORMAT(elf32-i386)
          GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )
          
          00:00:00.184 [ssh-agent] Using credentials tomcat
          00:00:00.184 [ssh-agent] Looking for ssh-agent implementation...
          00:00:00.185 [ssh-agent]   Java/JNR ssh-agent
          00:00:01.965 [ssh-agent] FATAL: Could not find a suitable ssh-agent provider
          00:00:01.965 [ssh-agent] Diagnostic report
          00:00:01.965 [ssh-agent] * Java/JNR ssh-agent
          00:00:01.966 [ssh-agent]     java.lang.UnsatisfiedLinkError: /usr/lib/libc.so: invalid ELF header
          00:00:01.966 [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.Library.loadLibrary(Library.java:123)
          00:00:01.966 [ssh-agent]     	at jnr.ffi.Library.loadLibrary(Library.java:80)
          00:00:01.966 [ssh-agent]     	at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40)
          00:00:01.966 [ssh-agent]     	at jnr.unixsocket.Native.libsocket(Native.java:60)
          00:00:01.966 [ssh-agent]     	at jnr.unixsocket.Native.socket(Native.java:68)
          00:00:01.966 [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38)
          00:00:01.966 [ssh-agent]     	at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29)
          00:00:01.966 [ssh-agent]     	at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgent.<init>(JNRRemoteAgent.java:64)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:54)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
          00:00:01.966 [ssh-agent]     	at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentFactory.start(JNRRemoteAgentFactory.java:61)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:211)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          00:00:01.966 [ssh-agent]     	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          00:00:01.966 [ssh-agent]     	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          00:00:01.966 [ssh-agent]     	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560)
          00:00:01.966 [ssh-agent]     	at hudson.model.Run.execute(Run.java:1665)
          00:00:01.966 [ssh-agent]     	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          00:00:01.966 [ssh-agent]     	at hudson.model.ResourceController.execute(ResourceController.java:88)
          00:00:01.966 [ssh-agent]     	at hudson.model.Executor.run(Executor.java:246)
          00:00:01.987 FATAL: [ssh-agent] Unable to start agent
          00:00:01.988 hudson.util.IOException2: [ssh-agent] Unable to start agent
          00:00:01.988 	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:130)
          00:00:01.988 	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93)
          00:00:01.988 	at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78)
          00:00:01.988 	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560)
          00:00:01.988 	at hudson.model.Run.execute(Run.java:1665)
          00:00:01.988 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          00:00:01.988 	at hudson.model.ResourceController.execute(ResourceController.java:88)
          00:00:01.988 	at hudson.model.Executor.run(Executor.java:246)
          00:00:01.988 Caused by: java.lang.RuntimeException: [ssh-agent] Could not find a suitable ssh-agent provider.
          00:00:01.988 	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:229)
          00:00:01.988 	at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123)
          00:00:01.988 	... 7 more
          
          Show
          glen Elan Ruusamäe added a comment - 1.4.1 tried to load /usr/lib/libc.so, which is not ELF, but ld-script. removing that file didn't solve my issues, back to 1.3 again $ cat /usr/lib/libc.so /* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf32-i386) GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) ) 00:00:00.184 [ssh-agent] Using credentials tomcat 00:00:00.184 [ssh-agent] Looking for ssh-agent implementation... 00:00:00.185 [ssh-agent] Java/JNR ssh-agent 00:00:01.965 [ssh-agent] FATAL: Could not find a suitable ssh-agent provider 00:00:01.965 [ssh-agent] Diagnostic report 00:00:01.965 [ssh-agent] * Java/JNR ssh-agent 00:00:01.966 [ssh-agent] java.lang.UnsatisfiedLinkError: /usr/lib/libc.so: invalid ELF header 00:00:01.966 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.loadNativeLibraries(NativeLibrary.java:87) 00:00:01.966 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getNativeLibraries(NativeLibrary.java:70) 00:00:01.966 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.getSymbolAddress(NativeLibrary.java:49) 00:00:01.966 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibrary.findSymbolAddress(NativeLibrary.java:59) 00:00:01.966 [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:125) 00:00:01.966 [ssh-agent] at jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:63) 00:00:01.966 [ssh-agent] at jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43) 00:00:01.966 [ssh-agent] at jnr.ffi.LibraryLoader.load(LibraryLoader.java:228) 00:00:01.966 [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:123) 00:00:01.966 [ssh-agent] at jnr.ffi.Library.loadLibrary(Library.java:80) 00:00:01.966 [ssh-agent] at jnr.unixsocket.Native$LibC.<clinit>(Native.java:40) 00:00:01.966 [ssh-agent] at jnr.unixsocket.Native.libsocket(Native.java:60) 00:00:01.966 [ssh-agent] at jnr.unixsocket.Native.socket(Native.java:68) 00:00:01.966 [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.<init>(UnixServerSocketChannel.java:38) 00:00:01.966 [ssh-agent] at jnr.unixsocket.UnixServerSocket.<init>(UnixServerSocket.java:29) 00:00:01.966 [ssh-agent] at jnr.unixsocket.UnixServerSocketChannel.open(UnixServerSocketChannel.java:48) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.AgentServer.start(AgentServer.java:67) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgent.<init>(JNRRemoteAgent.java:64) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:54) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35) 00:00:01.966 [ssh-agent] at hudson.remoting.LocalChannel.call(LocalChannel.java:45) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentFactory.start(JNRRemoteAgentFactory.java:61) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:211) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) 00:00:01.966 [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) 00:00:01.966 [ssh-agent] at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) 00:00:01.966 [ssh-agent] at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560) 00:00:01.966 [ssh-agent] at hudson.model.Run.execute(Run.java:1665) 00:00:01.966 [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 00:00:01.966 [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88) 00:00:01.966 [ssh-agent] at hudson.model.Executor.run(Executor.java:246) 00:00:01.987 FATAL: [ssh-agent] Unable to start agent 00:00:01.988 hudson.util.IOException2: [ssh-agent] Unable to start agent 00:00:01.988 at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:130) 00:00:01.988 at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.preCheckout(SSHAgentBuildWrapper.java:93) 00:00:01.988 at jenkins.scm.SCMCheckoutStrategy.preCheckout(SCMCheckoutStrategy.java:78) 00:00:01.988 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560) 00:00:01.988 at hudson.model.Run.execute(Run.java:1665) 00:00:01.988 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 00:00:01.988 at hudson.model.ResourceController.execute(ResourceController.java:88) 00:00:01.988 at hudson.model.Executor.run(Executor.java:246) 00:00:01.988 Caused by: java.lang.RuntimeException: [ssh-agent] Could not find a suitable ssh-agent provider. 00:00:01.988 at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper$SSHAgentEnvironment.<init>(SSHAgentBuildWrapper.java:229) 00:00:01.988 at com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper.createSSHAgentEnvironment(SSHAgentBuildWrapper.java:123) 00:00:01.988 ... 7 more
          Hide
          ryangardner ryangardner added a comment -

          Same issue with same stack traces as above. Downgrading from 1.4.1 to 1.3 (found here http://mirrors.jenkins-ci.org/plugins/ssh-agent/1.3/ and uploaded manually to my jenkins) fixed the issue.

          Can something please be done to fix this so that my ssh-agent wont break if someone accidently upgrades the plugin again?

          Show
          ryangardner ryangardner added a comment - Same issue with same stack traces as above. Downgrading from 1.4.1 to 1.3 (found here http://mirrors.jenkins-ci.org/plugins/ssh-agent/1.3/ and uploaded manually to my jenkins) fixed the issue. Can something please be done to fix this so that my ssh-agent wont break if someone accidently upgrades the plugin again?
          Hide
          andreas_kleber Andreas Kleber added a comment -

          I have the same problem as the reporter with 1.4.1. Downgrading to 1.3 solved the problem.
          OS: CentOS 6.5: 2.6.32-431.el6.x86_64
          Java: java-1.7.0-openjdk-1.7.0.65.x86_64

          Stephen Connolly: Setting -Djnr.ffi.library.path=/usr/lib64:/lib64:/usr/lib:/lib as JVM Option on the affected node did not help.

          Show
          andreas_kleber Andreas Kleber added a comment - I have the same problem as the reporter with 1.4.1. Downgrading to 1.3 solved the problem. OS: CentOS 6.5: 2.6.32-431.el6.x86_64 Java: java-1.7.0-openjdk-1.7.0.65.x86_64 Stephen Connolly : Setting -Djnr.ffi.library.path=/usr/lib64:/lib64:/usr/lib:/lib as JVM Option on the affected node did not help.
          Hide
          stephenconnolly Stephen Connolly added a comment -

          Look, this is quite simple. Every time I try to set up a VM to use as a slave to reproduce this issue, I singularly fail to reproduce the issue.

          I suspect the root cause is that I just install Java the "right way". So for example, I have set up CentOS 6.5 and installed java with yum install java-1.7.0-openjdk and connected as a slave and... oh look ssh-agent works.

          I really want to get to the bottom of this issue.

          If you want this issue solved I suggest you do the following: produce a step by step for a slave that has this issue from installing the OS through configuring and connecting the slave and finally testing the ssh-agent with a simple job.

          I have done this about 10-15 times already, all with no luck. I do not consider my inability to reproduce this issue in the "the bug is not real" category, rather I consider there must be some key step that I am missing when I set up the slave OS... be it some additional package I don't install, or the way I configure Java, etc.

          If there is a VM image that I can play with locally (and it's much easier if I have the step-by-step to create that image myself as that lets me play with alternative steps to try and break the reproducibility and find the root cause) I do not see how to make progress on this issue.

          Show
          stephenconnolly Stephen Connolly added a comment - Look, this is quite simple. Every time I try to set up a VM to use as a slave to reproduce this issue, I singularly fail to reproduce the issue. I suspect the root cause is that I just install Java the "right way". So for example, I have set up CentOS 6.5 and installed java with yum install java-1.7.0-openjdk and connected as a slave and... oh look ssh-agent works. I really want to get to the bottom of this issue. If you want this issue solved I suggest you do the following: produce a step by step for a slave that has this issue from installing the OS through configuring and connecting the slave and finally testing the ssh-agent with a simple job. I have done this about 10-15 times already, all with no luck. I do not consider my inability to reproduce this issue in the "the bug is not real" category, rather I consider there must be some key step that I am missing when I set up the slave OS... be it some additional package I don't install, or the way I configure Java, etc. If there is a VM image that I can play with locally (and it's much easier if I have the step-by-step to create that image myself as that lets me play with alternative steps to try and break the reproducibility and find the root cause) I do not see how to make progress on this issue.
          Hide
          andreas_kleber Andreas Kleber added a comment -

          I have setup a test environment and was able to reproduce this problem in a minimal environment.
          In a freshly installed CentOS 6.5 64bit everything works. The problem occurs after installing the 32bit glibc: yum install glibc.i686
          We need the 32bit glibc for legacy tools that were compiled on a 32bit linux. Hope that helps.

          Show
          andreas_kleber Andreas Kleber added a comment - I have setup a test environment and was able to reproduce this problem in a minimal environment. In a freshly installed CentOS 6.5 64bit everything works. The problem occurs after installing the 32bit glibc: yum install glibc.i686 We need the 32bit glibc for legacy tools that were compiled on a 32bit linux. Hope that helps.
          Hide
          stephenconnolly Stephen Connolly added a comment -

          Thank you thank you thank you. I shall see if I can reproduce with this info

          Show
          stephenconnolly Stephen Connolly added a comment - Thank you thank you thank you. I shall see if I can reproduce with this info
          Hide
          stephenconnolly Stephen Connolly added a comment -

          Yes!!! Ok, so that reproduces the issue

          Show
          stephenconnolly Stephen Connolly added a comment - Yes!!! Ok, so that reproduces the issue
          Hide
          stephenconnolly Stephen Connolly added a comment -

          Ok, I think I have the root cause.

          The issue here is that Java, by default, can end up having the 32-bit library paths in the java.library.path system property and there is a bug in JNR's Platform.Linux:

                  @Override
                  public String locateLibrary(final String libName, List<String> libraryPath) {
                      FilenameFilter filter = new FilenameFilter() {
                          Pattern p = Pattern.compile("lib" + libName + "\\.so\\.[0-9]+$");
                          String exact = "lib" + libName + ".so";
                          public boolean accept(File dir, String name) {
                              return p.matcher(name).matches() || exact.equals(name);
                          }
                      };
          
                      List<File> matches = new LinkedList<File>();
                      for (String path : libraryPath) {
                          File[] files = new File(path).listFiles(filter);
                          if (files != null && files.length > 0) {
                              matches.addAll(Arrays.asList(files));
                          }
                      }
          
                      //
                      // Search through the results and return the highest numbered version
                      // i.e. libc.so.6 is preferred over libc.so.5
                      //
                      int version = 0;
                      String bestMatch = null;
                      for (File file : matches) {
                          String path = file.getAbsolutePath();
                          if (bestMatch == null && path.endsWith(".so")) {
                              bestMatch = path;
                              version = 0;
                          } else {
                              String num = path.substring(path.lastIndexOf(".so.") + 4);
                              try {
                                  if (Integer.parseInt(num) >= version) {
                                      bestMatch = path;
                                  }
                              } catch (NumberFormatException e) {
                              } // Just skip if not a number
                          }
                      }
                      return bestMatch != null ? bestMatch : mapLibraryName(libName);
                  }
          

          The bug being that it will return the last match is all the matches have the same version (I suspect it is that (Integer.parseInt(num) >= version) should be (Integer.parseInt(num) > version) but I am not currently sure, as I have yet to dig into this fully)

          So what you need to ensure is that the library paths (if they include a mix of 64bit and 32bit libraries) are a palindrome, now the search path is a combination of four system properties in order:

          • jnr.ffi.library.path
          • jaffl.library.path
          • jna.library.path
          • java.library.path

          So what you want to do is see what the combined path for all of those is... and then (since you are here because there is a 32bit lib on that path) reverse the path and append it to java.library.path

          A quicker fix is to just remove the 32-bit folders from java.library.path

          By way of example, if I go to the System Information page for my CentOS 6.5 slave, I see that it says:

          java.library.path /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
          

          So I can either set the JVM options for that slave to include -Djava.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib:/lib:/lib64:/usr/lib64:/usr/java/packages/lib/amd64 (which is the palindrome trick) or I can simply remove the 32-bit directories from -Djava.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64

          Either of these fixes the issue

          Show
          stephenconnolly Stephen Connolly added a comment - Ok, I think I have the root cause. The issue here is that Java, by default, can end up having the 32-bit library paths in the java.library.path system property and there is a bug in JNR's Platform.Linux : @Override public String locateLibrary( final String libName, List< String > libraryPath) { FilenameFilter filter = new FilenameFilter() { Pattern p = Pattern.compile( "lib" + libName + "\\.so\\.[0-9]+$" ); String exact = "lib" + libName + ".so" ; public boolean accept(File dir, String name) { return p.matcher(name).matches() || exact.equals(name); } }; List<File> matches = new LinkedList<File>(); for ( String path : libraryPath) { File[] files = new File(path).listFiles(filter); if (files != null && files.length > 0) { matches.addAll(Arrays.asList(files)); } } // // Search through the results and return the highest numbered version // i.e. libc.so.6 is preferred over libc.so.5 // int version = 0; String bestMatch = null ; for (File file : matches) { String path = file.getAbsolutePath(); if (bestMatch == null && path.endsWith( ".so" )) { bestMatch = path; version = 0; } else { String num = path.substring(path.lastIndexOf( ".so." ) + 4); try { if ( Integer .parseInt(num) >= version) { bestMatch = path; } } catch (NumberFormatException e) { } // Just skip if not a number } } return bestMatch != null ? bestMatch : mapLibraryName(libName); } The bug being that it will return the last match is all the matches have the same version (I suspect it is that (Integer.parseInt(num) >= version) should be (Integer.parseInt(num) > version) but I am not currently sure, as I have yet to dig into this fully) So what you need to ensure is that the library paths (if they include a mix of 64bit and 32bit libraries) are a palindrome, now the search path is a combination of four system properties in order: jnr.ffi.library.path jaffl.library.path jna.library.path java.library.path So what you want to do is see what the combined path for all of those is... and then (since you are here because there is a 32bit lib on that path) reverse the path and append it to java.library.path A quicker fix is to just remove the 32-bit folders from java.library.path By way of example, if I go to the System Information page for my CentOS 6.5 slave, I see that it says: java.library.path /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib So I can either set the JVM options for that slave to include -Djava.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib:/lib:/lib64:/usr/lib64:/usr/java/packages/lib/amd64 (which is the palindrome trick) or I can simply remove the 32-bit directories from -Djava.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64 Either of these fixes the issue
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          pom.xml
          http://jenkins-ci.org/commit/ssh-agent-plugin/f01905a36986880b94fb0e8ca368e37b11547149
          Log:
          [FIXED JENKINS-20276] Use a patched version of jnr-ffi

          While we await the merge of https://github.com/jnr/jnr-ffi/pull/23

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: pom.xml http://jenkins-ci.org/commit/ssh-agent-plugin/f01905a36986880b94fb0e8ca368e37b11547149 Log: [FIXED JENKINS-20276] Use a patched version of jnr-ffi While we await the merge of https://github.com/jnr/jnr-ffi/pull/23
          scm_issue_link SCM/JIRA link daemon made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          stephenconnolly Stephen Connolly added a comment -

          1.4.2 has the fix

          Show
          stephenconnolly Stephen Connolly added a comment - 1.4.2 has the fix
          Hide
          godlin23 arkady godlin added a comment -

          still getting this error on 1 of the machines i have
          my configuration
          OS: CentOS-4.8
          SSH Agent Plugin: 1.5
          SSH Credentials Plugin : 1.8
          Credentials Plugin : 1.16
          java version "1.6.0_45"

          [EnvInject] - Loading node environment variables.
          Building remotely on sdel64-12 (CentOS-4.8 sde CentOS lin internal-rs amd64-CentOS-4.8 linux 4.8 amd64-CentOS amd64) in workspace /home/emxtest2/emx/internal-rs/workspace/SDE-tmp
          [ssh-agent] Using credentials emxtest (emxtest)
          [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 sdel64-12 failed
          [ssh-agent] at hudson.remoting.Channel.call(Channel.java:748)
          [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:529)
          [ssh-agent] at hudson.model.Run.execute(Run.java:1740)
          [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88)
          [ssh-agent] at hudson.model.Executor.run(Executor.java:234)
          [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:66)
          [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:54)
          [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35)
          [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          [ssh-agent] at hudson.remoting.Request$2.run(Request.java:328)
          [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          [ssh-agent] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
          [ssh-agent] at java.util.concurrent.FutureTask.run(Unknown Source)
          [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
          [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          [ssh-agent] at java.lang.Thread.run(Unknown Source)
          [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(Unknown Source)
          [ssh-agent] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
          [ssh-agent] at java.lang.reflect.Constructor.newInstance(Unknown Source)
          [ssh-agent] at java.lang.Class.newInstance0(Unknown Source)
          [ssh-agent] at java.lang.Class.newInstance(Unknown Source)
          [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] ... 15 more
          [ssh-agent] Caused by: java.lang.IllegalStateException: Can't overwrite cause
          [ssh-agent] at java.lang.Throwable.initCause(Throwable.java:320)
          [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] ... 30 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:529)
          at hudson.model.Run.execute(Run.java:1740)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:234)
          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

          is this could be because of the old OS ?

          Show
          godlin23 arkady godlin added a comment - still getting this error on 1 of the machines i have my configuration OS: CentOS-4.8 SSH Agent Plugin: 1.5 SSH Credentials Plugin : 1.8 Credentials Plugin : 1.16 java version "1.6.0_45" [EnvInject] - Loading node environment variables. Building remotely on sdel64-12 (CentOS-4.8 sde CentOS lin internal-rs amd64-CentOS-4.8 linux 4.8 amd64-CentOS amd64) in workspace /home/emxtest2/emx/internal-rs/workspace/SDE-tmp [ssh-agent] Using credentials emxtest (emxtest) [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 sdel64-12 failed [ssh-agent] at hudson.remoting.Channel.call(Channel.java:748) [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:529) [ssh-agent] at hudson.model.Run.execute(Run.java:1740) [ssh-agent] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) [ssh-agent] at hudson.model.ResourceController.execute(ResourceController.java:88) [ssh-agent] at hudson.model.Executor.run(Executor.java:234) [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:66) [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:54) [ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.jna.JNRRemoteAgentStarter.call(JNRRemoteAgentStarter.java:35) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:118) [ssh-agent] at hudson.remoting.UserRequest.perform(UserRequest.java:48) [ssh-agent] at hudson.remoting.Request$2.run(Request.java:328) [ssh-agent] at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) [ssh-agent] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [ssh-agent] at java.util.concurrent.FutureTask.run(Unknown Source) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [ssh-agent] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [ssh-agent] at java.lang.Thread.run(Unknown Source) [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(Unknown Source) [ssh-agent] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [ssh-agent] at java.lang.reflect.Constructor.newInstance(Unknown Source) [ssh-agent] at java.lang.Class.newInstance0(Unknown Source) [ssh-agent] at java.lang.Class.newInstance(Unknown Source) [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] ... 15 more [ssh-agent] Caused by: java.lang.IllegalStateException: Can't overwrite cause [ssh-agent] at java.lang.Throwable.initCause(Throwable.java:320) [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] ... 30 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:529) at hudson.model.Run.execute(Run.java:1740) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:234) 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 is this could be because of the old OS ?
          Hide
          stephenconnolly Stephen Connolly added a comment - - edited

          It could be. CentOS 4.8 is rather old alright (2009 being 5 years ago).

          I would rather have you install the tomcat native components on that slave it should "just work" as you can compile them for that slave's architecture and bypass all the fun of jffi

          Show
          stephenconnolly Stephen Connolly added a comment - - edited It could be. CentOS 4.8 is rather old alright (2009 being 5 years ago). I would rather have you install the tomcat native components on that slave it should "just work" as you can compile them for that slave's architecture and bypass all the fun of jffi
          rtyler R. Tyler Croy made changes -
          Workflow JNJira [ 151800 ] JNJira + In-Review [ 194102 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              mklunder Mark Klunder
            • Votes:
              6 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: