Closed michalkurzeja closed 5 months ago
I can see that there was an attempt to fix this issue but it seems it has not been included in the latest releases: https://github.com/temporalio/docker-builds/pull/208.
What's strange is that only temporal-server
is affected. The others are correct. Looking into this.
Ok, this is a timing thing. So the release process doesn't actually build new images, it copies images from temporaliotest. That means although the release was done after the cross-compile fix was merged, the images that were released were those built before the cross-compile fix was merged, due to the release validation process. I've confirmed that temporaliotest images being built currently have the correct arch for temporal-server
. So the next release should fix this issue. I will check internally about re-building and releasing fixed images for those that were affected.
Confirmed, the re-released tags work on arm64 hosts now. Thanks!
What are you really trying to do?
We're running temporal server version
1.22.7
on AWS ECS, withLinux/ARM64
arch. Today, I've been trying to upgrade the server image to version1.24.1
.Describe the bug
The container starts, then almost immediately fails when trying to execute
/usr/local/bin/temporal-server
binary with the error:This indicates that the host and the binary have incompatible architectures.
After some debugging, I found that, while the docker image is built for the right architecture (
linux/arm64
), thetemporal-server
binary it contains is compiled forx86-64
.Minimal Reproduction
I did an investigation on my M1 Mac (an arm64 CPU):
docker pull temporalio/server:1.24.1
docker inspect temporalio/server:1.24.1
. Here's the relevant part of the output:docker run --user=root -it --rm --entrypoint=sh temporalio/server:1.24.1
. I'm running it as root to be able to runapk add
.file
util:apk add -U file
.file
:Note the
x86-64
bit.I ran the same steps for
temporalio/server:1.23.1
and got the same result. The binary insidetemporalio/server:1.22.7
, however, returns the expected output:Here, we can clearly see the arch is
ARM aarch64
.A side note: The bugged images seem to run on M1 Macs just fine, probably thanks to Rosetta.
Environment/Versions
1.24.1
and1.23.1
, probably others too.