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

jnidispatch (/com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path

    Details

    • Type: Bug
    • Status: In Progress (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Component/s: core
    • Labels:
      None
    • Environment:
    • Similar Issues:

      Description

      rpm -q jenkins
      jenkins-1.489-1.1.noarch

      I used the yum installer to install jenkins on ppc64 with the IBM 1.6 JDK following the guide here:

      https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions

      When starting the jenkins service, I get this:

      service jenkins start
      Starting Jenkins Exception in thread "main" java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:611)
      at Main._main(Main.java:129)
      at Main.main(Main.java:98)
      Caused by: java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path
      at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:697)
      at com.sun.jna.Native.loadNativeLibrary(Native.java:674)
      at com.sun.jna.Native.<clinit>(Native.java:115)
      at java.lang.J9VMInternals.initializeImpl(Native Method)
      at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
      at com.sun.akuma.CLibrary.<clinit>(CLibrary.java:89)
      at java.lang.J9VMInternals.initializeImpl(Native Method)
      at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
      at com.sun.akuma.JavaVMArguments.resolvePID(JavaVMArguments.java:126)
      at com.sun.akuma.JavaVMArguments.ofLinux(JavaVMArguments.java:114)
      at com.sun.akuma.JavaVMArguments.of(JavaVMArguments.java:104)
      at com.sun.akuma.JavaVMArguments.current(JavaVMArguments.java:92)
      at com.sun.akuma.Daemon.daemonize(Daemon.java:105)
      at com.sun.akuma.Daemon.all(Daemon.java:87)
      ... 6 more

      I don't know how this is different from issue 4820 which was fixed apparently:

      https://issues.jenkins-ci.org/browse/JENKINS-4820

      But where people say updating jenkins fixed that issue, I'm still hitting it. I'm not sure if there is a problem with my java setup or not.

        Attachments

          Issue Links

            Activity

            Hide
            pgtoennies Peter Toennies added a comment -

            Thank you for fixing this issue! This seems to have resolved our issues with running Jenkins on a PPC Linux machine.

            Show
            pgtoennies Peter Toennies added a comment - Thank you for fixing this issue! This seems to have resolved our issues with running Jenkins on a PPC Linux machine.
            Hide
            pgtoennies Peter Toennies added a comment -

            Today I tried upgrade from jenkins-2.89.4-1.1 to jenkins 2.138.2-1.1 on a RHEL7 ppc64 machine. I am getting a java.lang.UnsatisfiedLinkError for 'Native library (com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path'. The complete output is:

             

            – Unit jenkins.service has begun starting up.
            Oct 22 12:57:10 <computer name> runuser[20830]: pam_unix(runuser:session): session opened for user root by (uid=0)
            Oct 22 12:57:12 <computer name> jenkins[20825]: Starting Jenkins Exception in thread "main" java.lang.reflect.InvocationTargetException
            Oct 22 12:57:12 <computer name> jenkins[20825]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at java.lang.reflect.Method.invoke(Method.java:508)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at Main._main(Main.java:227)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at Main.main(Main.java:160)
            Oct 22 12:57:12 <computer name> jenkins[20825]: Caused by: java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path (file:/tmp/jna7389605851826903872jar, file:/tmp/akuma9008425977486382467jar)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:962)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.jna.Native.<clinit>(Native.java:190)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.akuma.CLibrary.<clinit>(CLibrary.java:89)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.akuma.JavaVMArguments.resolvePID(JavaVMArguments.java:128)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.akuma.JavaVMArguments.ofLinux(JavaVMArguments.java:116)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.akuma.JavaVMArguments.of(JavaVMArguments.java:104)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.akuma.JavaVMArguments.current(JavaVMArguments.java:92)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.akuma.Daemon.daemonize(Daemon.java:106)
            Oct 22 12:57:12 <computer name> jenkins[20825]: at com.sun.akuma.Daemon.all(Daemon.java:88)
            Oct 22 12:57:12 <computer name> jenkins[20825]: ... 6 more
            Oct 22 12:57:12 <computer name> runuser[20830]: pam_unix(runuser:session): session closed for user root
            Oct 22 12:57:12 <computer name> jenkins[20825]: [FAILED]
            Oct 22 12:57:12 <computer name> systemd[1]: jenkins.service: control process exited, code=exited status=1
            Oct 22 12:57:12 <computer name> systemd[1]: Failed to start LSB: Jenkins Automation Server.
            – Subject: Unit jenkins.service has failed
            – Defined-By: systemd
            – Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

            -- Unit jenkins.service has failed.

            -- The result is failed.

            Jenkins starts up fine with 2.89.4-1.1, but not with the most recent stable version of 2.138.2-1.1. Is this a regression? Does anyone have suggestions on how to get Jenkins to start? Do I need to download something additional?

            Also, I tried to search for libjnidispatch.so on my system with Jenkins 2.89 but could not find it. Where should this file be at?

             

            Thank you,
            Peter

            Show
            pgtoennies Peter Toennies added a comment - Today I tried upgrade from jenkins-2.89.4-1.1 to jenkins 2.138.2-1.1 on a RHEL7 ppc64 machine. I am getting a java.lang.UnsatisfiedLinkError for 'Native library (com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path'. The complete output is:   – Unit jenkins.service has begun starting up. Oct 22 12:57:10 <computer name> runuser [20830] : pam_unix(runuser:session): session opened for user root by (uid=0) Oct 22 12:57:12 <computer name> jenkins [20825] : Starting Jenkins Exception in thread "main" java.lang.reflect.InvocationTargetException Oct 22 12:57:12 <computer name> jenkins [20825] : at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) Oct 22 12:57:12 <computer name> jenkins [20825] : at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) Oct 22 12:57:12 <computer name> jenkins [20825] : at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) Oct 22 12:57:12 <computer name> jenkins [20825] : at java.lang.reflect.Method.invoke(Method.java:508) Oct 22 12:57:12 <computer name> jenkins [20825] : at Main._main(Main.java:227) Oct 22 12:57:12 <computer name> jenkins [20825] : at Main.main(Main.java:160) Oct 22 12:57:12 <computer name> jenkins [20825] : Caused by: java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path ( file:/tmp/jna7389605851826903872jar, file:/tmp/akuma9008425977486382467jar ) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:962) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.jna.Native.<clinit>(Native.java:190) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.akuma.CLibrary.<clinit>(CLibrary.java:89) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.akuma.JavaVMArguments.resolvePID(JavaVMArguments.java:128) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.akuma.JavaVMArguments.ofLinux(JavaVMArguments.java:116) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.akuma.JavaVMArguments.of(JavaVMArguments.java:104) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.akuma.JavaVMArguments.current(JavaVMArguments.java:92) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.akuma.Daemon.daemonize(Daemon.java:106) Oct 22 12:57:12 <computer name> jenkins [20825] : at com.sun.akuma.Daemon.all(Daemon.java:88) Oct 22 12:57:12 <computer name> jenkins [20825] : ... 6 more Oct 22 12:57:12 <computer name> runuser [20830] : pam_unix(runuser:session): session closed for user root Oct 22 12:57:12 <computer name> jenkins [20825] : [FAILED] Oct 22 12:57:12 <computer name> systemd [1] : jenkins.service: control process exited, code=exited status=1 Oct 22 12:57:12 <computer name> systemd [1] : Failed to start LSB: Jenkins Automation Server. – Subject: Unit jenkins.service has failed – Defined-By: systemd – Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel – -- Unit jenkins.service has failed. – -- The result is failed. Jenkins starts up fine with 2.89.4-1.1, but not with the most recent stable version of 2.138.2-1.1. Is this a regression? Does anyone have suggestions on how to get Jenkins to start? Do I need to download something additional? Also, I tried to search for libjnidispatch.so on my system with Jenkins 2.89 but could not find it. Where should this file be at?   Thank you, Peter
            Hide
            pgtoennies Peter Toennies added a comment -

            Since this ticket was already resolved fixed, should I open a new one to report the problem?

            Show
            pgtoennies Peter Toennies added a comment - Since this ticket was already resolved fixed, should I open a new one to report the problem?
            Hide
            pgtoennies Peter Toennies added a comment -

            I compared the jenkins.war file between jenkins-2.89.4-1.1 and jenkins 2.138.2-1.1 and found these differences affecting the above.

            The 2.89 jenkins.war file contains jna-4.2.1.jar and the 2.138 jenkins.war file contains jna-4.5.2.jar. I unjarred both of these and found that the 2.89 jna-4.2.1.jar file has these these libjnidispatch.so files:

            ./com/sun/jna/linux-x86/libjnidispatch.so
            ./com/sun/jna/linux-x86-64/libjnidispatch.so
            ./com/sun/jna/linux-arm/libjnidispatch.so
            ./com/sun/jna/linux-aarch64/libjnidispatch.so
            ./com/sun/jna/linux-ppc64/libjnidispatch.so
            ./com/sun/jna/linux-ppc64le/libjnidispatch.so
            ./com/sun/jna/linux-sparcv9/libjnidispatch.so
            ./com/sun/jna/sunos-x86/libjnidispatch.so
            ./com/sun/jna/sunos-x86-64/libjnidispatch.so
            ./com/sun/jna/sunos-sparc/libjnidispatch.so
            ./com/sun/jna/sunos-sparcv9/libjnidispatch.so
            ./com/sun/jna/freebsd-x86/libjnidispatch.so
            ./com/sun/jna/freebsd-x86-64/libjnidispatch.so
            ./com/sun/jna/openbsd-x86/libjnidispatch.so
            ./com/sun/jna/openbsd-x86-64/libjnidispatch.so

            and then jna-4.5.2 jar file has these:
            ./com/sun/jna/linux-x86/libjnidispatch.so
            ./com/sun/jna/linux-x86-64/libjnidispatch.so
            ./com/sun/jna/linux-arm/libjnidispatch.so
            ./com/sun/jna/linux-armel/libjnidispatch.so
            ./com/sun/jna/linux-aarch64/libjnidispatch.so
            ./com/sun/jna/linux-ppc/libjnidispatch.so
            ./com/sun/jna/linux-ppc64le/libjnidispatch.so
            ./com/sun/jna/linux-mips64el/libjnidispatch.so
            ./com/sun/jna/linux-s390x/libjnidispatch.so
            ./com/sun/jna/sunos-x86/libjnidispatch.so
            ./com/sun/jna/sunos-x86-64/libjnidispatch.so
            ./com/sun/jna/sunos-sparc/libjnidispatch.so
            ./com/sun/jna/sunos-sparcv9/libjnidispatch.so
            ./com/sun/jna/freebsd-x86/libjnidispatch.so
            ./com/sun/jna/freebsd-x86-64/libjnidispatch.so
            ./com/sun/jna/openbsd-x86/libjnidispatch.so
            ./com/sun/jna/openbsd-x86-64/libjnidispatch.so

            It looks like the jna-4.5.2.jar file is not including these:
            ./com/sun/jna/linux-ppc64/libjnidispatch.so
            ./com/sun/jna/linux-sparcv9/libjnidispatch.so

            And added these:
            ./com/sun/jna/linux-armel/libjnidispatch.so
            ./com/sun/jna/linux-ppc/libjnidispatch.so
            ./com/sun/jna/linux-mips64el/libjnidispatch.so
            ./com/sun/jna/linux-s390x/libjnidispatch.so

            I think I really need ./com/sun/jna/linux-ppc64/libjnidispatch.so in order for Jenkins to work on our ppc64 machines. Can this be added back? Is there a workaround?

            Show
            pgtoennies Peter Toennies added a comment - I compared the jenkins.war file between jenkins-2.89.4-1.1 and jenkins 2.138.2-1.1 and found these differences affecting the above. The 2.89 jenkins.war file contains jna-4.2.1.jar and the 2.138 jenkins.war file contains jna-4.5.2.jar. I unjarred both of these and found that the 2.89 jna-4.2.1.jar file has these these libjnidispatch.so files: ./com/sun/jna/linux-x86/libjnidispatch.so ./com/sun/jna/linux-x86-64/libjnidispatch.so ./com/sun/jna/linux-arm/libjnidispatch.so ./com/sun/jna/linux-aarch64/libjnidispatch.so ./com/sun/jna/linux-ppc64/libjnidispatch.so ./com/sun/jna/linux-ppc64le/libjnidispatch.so ./com/sun/jna/linux-sparcv9/libjnidispatch.so ./com/sun/jna/sunos-x86/libjnidispatch.so ./com/sun/jna/sunos-x86-64/libjnidispatch.so ./com/sun/jna/sunos-sparc/libjnidispatch.so ./com/sun/jna/sunos-sparcv9/libjnidispatch.so ./com/sun/jna/freebsd-x86/libjnidispatch.so ./com/sun/jna/freebsd-x86-64/libjnidispatch.so ./com/sun/jna/openbsd-x86/libjnidispatch.so ./com/sun/jna/openbsd-x86-64/libjnidispatch.so and then jna-4.5.2 jar file has these: ./com/sun/jna/linux-x86/libjnidispatch.so ./com/sun/jna/linux-x86-64/libjnidispatch.so ./com/sun/jna/linux-arm/libjnidispatch.so ./com/sun/jna/linux-armel/libjnidispatch.so ./com/sun/jna/linux-aarch64/libjnidispatch.so ./com/sun/jna/linux-ppc/libjnidispatch.so ./com/sun/jna/linux-ppc64le/libjnidispatch.so ./com/sun/jna/linux-mips64el/libjnidispatch.so ./com/sun/jna/linux-s390x/libjnidispatch.so ./com/sun/jna/sunos-x86/libjnidispatch.so ./com/sun/jna/sunos-x86-64/libjnidispatch.so ./com/sun/jna/sunos-sparc/libjnidispatch.so ./com/sun/jna/sunos-sparcv9/libjnidispatch.so ./com/sun/jna/freebsd-x86/libjnidispatch.so ./com/sun/jna/freebsd-x86-64/libjnidispatch.so ./com/sun/jna/openbsd-x86/libjnidispatch.so ./com/sun/jna/openbsd-x86-64/libjnidispatch.so It looks like the jna-4.5.2.jar file is not including these: ./com/sun/jna/linux-ppc64/libjnidispatch.so ./com/sun/jna/linux-sparcv9/libjnidispatch.so And added these: ./com/sun/jna/linux-armel/libjnidispatch.so ./com/sun/jna/linux-ppc/libjnidispatch.so ./com/sun/jna/linux-mips64el/libjnidispatch.so ./com/sun/jna/linux-s390x/libjnidispatch.so I think I really need ./com/sun/jna/linux-ppc64/libjnidispatch.so in order for Jenkins to work on our ppc64 machines. Can this be added back? Is there a workaround?
            Hide
            pgtoennies Peter Toennies added a comment -

            I opened https://issues.jenkins-ci.org/browse/JENKINS-54196 for the problem I found today related to this.

            Show
            pgtoennies Peter Toennies added a comment - I opened https://issues.jenkins-ci.org/browse/JENKINS-54196 for the problem I found today related to this.

              People

              • Assignee:
                Unassigned
                Reporter:
                mriedem Matt Riedemann
              • Votes:
                1 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: