finch icon indicating copy to clipboard operation
finch copied to clipboard

QEMU user mode emulation of x86-64 on ARM not working when x86-64-v2 is required

Open pendo324 opened this issue 2 years ago • 0 comments

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).

pendo324 avatar Nov 22 '22 20:11 pendo324