[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: amd64 application does not work on Apple Silicon because asynchronou
From: |
Peter Maydell |
Subject: |
Re: amd64 application does not work on Apple Silicon because asynchronous I/O is not detected |
Date: |
Sun, 10 Jul 2022 17:22:31 +0100 |
On Fri, 8 Jul 2022 at 15:06, Fernando T. Reagan
<fernando.t.reagan@gmail.com> wrote:
> I have a custom amd64 Docker image that is based on CentOS 7 and has a UNIX
> application installed in it.
> The amd64 Docker image and the application inside work without problems on an
> amd64 computer.
>
> However, when starting this image with Docker Desktop or Podman on an Apple
> Silicon CPU, the application does not start.
> The error we get from the application is something like this:
> "Kernel asynchronous I/O not initialized because it is not supported by this
> host. Install the appropriate asynchronous I/O libraries."
>
> As far as I know, Docker and Podman are using qemu to emulate processors.
> Is it a known limitation that asynchronous I/O of amd64 processors does not
> work on Apple Silicon? Or is there a way I can get this amd64 image to work
> on an Apple Silicon computer?
This probably isn't Apple Silicon specific -- likely it just means
that QEMU does not implement some syscall that your application is
using, and your application doesn't have a fallback codepath to do
something else. You can test this hypothesis by trying the app on
QEMU on a Linux host.
You should check you're using the most recent version of QEMU,
in case the bug has been fixed. If it's still there, if you can
provide a reproducible test case not involving Docker/Podman
then you can file a bug report in the QEMU bug tracker.
thanks
-- PMM