summary refs log tree commit diff stats
path: root/results/classifier/118/all/1829459
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/all/1829459')
-rw-r--r--results/classifier/118/all/1829459134
1 files changed, 134 insertions, 0 deletions
diff --git a/results/classifier/118/all/1829459 b/results/classifier/118/all/1829459
new file mode 100644
index 000000000..f42ca0ded
--- /dev/null
+++ b/results/classifier/118/all/1829459
@@ -0,0 +1,134 @@
+permissions: 0.970
+virtual: 0.964
+register: 0.963
+architecture: 0.959
+device: 0.949
+x86: 0.947
+peripherals: 0.947
+performance: 0.945
+arm: 0.945
+PID: 0.942
+assembly: 0.940
+graphic: 0.938
+risc-v: 0.937
+debug: 0.935
+kernel: 0.934
+socket: 0.931
+user-level: 0.930
+hypervisor: 0.923
+network: 0.913
+ppc: 0.908
+vnc: 0.905
+semantic: 0.904
+files: 0.899
+KVM: 0.885
+VMM: 0.879
+TCG: 0.872
+mistranslation: 0.872
+boot: 0.845
+i386: 0.724
+
+qemu seems to lack support for pid namespace.
+
+# Version
+
+qemu-4.0.0
+
+# commands used to launch qemu-aarch64 in user mode.
+
+printf '%s\n' ':qemu-aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:'"${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
+
+> sudo cp /usr/bin/qemu-aarch64 $RPI/usr/bin
+> sudo chroot $RPI /bin/ksh -l
+
+# host
+
+Gentoo Linux amd64
+
+# Guest
+
+Gentoo Linux aarch64
+
+# The problem that I have
+
+"emerge" program fails due to the error, "qemu: qemu_thread_create: Invalid argument".
+"emerge" is Gentoo's package manager that compiles and installs packages.
+
+# How to reproduce the issue
+
+Execute
+
+unshare --pid -- echo hello world
+
+or
+
+python -c "import portage.process; portage.process.spawn(['echo', 'hello', 'world'], unshare_pid=True)"
+
+PID namespace prevents to execute some syscalls, even if you use --map-root-user. This is managed at kernel level by the capabilities.
+
+Could you try to do the exact same thing with the native architecture binaries in the chroot to see if the problem really comes from qemu-user?
+
+Could you try to use the latest unshare version (util-linux package) that adds a "--keep-caps" parameter (v2.35-rc1) to preserve the capabilities?
+
+In a native chroot, `sudo unshare --pid -- echo hello world` works without a problem.
+
+In a qemu-aarch64 chroot, `sudo unshare --keep-caps --pid -- echo hello world` fails with the same error described in this issue.
+
+`qemu: qemu_thread_create: Invalid argument`
+
+According to `man unshare`, --keep-caps seems to apply only to user namespace.
+
+I think you should investigate
+
+`qemu: qemu_thread_create: Invalid argument`
+
+The same issue persists in qemu-5.2.0.
+
+-----------------------------------------
+# qemu-aarch64 --version
+qemu-aarch64 version 5.2.0
+Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
+-----------------------------------------
+
+Symptoms when running inside the aarch64 chroot, with both aarch64 and x86_64 binaries:
+-----------------------------------------
+# which unshare bash
+/usr/bin/unshare
+/bin/bash
+# file $(!!)
+file $(which unshare bash)
+/usr/bin/unshare: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, stripped
+/bin/bash:        ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, stripped
+# unshare --pid -- bash -c 'echo hello world'
+qemu: qemu_thread_create: Invalid argument
+Aborted (core dumped)
+# # --- switch to an x86_64 shell _inside_ the chroot
+# LD_LIBRARY_PATH=/x86_64/lib64 PATH=/x86_64/bin:$PATH bash 
+# which unshare bash
+/x86_64/bin/unshare
+/x86_64/bin/bash
+# file $(!!)
+file $(which unshare bash)
+/x86_64/bin/unshare: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
+/x86_64/bin/bash:    ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
+# unshare --pid -- bash -c 'echo hello world' 
+hello world
+# 
+-----------------------------------------
+
+I can share the core dump, in case that's useful.
+
+On this system, the qemu-aarch64 binary on the host is statically built
+and binfmt_misc is configured as follows:
+-----------------------------------------
+:aarch64:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64:CF
+-----------------------------------------
+
+
+This is an automated cleanup. This bug report has been moved to QEMU's
+new bug tracker on gitlab.com and thus gets marked as 'expired' now.
+Please continue with the discussion here:
+
+ https://gitlab.com/qemu-project/qemu/-/issues/172
+
+