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

UnsatisfiedLinkError: jnidispatch with openjdk on ARM when using --daemon option

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Fixed
    • javanet-plugin
    • None
    • Platform: Other, OS: Linux

    Description

      Hello! I am using Hudson on an ARM machine using openjdk. Surprisingly
      everything works quite well. However if I try to use the --daemon option, then I
      get a traceback:

      hudson@debian:~$ java -jar hudson.war --daemon
      Forking into background to run as a daemon.
      Use --logfile to redirect output to a file
      Exception in thread "main" java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at Main.main(Main.java:59)
      Caused by: java.lang.UnsatisfiedLinkError: jnidispatch
      (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path
      at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:568)
      at com.sun.jna.Native.loadNativeLibrary(Native.java:550)
      at com.sun.jna.Native.<clinit>(Native.java:87)
      at com.sun.akuma.CLibrary.<clinit>(CLibrary.java:37)
      at com.sun.akuma.JavaVMArguments.currentLinux(JavaVMArguments.java:79)
      at com.sun.akuma.JavaVMArguments.current(JavaVMArguments.java:69)
      at com.sun.akuma.Daemon.daemonize(Daemon.java:77)
      at com.sun.akuma.Daemon.all(Daemon.java:59)
      ... 5 more
      hudson@debian:~$ java -jar hudson.war --daemon --logfile hudson.log
      Forking into background to run as a daemon.
      Use --logfile to redirect output to a file
      Exception in thread "main" java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at Main.main(Main.java:59)
      Caused by: java.lang.UnsatisfiedLinkError: jnidispatch
      (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path
      at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:568)
      at com.sun.jna.Native.loadNativeLibrary(Native.java:550)
      at com.sun.jna.Native.<clinit>(Native.java:87)
      at com.sun.akuma.CLibrary.<clinit>(CLibrary.java:37)
      at com.sun.akuma.JavaVMArguments.currentLinux(JavaVMArguments.java:79)
      at com.sun.akuma.JavaVMArguments.current(JavaVMArguments.java:69)
      at com.sun.akuma.Daemon.daemonize(Daemon.java:77)
      at com.sun.akuma.Daemon.all(Daemon.java:59)
      ... 5 more

      I just picked the javanet subcomponent since I had to pick one and it seemed the
      most appropriate. Googling for "UnsatisfiedLinkError jnidispatch" generates some
      potentially useful reports within other projects.

      Attachments

        Issue Links

          Activity

            We need JNA to support Linux/ARM combo. I filed
            https://jna.dev.java.net/issues/show_bug.cgi?id=112 on behalf of you.

            Please reopen this issue when that one gets fixed.

            kohsuke Kohsuke Kawaguchi added a comment - We need JNA to support Linux/ARM combo. I filed https://jna.dev.java.net/issues/show_bug.cgi?id=112 on behalf of you. Please reopen this issue when that one gets fixed.
            rodrigc Craig Rodrigues added a comment - - edited

            Jenkins has been updated to use JNA 4.1: JENKINS-24521
            JNA 4.1 supports ARM.
            Please try again, since this fixes many native library issues.
            The fix will be in Jenkins 1.586 and higher.

            rodrigc Craig Rodrigues added a comment - - edited Jenkins has been updated to use JNA 4.1: JENKINS-24521 JNA 4.1 supports ARM. Please try again, since this fixes many native library issues. The fix will be in Jenkins 1.586 and higher.

            People

              Unassigned Unassigned
              mcrooney mcrooney
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: