You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "José Andrés Cordero Benítez (Jira)" <ji...@apache.org> on 2023/10/26 10:32:00 UTC

[jira] [Updated] (OAK-10520) Tests that launch Mongo or Azure docker images fail on M1 Macs

     [ https://issues.apache.org/jira/browse/OAK-10520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

José Andrés Cordero Benítez updated OAK-10520:
----------------------------------------------
    Description: 
Issue originally reported by [~nuno.santos] 

The tests use an old version of com.arakelian/docker-junit-rule to launch docker containers. This version internally uses the Spotify Docker client, which is no longer maintained and does not work on M1 Macs. The tests fail with the following exception:
{code:java}
15:08:29.523 [main] INFO  c.a.g.s.commons.MongoDockerRule - Cannot connect to docker or pull image
com.spotify.docker.client.exceptions.DockerException: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
    at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2843)
    at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2707)
...
Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
    at jnr.ffi.provider.InvalidProvider$1.loadLibrary(InvalidProvider.java:48)
    at jnr.ffi.LibraryLoader.load(LibraryLoader.java:325)
    at jnr.unixsocket.Native.<clinit>(Native.java:80)
    at jnr.unixsocket.UnixSocketChannel.<init>(UnixSocketChannel.java:101)
    at jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:60)
    at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:69)
    at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:44)  {code}
To solve the problem, either update this library to the latest version which uses the [Docker Java Client|https://github.com/docker-java/docker-java] or use test containers (if possible?). 

  was:
The tests use an old version of com.arakelian/docker-junit-rule to launch docker containers. This version internally uses the Spotify Docker client, which is no longer maintained and does not work on M1 Macs. The tests fail with the following exception:
{code:java}
15:08:29.523 [main] INFO  c.a.g.s.commons.MongoDockerRule - Cannot connect to docker or pull image
com.spotify.docker.client.exceptions.DockerException: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
    at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2843)
    at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2707)
...
Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
    at jnr.ffi.provider.InvalidProvider$1.loadLibrary(InvalidProvider.java:48)
    at jnr.ffi.LibraryLoader.load(LibraryLoader.java:325)
    at jnr.unixsocket.Native.<clinit>(Native.java:80)
    at jnr.unixsocket.UnixSocketChannel.<init>(UnixSocketChannel.java:101)
    at jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:60)
    at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:69)
    at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:44)  {code}
To solve the problem, either update this library to the latest version which uses the [Docker Java Client|https://github.com/docker-java/docker-java] or use test containers (if possible?). 

Issue originally reported by [~nuno.santos] 


> Tests that launch Mongo or Azure docker images fail on M1 Macs
> --------------------------------------------------------------
>
>                 Key: OAK-10520
>                 URL: https://issues.apache.org/jira/browse/OAK-10520
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mongomk, test
>         Environment: Issue seems to happen on M1 Apple CPUs
>            Reporter: José Andrés Cordero Benítez
>            Assignee: José Andrés Cordero Benítez
>            Priority: Major
>
> Issue originally reported by [~nuno.santos] 
> The tests use an old version of com.arakelian/docker-junit-rule to launch docker containers. This version internally uses the Spotify Docker client, which is no longer maintained and does not work on M1 Macs. The tests fail with the following exception:
> {code:java}
> 15:08:29.523 [main] INFO  c.a.g.s.commons.MongoDockerRule - Cannot connect to docker or pull image
> com.spotify.docker.client.exceptions.DockerException: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
>     at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2843)
>     at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2707)
> ...
> Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
>     at jnr.ffi.provider.InvalidProvider$1.loadLibrary(InvalidProvider.java:48)
>     at jnr.ffi.LibraryLoader.load(LibraryLoader.java:325)
>     at jnr.unixsocket.Native.<clinit>(Native.java:80)
>     at jnr.unixsocket.UnixSocketChannel.<init>(UnixSocketChannel.java:101)
>     at jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:60)
>     at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:69)
>     at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:44)  {code}
> To solve the problem, either update this library to the latest version which uses the [Docker Java Client|https://github.com/docker-java/docker-java] or use test containers (if possible?). 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)