finch
finch copied to clipboard
QEMU user mode emulation of x86-64 on ARM not working when x86-64-v2 is required
Describe the bug
On ARM systems, when running a command like
finch run --rm --platform=amd64 public.ecr.aws/docker/library/oraclelinux:9-slim uname -a
on certain OSes that require x86-64-v2 or higher (like oraclelinux:9, in the example), execution will fail with the following error message (or similar):
Fatal glibc error: CPU does not support x86-64-v2
Steps to reproduce
Run the following command on any OS that requires x86-64-v2:
finch run --rm --platform=amd64 public.ecr.aws/docker/library/oraclelinux:9-slim uname -a
So far, this has been observed in the following OSes:
- amazonlinux:2022
- oraclelinux:9-slim
But it is expected to fail on any RHEL 9 based OS (since that's where the change to make x64-64-v2 required was made)
Expected behavior
The uname -a command should output system information (or really, it should just not crash).
Screenshots or logs Already provided in the earlier sections.
Additional context There are several issues related to this opened across similar applications:
- https://github.com/containers/podman/issues/14314
- https://github.com/containers/podman/issues/15456
A patch to fix the issue has already been merged into the QEMU project (patch link), and is scheduled for release in QEMU 7.2, which is scheduled for release in December. The QEMU project has already tagged some RC builds, but it hasn't landed in Fedora repositories yet.
As soon as the fixes land in Fedora repositories, we can install the package inside our VM, either through a locally downloaded and bundled RPM, or through enabling Rawhide / Fedora 38 repositories (unless Fedora backports 7.2 to Fedora 37).