blob: 49cb7361177eca5d1ecd75fc3b0e1bc7276fccf1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
command hangs in CentOS 7 arm64 container with Ubuntu 22 amd64 host
Description of problem:
The command hangs in the container, taking over the CPU:
```
$ docker run -it centos:7
[root@42e655bf3d60 /]# LD_DEBUG=all /lib64/ld-2.17.so --list /usr/bin/true &
[1] 74
[root@42e655bf3d60 /]# 74: file=/usr/bin/true [0]; generating link map
[root@42e655bf3d60 /]# ps -e -o pid,ppid,etime,time,state,args
PID PPID ELAPSED TIME S COMMAND
1 0 34:59 00:00:00 S /usr/libexec/qemu-binfmt/aarch64-binfmt-P /bin/bash /bin/bash
74 1 03:16 00:03:13 R /usr/libexec/qemu-binfmt/aarch64-binfmt-P /lib64/ld-2.17.so /lib64/ld-2.17.so
80 1 4-19:34:01 00:00:00 R ps -e -o pid,ppid,etime,time,state,args
[root@42e655bf3d60 /]#
```
Steps to reproduce:
1. Start container
2. Run `/lib64/ld-2.17.so --list /usr/bin/true`
Additional information:
1. The problem is not observed in an Ubuntu 20.04 host system performing the same scenario.
2. My team build environment has amd64 native architecture hardware. I ran a similar scenario on an AWS arm64 native machine (QEMU is not needed) and the command works fine in the container.
3. My team builds several Linux images daily - about a dozen amd64 and eight arm64. This is the only image that's causing us this problem.
4. I built trace-cmd but when I tried to start a trace it told me `No events enabled with kvm`.
5. I built qemu-8.1.0-rc3 and saw the same behavior but I don't think `/usr/libexec/qemu-binfmt/aarch64-binfmt-P` was replaced with a new version so I don't think the old version was used for my container.
|