termux / proot

An chroot-like implementation using ptrace.
https://wiki.termux.com/wiki/PRoot
Other
751 stars 161 forks source link

proot info: vpid 1: terminated with signal 9 #142

Closed qoheniac closed 3 years ago

qoheniac commented 3 years ago

I tried to install a dirstro using proot-distro which failed because

proot --link2symlink tar -C /data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/alpine --warning=no-unknown-keyword --delay-directory-restore --preserve-permissions --strip=0 -xf /data/data/com.termux/files/usr/var/lib/proot-distro/dlcache/alpine-minirootfs-3.12.0-armv7.tar.gz --exclude=dev

terminates with signal 9. See also here

michalbednarski commented 3 years ago
  1. Does just running proot tar cause this error?
  2. Please run failing command with -v 9 argument (between proot and tar) and post output
qoheniac commented 3 years ago
$> proot tar
proot info: vpid 1: terminated with signal 7
$> proot -v 9 --link2symlink tar -C /data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/alpine --warning=no-unknown-keyword --delay-directory-restore --preserve-permissions --strip=0 -xf /data/data/com.termux/files/usr/var/lib/proot-distro/dlcache/alpine-minirootfs-3.12.0-armv7.tar.gz --exclude=dev
proot info: binding = /
proot info: Checking for f2fs case sensitivity bug
proot info: f2fs bug not present on device
proot info: vpid 1: translate("/data/data/com.termux/files/home" + "tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/home/tar"
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/home/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/home/bin/tar"
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: exe = /data/data/com.termux/files/usr/bin/tar
proot info: argv = tar -C /data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/alpine --warning=no-unknown-keyword --delay-directory-restore --preserve-permissions --strip=0 -xf /data/data/com.termux/files/usr/var/lib/proot-distro/dlcache/alpine-minirootfs-3.12.0-armv7.tar.gz --exclude=dev
proot info: initial cwd = /data/data/com.termux/files/home
proot info: verbose level = 9
proot info: pid 25031: access to "/dev/pts/0" (fd 0) won't be translated until closed
proot info: pid 25031: access to "/dev/pts/0" (fd 1) won't be translated until closed
proot info: pid 25031: access to "/dev/pts/0" (fd 2) won't be translated until closed
proot info: pid 25031: access to "/proc/25031/fd" (fd 3) won't be translated until closed
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead76d4, 0x2ea4d1ec, 0x0, 0xbead76f8, 0x56bb44e2) = 0x1 [0xbead76d0, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead76d4, 0x2ea4d1ec, 0x0, 0xbead76f8, 0x56bb44e2) = 0x1 [0xbead76d0, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead76d4, 0x2ea4d1ec, 0x0, 0xbead76f8, 0x56bb44e2) = 0x0 [0xbead76d0, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead76d4, 0x2ea4d1ec, 0x0, 0xbead76f8, 0x56bb44e2) = 0x0 [0xbead76d0, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x56bb44e2) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: madvise(0xa9e0e000, 0x1000, 0x4, 0x1000, 0x1000, 0xa9e00000) = 0xa9e0e000 [0xbead7550, 0]
proot info: vpid 1: sysenter end: madvise(0xa9e0e000, 0x1000, 0x4, 0x1000, 0x1000, 0xa9e00000) = 0xa9e0e000 [0xbead7550, 0]
proot info: vpid 1: sysexit start: madvise(0x0, 0x1000, 0x4, 0x1000, 0x1000, 0xa9e00000) = 0x0 [0xbead7550, 0]
proot info: vpid 1: sysexit end: madvise(0x0, 0x1000, 0x4, 0x1000, 0x1000, 0xa9e00000) = 0x0 [0xbead7550, 0]
proot info: vpid 1: sysenter start: madvise(0xa9e32000, 0x13000, 0x4, 0x13000, 0x13000, 0xa9e00000) = 0xa9e32000 [0xbead7550, 0]
proot info: vpid 1: sysenter end: madvise(0xa9e32000, 0x13000, 0x4, 0x13000, 0x13000, 0xa9e00000) = 0xa9e32000 [0xbead7550, 0]
proot info: vpid 1: sysexit start: madvise(0x0, 0x13000, 0x4, 0x13000, 0x13000, 0xa9e00000) = 0x0 [0xbead7550, 0]
proot info: vpid 1: sysexit end: madvise(0x0, 0x13000, 0x4, 0x13000, 0x13000, 0xa9e00000) = 0x0 [0xbead7550, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0x0, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x1 [0xbead7648, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead764c, 0x2ea4d1ec, 0xa9e005c4, 0xbead7670, 0x57079022) = 0x0 [0xbead7648, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57079022) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57079022) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57079022) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57079022) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57a026a2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57ec71e2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57ec71e2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57ec71e2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0x0, 0xbead76a0, 0x57ec71e2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57ec71e2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57ec71e2) = 0x1 [0xbead7678, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57ec71e2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead767c, 0x2ea4d1ec, 0xa9e005c4, 0xbead76a0, 0x57ec71e2) = 0x0 [0xbead7678, 0]
proot info: vpid 1: sysenter start: prctl(0x26, 0x1, 0x0, 0x0, 0x0, 0xa9fb0008) = 0x26 [0xbead7850, 0]
proot info: vpid 1: sysenter end: prctl(0x26, 0x1, 0x0, 0x0, 0x0, 0xa9fb0008) = 0x26 [0xbead7850, 0]
proot info: vpid 1: sysexit start: prctl(0x0, 0x1, 0x0, 0x0, 0x0, 0xa9fb0008) = 0x0 [0xbead7850, 0]
proot info: vpid 1: sysexit end: prctl(0x0, 0x1, 0x0, 0x0, 0x0, 0xa9fb0008) = 0x0 [0xbead7850, 0]
proot info: vpid 1: sysenter start: prctl(0x16, 0x2, 0xbead7870, 0x0, 0x0, 0xa9fb0008) = 0x16 [0xbead7850, 0]
proot info: vpid 1: sysenter end: prctl(0x16, 0x2, 0xbead7870, 0x0, 0x0, 0xa9fb0008) = 0x16 [0xbead7850, 0]
proot info: vpid 1: sysexit start: prctl(0x0, 0x2, 0xbead7870, 0x0, 0x0, 0xa9fb0008) = 0x0 [0xbead7850, 0]
proot info: vpid 1: sysexit end: prctl(0x0, 0x2, 0xbead7870, 0x0, 0x0, 0xa9fb0008) = 0x0 [0xbead7850, 0]
proot info: vpid 1: sysenter start: clock_gettime(0x1, 0xbead76dc, 0x2ea4d1ec, 0x0, 0xbead7700, 0x57ec71e2) = 0x1 [0xbead76d8, 0]
proot info: vpid 1: sysenter end: clock_gettime(0x1, 0xbead76dc, 0x2ea4d1ec, 0x0, 0xbead7700, 0x57ec71e2) = 0x1 [0xbead76d8, 0]
proot info: vpid 1: sysexit start: clock_gettime(0x0, 0xbead76dc, 0x2ea4d1ec, 0x0, 0xbead7700, 0x57ec71e2) = 0x0 [0xbead76d8, 0]
proot info: vpid 1: sysexit end: clock_gettime(0x0, 0xbead76dc, 0x2ea4d1ec, 0x0, 0xbead7700, 0x57ec71e2) = 0x0 [0xbead76d8, 0]
proot info: ptrace acceleration (seccomp mode 2, old syscall order) enabled
proot info: vpid 1: sysenter start: faccessat(0xffffff9c, 0xa9e2f0f0, 0x1, 0x0, 0xa9e2f0f0, 0xbead9944) = 0xffffff9c [0xbead5378, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: sysenter end: faccessat(0xffffff9c, 0xbead5350, 0x1, 0x0, 0xa9e2f0f0, 0xbead9944) = 0xffffff9c [0xbead5378, 0]
proot info: vpid 1: sysenter start: openat(0xffffff9c, 0xa9e2f0f0, 0x20000, 0x0, 0xa9e2f0f0, 0xbead9944) = 0xffffff9c [0xbead5360, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: sysenter end: openat(0xffffff9c, 0xbead5338, 0x20000, 0x0, 0xa9e2f0f0, 0xbead9944) = 0xffffff9c [0xbead5360, 0]
proot info: vpid 1: sysenter start: execve(0xa9e2f0f0, 0xbead9944, 0xbead9970, 0x0, 0xbead658c, 0xbead9944) = 0xa9e2f0f0 [0xbead5378, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: translate("/" + "/system/bin/linker")
proot info: vpid 1:          -> "/system/bin/linker"
proot info: vpid 1: translate("/" + "/system/bin/linker")
proot info: vpid 1:          -> "/system/bin/linker"
proot info: vpid 1: sysenter end: execve(0xbead5343, 0xbead9944, 0xbead9970, 0x0, 0xbead658c, 0xbead9944) = 0xbead5343 [0xbead5343, 0]
proot info: vpid 1: sysexit start: restart_syscall(0x0, 0xbead8a70, 0xbead8a74, 0x0, 0x0, 0x0) = 0x0 [0xbead8950, 0]
proot info: vpid 1: sysexit end: restart_syscall(0xbead8854, 0xbead8a70, 0xbead8a74, 0x0, 0x0, 0x0) = 0xbead8854 [0xbead8854, 0]
proot info: vpid 1: sysenter start: open(0xbead8914, 0x0, 0x0, 0x0, 0x0, 0x0) = 0xbead8914 [0xbead8850, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: sysenter end: open(0xbead8828, 0x0, 0x0, 0x0, 0x0, 0x0) = 0xbead8828 [0xbead8850, 0]
proot info: vpid 1: sysenter start: open(0xbead893c, 0x0, 0x0, 0x32, 0xffffffff, 0x0) = 0xbead893c [0xbead8850, 0]
proot info: vpid 1: translate("/" + "/system/bin/linker")
proot info: vpid 1:          -> "/system/bin/linker"
proot info: vpid 1: sysenter end: open(0xbead883d, 0x0, 0x0, 0x32, 0xffffffff, 0x0) = 0xbead883d [0xbead8850, 0]
proot info: vpid 1: sysenter start: prctl(0xf, 0xbead8938, 0x0, 0x0, 0x100002bc, 0xc) = 0xf [0xbead8850, 0]
proot info: vpid 1: sysenter end: prctl(0xf, 0xbead8938, 0x0, 0x0, 0x100002bc, 0xc) = 0xf [0xbead8850, 0]
proot info: vpid 1: sysenter start: prctl(0x53564d41, 0x0, 0xb453e000, 0x2000, 0x1f0580ca, 0x0) = 0x53564d41 [0xbead8728, 0]
proot info: vpid 1: sysenter end: prctl(0x53564d41, 0x0, 0xb453e000, 0x2000, 0x1f0580ca, 0x0) = 0x53564d41 [0xbead8728, 0]
proot info: vpid 1: sysenter start: prctl(0x53564d41, 0x0, 0xb453d000, 0x1000, 0x1f0580de, 0x0) = 0x53564d41 [0xbead8728, 0]
proot info: vpid 1: sysenter end: prctl(0x53564d41, 0x0, 0xb453d000, 0x1000, 0x1f0580de, 0x0) = 0x53564d41 [0xbead8728, 0]
proot info: vpid 1: sysenter start: prctl(0x53564d41, 0x0, 0xb453c000, 0x1000, 0x1f058008, 0x0) = 0x53564d41 [0xbead8698, 0]
proot info: vpid 1: sysenter end: prctl(0x53564d41, 0x0, 0xb453c000, 0x1000, 0x1f058008, 0x0) = 0x53564d41 [0xbead8698, 0]
proot info: vpid 1: sysenter start: openat(0xffffff9c, 0x1f058018, 0xa8000, 0x0, 0x1f06558c, 0x1f058018) = 0xffffff9c [0xbead8620, 0]
proot info: vpid 1: translate("/" + "/dev/urandom")
proot info: vpid 1:          -> "/dev/urandom"
proot info: vpid 1: sysenter end: openat(0xffffff9c, 0xbead8613, 0xa8000, 0x0, 0x1f06558c, 0x1f058018) = 0xffffff9c [0xbead8620, 0]
proot info: vpid 1: sysenter start: fstat64(0x3, 0xbead8640, 0xde146ee6, 0x0, 0x1f06558c, 0x1f058018) = 0x3 [0xbead8638, 0]
proot info: vpid 1: sysenter end: fstat64(0x3, 0xbead8640, 0xde146ee6, 0x0, 0x1f06558c, 0x1f058018) = 0x3 [0xbead8638, 0]
proot info: vpid 1: sysexit start: fstat64(0x0, 0xbead8640, 0xde146ee6, 0x0, 0x1f06558c, 0x1f058018) = 0x0 [0xbead8638, 0]
proot info: vpid 1: sysexit end: fstat64(0x0, 0xbead8640, 0xde146ee6, 0x0, 0x1f06558c, 0x1f058018) = 0x0 [0xbead8638, 0]
proot info: vpid 1: sysenter start: ioctl(0x1, 0x80045200, 0xbead863c, 0x0, 0x1f06558c, 0x1f058018) = 0x1 [0xbead8620, 0]
proot info: vpid 1: sysenter end: ioctl(0x1, 0x80045200, 0xbead863c, 0x0, 0x1f06558c, 0x1f058018) = 0x1 [0xbead8620, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: terminated with signal 9
michalbednarski commented 3 years ago

Ok, I'll also need output from:

  1. PROOT_NO_SECCOMP=1 proot -v 9 tar
  2. strace tar

(tar without arguments usually prints help but on your device that was enough to trigger crash, while with different signal it probably has similar cause)

qoheniac commented 3 years ago
$> PROOT_NO_SECCOMP=1 proot -v 9 tar
proot info: binding = /
proot info: Checking for f2fs case sensitivity bug
proot info: f2fs bug not present on device
proot info: vpid 1: translate("/data/data/com.termux/files/home" + "tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/home/tar"
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/home/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/home/bin/tar"
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: exe = /data/data/com.termux/files/usr/bin/tar
proot info: argv = tar
proot info: initial cwd = /data/data/com.termux/files/home
proot info: verbose level = 9
proot info: pid 14183: access to "/dev/pts/0" (fd 0) won't be translated until closed
proot info: pid 14183: access to "/dev/pts/0" (fd 1) won't be translated until closed
proot info: pid 14183: access to "/dev/pts/0" (fd 2) won't be translated until closed
proot info: pid 14183: access to "/proc/14183/fd" (fd 3) won't be translated until closed
proot info: vpid 1: sysenter start: faccessat(0xffffff9c, 0xa902a0f0, 0x1, 0x0, 0xa902a0f0, 0xbe884a80) = 0xffffff9c [0xbe8804b8, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: sysenter end: faccessat(0xffffff9c, 0xbe880490, 0x1, 0x0, 0xa902a0f0, 0xbe884a80) = 0xffffff9c [0xbe880490, 0]
proot info: vpid 1: sysexit start: faccessat(0x0, 0xbe880490, 0x1, 0x0, 0xa902a0f0, 0xbe884a80) = 0x0 [0xbe880490, 0]
proot info: vpid 1: sysexit end: faccessat(0x0, 0xa902a0f0, 0x1, 0x0, 0xa902a0f0, 0xbe884a80) = 0x0 [0xbe8804b8, 0]
proot info: vpid 1: sysenter start: openat(0xffffff9c, 0xa902a0f0, 0x20000, 0x0, 0xa902a0f0, 0xbe884a80) = 0xffffff9c [0xbe8804a0, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: sysenter end: openat(0xffffff9c, 0xbe880478, 0x20000, 0x0, 0xa902a0f0, 0xbe884a80) = 0xffffff9c [0xbe880478, 0]
proot info: vpid 1: sysexit start: openat(0x3, 0xbe880478, 0x20000, 0x0, 0xa902a0f0, 0xbe884a80) = 0x3 [0xbe880478, 0]
proot info: vpid 1: sysexit end: openat(0x3, 0xa902a0f0, 0x20000, 0x0, 0xa902a0f0, 0xbe884a80) = 0x3 [0xbe8804a0, 0]
proot info: vpid 1: sysenter start: read(0x3, 0xbe8816cc, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x3 [0xbe8804b8, 0]
proot info: vpid 1: sysenter end: read(0x3, 0xbe8816cc, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x3 [0xbe8804b8, 0]
proot info: vpid 1: sysexit start: read(0x7f, 0xbe8816cc, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x7f [0xbe8804b8, 0]
proot info: vpid 1: sysexit end: read(0x7f, 0xbe8816cc, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x7f [0xbe8804b8, 0]
proot info: vpid 1: sysenter start: close(0x3, 0x7f, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x3 [0xbe8804b0, 0]
proot info: vpid 1: sysenter end: close(0x3, 0x7f, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x3 [0xbe8804b0, 0]
proot info: vpid 1: sysexit start: close(0x0, 0x7f, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x0 [0xbe8804b0, 0]
proot info: vpid 1: sysexit end: close(0x0, 0x7f, 0x7f, 0x0, 0xbe8816cc, 0xbe884a80) = 0x0 [0xbe8804b0, 0]
proot info: vpid 1: sysenter start: execve(0xa902a0f0, 0xbe884a80, 0xbe884a88, 0x0, 0xbe8816cc, 0xbe884a80) = 0xa902a0f0 [0xbe8804b8, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: translate("/" + "/system/bin/linker")
proot info: vpid 1:          -> "/system/bin/linker"
proot info: vpid 1: translate("/" + "/system/bin/linker")
proot info: vpid 1:          -> "/system/bin/linker"
proot info: vpid 1: sysenter end: execve(0xbe880483, 0xbe884a80, 0xbe884a88, 0x0, 0xbe8816cc, 0xbe884a80) = 0xbe880483 [0xbe880483, 0]
proot info: vpid 1: sysexit start: restart_syscall(0x0, 0xbebdbb7a, 0x0, 0x0, 0x0, 0x0) = 0x0 [0xbebdba70, 0]
proot info: vpid 1: sysexit end: restart_syscall(0xbebdb974, 0xbebdbb7a, 0x0, 0x0, 0x0, 0x0) = 0xbebdb974 [0xbebdb974, 0]
proot info: vpid 1: sysenter start: open(0xbebdba34, 0x0, 0x0, 0x0, 0x0, 0x0) = 0xbebdba34 [0xbebdb970, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: sysenter end: open(0xbebdb948, 0x0, 0x0, 0x0, 0x0, 0x0) = 0xbebdb948 [0xbebdb948, 0]
proot info: vpid 1: sysexit start: open(0x3, 0x0, 0x0, 0x0, 0x0, 0x0) = 0x3 [0xbebdb948, 0]
proot info: vpid 1: sysexit end: open(0x3, 0x0, 0x0, 0x0, 0x0, 0x0) = 0x3 [0xbebdb970, 0]
proot info: vpid 1: translate("/" + "/data/data/com.termux/files/usr/bin/tar")
proot info: vpid 1:          -> "/data/data/com.termux/files/usr/bin/tar"
proot info: vpid 1: terminated with signal 11
$> strace tar
execve("/data/data/com.termux/files/usr/bin/tar", ["tar"], 0xbeb8daa0 /* 17 vars */) = 0
set_tls(0xa98c8584)                     = 0
set_tid_address(0xa98c853c)             = 16465
mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa985f000
madvise(0xa985f000, 12288, MADV_MERGEABLE) = 0
mprotect(0xa985f000, 4096, PROT_NONE)   = 0
sigaltstack({ss_sp=0xa9860000, ss_flags=0, ss_size=8192}, NULL) = 0
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xa9860000, 8192, "thread signal stack") = 0
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xa985f000, 4096, "thread signal stack guard page") = 0
mprotect(0xa98c2000, 8192, PROT_READ)   = 0
mprotect(0xa98c7000, 4096, PROT_READ)   = 0
mprotect(0xa98c7000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa98c7000, 4096, PROT_READ)   = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa985e000
madvise(0xa985e000, 4096, MADV_MERGEABLE) = 0
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0xa985e000, 4096, "atexit handlers") = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
mprotect(0xa985e000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xa985e000, 4096, PROT_READ)   = 0
openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x9), ...}) = 0
ioctl(1, RNDGETENTCNT, 0xbee4b78c)      = -1 EINVAL (Invalid argument)
close(1)                                = 0
tgkill(16465, 16465, SIGKILL)           = ?
+++ killed by SIGKILL +++
Killed
michalbednarski commented 3 years ago

Looks like strace also crashes tar which means that just breaking on syscall is enough to clobber tracee registers.

This means that kernel on your device is faulty and proot cannot work on it (proot like strace breaks on syscall entry/exit but in addition to that it also modifies registers/writes memory, yet without modification registers got clobbered)

This is similar to #46 (which also couldn't be fixed on proot side but in that case there eventually was system update that fixed issue)