-
Notifications
You must be signed in to change notification settings - Fork 724
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error loading native library libjnidispatch.so #539
Comments
@chhetripradeep Since you're the Docker whiz around here :) would love some pointers from you ! |
The Docker disappointment du jour is
See prior issue and mailing list for more discussion, links to Docker issues. As a macOS user, depending on your os/systemd/app/etc versions, you may be able to use Jepsen's docker compose. You may be able to use Docker's (only on macOS) The only cross platform way to use os/systemd containers at this time is to decompose I created a set of scripts that attempt to minimally replicate Jepsen's My personal experience is that using LXC (on Debian) to develop Jepsen tests has been both productive and enjoyable. P.S. And for completeness, one can also override Docker's system-wide defaults by editing |
Hi @nurturenature :) But unfortunately I am running into the same error :
To re-iterate, this is me testing on macOS using Docker Desktop running on an M1 chip. (defn -main
[& args]
(sshj/agent-proxy)
;; (cli/run! (merge (cli/single-test-cmd {:test-fn stm-test})
;; (cli/serve-cmd))
;; args)
) And to start the control node docker run -d -v <path-to-minimal-jepsen-test>:/jepsen --name jepsen_control jepsen_control
./bin/control
lein run test This also proceeds to fail in the same manner. I suspect this is related to the openjdk and docker desktop running on an M1... But I am not sure what next I can try. |
I am not knowledgeable re the M1 environment, but... The errors described above indicate the control container is a macOS image. Suggest using either the Jepsen or workaround environment fully, e.g. root@control:/jepsen# uname -a
Linux control 5.10.104-linuxkit #1 SMP Thu Mar 17 17:08:06 UTC 2022 x86_64 GNU/Linux
root@control:/jepsen# java -version
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-post-Debian-1deb11u1, mixed mode, sharing)
root@control:/jepsen# ssh n1
...
Linux n1 5.10.104-linuxkit #1 SMP Thu Mar 17 17:08:06 UTC 2022 x86_64
... |
@nurturenature docker-compose OR Here's the output from the uname and java version commands.
Unfortunately though, I suspect this is slightly more sinister. It might be due to the way Docker desktop works on a mac. |
Thanks for trying and reporting back.
The Docker daemon being eponymous? I'll add to the issue if I see anything relevant elsewhere. |
I faced the same issue.
So, it worked well in my env. after replacing the version. [jepsen "0.2.7":exclusions [net.java.dev.jna/jna
net.java.dev.jna/jna-platform]]
[net.java.dev.jna/jna "5.11.0"]
[net.java.dev.jna/jna-platform "5.11.0"] |
Setup
Basic jepsen test as designed in the tutorial running on docker on macOS (i.e Docker desktop)
Expectation
lein run test
should execute the single-testObservation
Tests crash with following exception :
I did some digging around and this seems to be related to libjna so I ensured that both libjna-jni and libjna-java are installed on the control node.
I also upgraded the java version to openjdk-17 in hopes that it would solve the problem.
To get to the bottom of this, I ran a simple
lein repl
and executedThis fails with:
As you can see, I am running Docker on a macbook M1 hence the aarch64 requirement.
I also tried to manually copy libjnidispatch.so from the system (path
/usr/lib/aarch64-linux-gnu/jni/libjnidispatch.system.so
) to a local folder and setting the LD_LIBRARY_PATH to include this.so
file but this also does not work.I understand that Docker has been a source of constant pain and a "tirefire" but I really do want to get Jepsen tests working in docker for its ease of use. Also, setting up LXC on macOS (arm) seems to be a pain
The text was updated successfully, but these errors were encountered: