-
Bug
-
Resolution: Won't Fix
-
Major
-
# uname -a
Linux localhost 3.10.0-693.el7.ppc64 #1 SMP Thu Jul 6 20:01:28 EDT 2017 ppc64 ppc64 ppc64 GNU/Linux
java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 8.0.5.16 - pxp6480sr5fp16-20180524_01(SR5 FP16))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux ppc64-64-Bit Compressed References 20180523_387150 (JIT enabled, AOT enabled)
OpenJ9 - c81abfb
OMR - f3f8112
IBM - 4f87eeb)
JCL - 20180515_01 based on Oracle jdk8u171-b11
# uname -a Linux localhost 3.10.0-693.el7.ppc64 #1 SMP Thu Jul 6 20:01:28 EDT 2017 ppc64 ppc64 ppc64 GNU/Linux java -version java version "1.8.0_171" Java(TM) SE Runtime Environment (build 8.0.5.16 - pxp6480sr5fp16-20180524_01(SR5 FP16)) IBM J9 VM (build 2.9, JRE 1.8.0 Linux ppc64-64-Bit Compressed References 20180523_387150 (JIT enabled, AOT enabled) OpenJ9 - c81abfb OMR - f3f8112 IBM - 4f87eeb) JCL - 20180515_01 based on Oracle jdk8u171-b11
- rpm -q jenkins
jenkins-2.138.2-1.1.noarch
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.
- Unit jenkins.service has 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?
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 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 the 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?