On Fri, 8 Jul 2022 at 15:06, Fernando T. Reagan
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