java.lang.UnsatisfiedLinkError: no netty_transport_native_epoll_aarch_64 in java.library.path
See original GitHub issueVersion report
Jenkins and plugins versions report:
2.303.2
- What Operating System are you using (both controller, and any agents involved in the problem)?
Ubuntu - aach64
Reproduction steps
-
Using this docker-compose to start a jenkins instance. I re-build the jenkins image to support my custom user:
version: "3.8" services: jenkins: image: hungcuongvt90/jenkins:ubuntu-jenkins-2.303.2-cuong-aarch64 container_name: jenkins user: cuong logging: options: max-file: "3" max-size: "10m" expose: - 8080 environment: - DOCKER_HOST=unix:///var/run/docker.sock - JAVA_OPTS=-Xmx2g volumes: - ./data/jenkins_home:/home/cuong/jenkins_home - /var/run/docker.sock:/var/run/docker.sock restart: always -
Configure default jenkins -> Install docker plugin -> Restart Jenkins
-
Configure nodes -> cloud -> put unix:///var/run/docker.sock as url -> test connection
Results
Expected result:
Actual result:
Jenkins log: jenkins | Also: Also: java.lang.UnsatisfiedLinkError: no netty_transport_native_epoll_aarch_64 in java.library.path: [/usr/java/packages/lib, /usr/lib/aarch64-linux-gnu/jni, /lib/aarch64-linux-gnu, /usr/lib/aarch64-linux-gnu, /usr/lib/jni, /lib, /usr/lib] jenkins | at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670) jenkins | at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830) jenkins | at java.base/java.lang.System.loadLibrary(System.java:1873) jenkins | at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) jenkins | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jenkins | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) jenkins | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) jenkins | at java.base/java.lang.reflect.Method.invoke(Method.java:566) jenkins | at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:336) jenkins | at java.base/java.security.AccessController.doPrivileged(Native Method) jenkins | at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:328) jenkins | at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:306)
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (4 by maintainers)

Top Related StackOverflow Question
That’s not a bug in the docker-plugin itself - this plugin doesn’t contain any native code - it’s a deficiency several layers below, which isn’t something this plugin has any (direct) control over. docker-plugin uses docker-java-api-plugin, because… docker-java-api-plugin provides docker-java library, which provides a Java implmentation of the docker client which is how this plugin talks to docker daemons. My guess is that (that old version of) the docker-java library uses netty in a manner which uses native code and doesn’t have support for the aach64 architecture you’re using.
The good news is that there are moves to upgrade to a (much) newer version of docker-java and a better transport layer - see #863 . The bad news is that it’s stuck, awaiting changes in the docker-java-api-plugin, and nobody seems to want to take on maintenance of that plugin (that’s the disadvantage of FOSS - while maintenance can be done by anybody, nobody’s forced to do it and sometimes nobody wants to) So, if you want this issue fixed, that’s where you need to push…
what I understand is we are waiting for this PR https://github.com/jenkinsci/docker-java-api-plugin/pull/10 to be merged, no?
Jenkins Version:
Docker image -> 2.361.1-lts-jdk17I still have this issue today after updating all the plugins, here is my plugins list
and my current error trace is: