Skip to content

Outdated OPA docker image #3447

@MonkeyCanCode

Description

@MonkeyCanCode

Describe the bug

While debugging another issue, I noticed somehow we are using 0.63.0 version for OPA image (which is almost two years old). Other than security concerns with outdated image, the other problem with 0.63.0 image is this version only supported linux/amd64. Thus, if you tried to run this on linux/arm64 system, this will fail immediately.

Is there a specific reason on why we want to stick with this version (quick local version updated shows some code changes will be needed as some class paths/endpoints changed)?

Sample error:

2026-01-14 20:11:17,217 ERROR [tc.doc.io/.63.0] [,] [,,,] (pool-2-thread-1) Could not start container: java.lang.IllegalStateException: Wait strategy failed. Container exited with code 2
	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:525)
	at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:346)
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:336)
	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:322)
	at org.apache.polaris.extension.auth.opa.test.OpaTestResource.start(OpaTestResource.java:56)
	at io.quarkus.test.common.TestResourceManager$TestResourceRunnable.run(TestResourceManager.java:684)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for URL to be accessible (http://localhost:55421/health should return HTTP [200])
	at org.testcontainers.containers.wait.strategy.HttpWaitStrategy.waitUntilReady(HttpWaitStrategy.java:320)
	at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:52)
	at org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:909)
	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:492)
	... 10 more
Caused by: org.rnorth.ducttape.TimeoutException: Timeout waiting for result with exception
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:54)
	at org.testcontainers.containers.wait.strategy.HttpWaitStrategy.waitUntilReady(HttpWaitStrategy.java:252)
	... 13 more
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
	at org.testcontainers.containers.wait.strategy.HttpWaitStrategy.lambda$waitUntilReady$6(HttpWaitStrategy.java:312)
	at org.rnorth.ducttape.ratelimits.RateLimiter.doWhenReady(RateLimiter.java:27)
	at org.testcontainers.containers.wait.strategy.HttpWaitStrategy.lambda$waitUntilReady$7(HttpWaitStrategy.java:257)
	at org.rnorth.ducttape.unreliables.Unreliables.lambda$retryUntilSuccess$0(Unreliables.java:43)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	... 3 more
Caused by: java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.connect0(Native Method)
	at java.base/sun.nio.ch.Net.connect(Net.java:589)
	at java.base/sun.nio.ch.Net.connect(Net.java:578)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:583)
	at java.base/java.net.Socket.connect(Socket.java:751)
	at java.base/java.net.Socket.connect(Socket.java:686)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:183)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)
	at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:282)
	at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386)
	at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1324)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1257)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1143)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1072)
	at org.testcontainers.containers.wait.strategy.HttpWaitStrategy.lambda$waitUntilReady$6(HttpWaitStrategy.java:274)
	... 7 more

Sample error in the docker container:

2026-01-14 20:11:17,396 ERROR [tc.doc.io/.63.0] [,] [,,,] (pool-2-thread-1) Log output from the failed container:
{"addrs":["0.0.0.0:8181"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","time":"2026-01-15T02:09:17Z"}
SIGSEGV: segmentation violation
PC=0x48c105 m=3 sigcode=1 addr=0xffffffff64fa6e60

goroutine 0 gp=0xc000006fc0 m=3 mp=0xc000079008 [idle]:
runtime.netpoll(0xc000040080?)
	/usr/local/go/src/runtime/netpoll_epoll.go:166 +0x245 fp=0xffff671a27b8 sp=0xffff671a2128 pc=0x48c105
runtime.findRunnable()
	/usr/local/go/src/runtime/proc.go:3470 +0x8c5 fp=0xffff671a2930 sp=0xffff671a27b8 pc=0x4986a5
runtime.schedule()
	/usr/local/go/src/runtime/proc.go:3868 +0xb1 fp=0xffff671a2968 sp=0xffff671a2930 pc=0x499c11
runtime.mstart1()
	/usr/local/go/src/runtime/proc.go:1736 +0xcd fp=0xffff671a2990 sp=0xffff671a2968 pc=0x49570d
runtime.mstart0()
	/usr/local/go/src/runtime/proc.go:1686 +0x76 fp=0xffff671a29c0 sp=0xffff671a2990 pc=0x495616
runtime.mstart()
	/usr/local/go/src/runtime/asm_amd64.s:394 +0x5 fp=0xffff671a29c8 sp=0xffff671a29c0 pc=0x4c8b25

To Reproduce

run ./gradlew build on machines that are linux/arm64.

Actual Behavior

No response

Expected Behavior

No response

Additional context

No response

System information

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions