Hi, Peter.

Thank you for your answer.

We tried our image with the latest version of Podman and qemu in version
7.0.0. It did not work with them.

Unfortunately, I can not provide you with a reproducible example without
Podman/Docker since I am not allowed to distribute the proprietary
application.

However, one can easily reproduce the error on an Apple Silicon CPU by
starting this public Docker image
<https://hub.docker.com/r/nguoianphu/docker-sybase>.

Executing the command

docker run --platform linux/amd64 nguoianphu/docker-sybase

will lead to the following error:

Kernel asynchronous I/O not initialized because it is not supported by this
host. Install the appropriate asynchronous I/O libraries.
I/O controller 2 (NetController) is running as task 786438 on thread 7 (LWP
27).
Attempt to resize 'Disk Controller Manager' failed because a new controller
could not be created.
It was not possible to create the disk controllers for the server, the
server will now shutdown.


I am sorry that I can't provide you with a better example.

Thank you and best regards
Fernando

Am So., 10. Juli 2022 um 18:23 Uhr schrieb Peter Maydell <
peter.mayd...@linaro.org>:

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

Reply via email to