On 2/1/21 3:56 AM, Shengjing Zhu wrote:
On Sun, Jan 31, 2021 at 11:07:09PM +0100, Detlef Vollmann wrote:
Package: docker.io
Version: 20.10.2+dfsg1-2
Severity: minor
X-Debbugs-Cc: d...@vollmann.ch
Dear Maintainer,
* What led up to the situation?
On system startup, dockerd starts a container with a single
S/390 binary. Via binfmt this starts qemu-s390x-static with this
binary, and that segfaults:
kernel: check[2481]: segfault at 2346320 ip 000000000043afa0 sp
00007ffdb3fc62c8 error 4 in qemu-s390x-static[401000+2b0000]
The segfault is in qemu-s390x-static, thus it's more likely a bug in qemu.
While I agree that a segfault is not the best way to react
to a precondition that's not met, the problem with dockerd is that
dockerd is calling it without providing the precondition
(which I assume is a mounted /proc).
This started with docker.io 20.10.1+dfsg1-1.
Has the version of qemu-user-static package changed?
Yes (from 1:5.2+dfsg-2 to 1:5.2+dfsg-3), but that's not the point.
If I start qemu-s390x-static exactly the same way as docker,
but in the host environment, it doesn't crash.
BTW, I'm still not really clear why dockerd starts an S/390
binary at all. It doesn't do that for any other (foreign)
architecture.
Detlef