dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.98k stars 4.66k forks source link

AOT built binary for aarch64 android fails to run on Nvidia Shield TV #96592

Open nikarh opened 8 months ago

nikarh commented 8 months ago

Description

I am trying to run an AOT compiled Hello World on aarch64 on Nvidia Shield TV android device. It always returns exit code 255. I ran the app with strace and got the following output:

Strace stderr: ``` execve("./AndroidRepro", ["./AndroidRepro"], 0x7fe83df310 /* 24 vars */) = 0 getpid() = 23894 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8c000 set_tid_address(0x2c37e84508) = 23894 faccessat(AT_FDCWD, "/dev/urandom", R_OK) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 getrandom("\xa0\x90\x71\xd6\x6e\xab\x88\x7e\xb6\xf4\xfd\xc8\x1a\x42\xde\xeb\xec\x4a\x0f\x44\x4b\x81\x64\x6f\xd8\xcb\x07\x8b\x42\x68\x2a\x81"..., 40, GRND_NONBLOCK) = 40 mmap(NULL, 1104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8f000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e8f000, 1104, "arc4random data") = 0 sched_getscheduler(0) = 0 (SCHED_OTHER) mmap(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e90000 mprotect(0x2c37e90000, 4096, PROT_NONE) = 0 sigaltstack({ss_sp=0x2c37e91000, ss_flags=0, ss_size=32768}, NULL) = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e91000, 32768, "thread signal stack") = 0 mmap(NULL, 16777216, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e99000 mprotect(0x2c3832e000, 8192, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c37e76000, 28672, PROT_READ) = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e7f000, 45056, ".bss") = 0 mprotect(0x2c37e83000, 4096, PROT_READ) = 0 mprotect(0x2c37e83000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c37e83000, 4096, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e99000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e99000, 4096, "atexit handlers") = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e9a000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e9a000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e9b000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e9b000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e9c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e9c000, 409600, "linker_alloc") = 0 mprotect(0x2c38e9c000, 409600, PROT_READ|PROT_WRITE) = 0 openat(AT_FDCWD, "/dev/null", O_RDWR) = 3 fcntl(0, F_GETFL) = 0x20002 (flags O_RDWR|O_LARGEFILE) fcntl(1, F_GETFL) = 0x20002 (flags O_RDWR|O_LARGEFILE) fcntl(2, F_GETFL) = 0x20001 (flags O_WRONLY|O_LARGEFILE) close(3) = 0 newfstatat(AT_FDCWD, "/dev/__properties__", {st_mode=S_IFDIR|0711, st_size=3780, ...}, 0) = 0 faccessat(AT_FDCWD, "/dev/__properties__/property_info", R_OK) = 0 openat(AT_FDCWD, "/dev/__properties__/property_info", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=58100, ...}) = 0 mmap(NULL, 58100, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f00000 close(3) = 0 mmap(NULL, 7400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f0f000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38f0f000, 7400, "System property context nodes") = 0 openat(AT_FDCWD, "/dev/__properties__/properties_serial", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f11000 close(3) = 0 mmap(NULL, 40960, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f31000 mprotect(0x2c38f32000, 32768, PROT_READ|PROT_WRITE) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:exported2_default_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f3b000 close(3) = 0 rt_sigaction(SIGABRT, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGBUS, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGFPE, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGILL, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSEGV, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSTKFLT, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSYS, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGTRAP, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_3, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:debug_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f5b000 close(3) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f7b000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38f7b000, 4096, "bionic_alloc_small_objects") = 0 newfstatat(AT_FDCWD, "/proc/self/exe", {st_mode=S_IFREG|0771, st_size=4246440, ...}, 0) = 0 readlinkat(AT_FDCWD, "/proc/self/exe", "/data/local/tmp/AndroidRepro", 4096) = 28 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f7c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38f7c000, 409600, "linker_alloc") = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x5f94ae8000, 278528, ".bss") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe0000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe0000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe1000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe1000, 4096, "bionic_alloc_small_objects") = 0 newfstatat(AT_FDCWD, "/system/etc/ld.config.arm64.txt", 0x7ff16b59e0, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/linkerconfig/ld.config.txt", {st_mode=S_IFREG|0644, st_size=68959, ...}, 0) = 0 openat(AT_FDCWD, "/linkerconfig/ld.config.txt", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=68959, ...}) = 0 mmap(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe2000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe2000, 69632, "bionic_alloc_lob") = 0 read(3, "dir.system = /system/bin/\ndir.sy"..., 1024) = 1024 read(3, "em/system_ext/${LIB}\nnamespace.d"..., 1024) = 1024 read(3, "ted.paths += /odm/framework\nname"..., 1024) = 1024 read(3, "uct/${LIB}\nnamespace.default.asa"..., 1024) = 1024 read(3, "efault.asan.permitted.paths += /"..., 1024) = 1024 read(3, "ink.com_android_adbd.shared_libs"..., 1024) = 1024 read(3, ".com_android_adbd.isolated = tru"..., 1024) = 1024 read(3, "= libc.so\nnamespace.com_android_"..., 1024) = 1024 read(3, "mitted.paths += /apex/com.androi"..., 1024) = 1024 read(3, "mespace.com_android_conscrypt.li"..., 1024) = 1024 read(3, ".isolated = true\nnamespace.com_a"..., 1024) = 1024 read(3, "ace.com_android_media.link.defau"..., 1024) = 1024 read(3, "tted.paths += /system/${LIB}\nnam"..., 1024) = 1024 read(3, "tworks.link.default.shared_libs "..., 1024) = 1024 read(3, "om.android.os.statsd/${LIB}\nname"..., 1024) = 1024 read(3, "rch64-android.so:libclang_rt.asa"..., 1024) = 1024 read(3, "shared_libs += libdl.so\nnamespac"..., 1024) = 1024 read(3, ".runtime/${LIB}\nnamespace.com_an"..., 1024) = 1024 read(3, "_rt.hwasan-aarch64-android.so:li"..., 1024) = 1024 read(3, "space.rs.asan.search.paths += /d"..., 1024) = 1024 read(3, "libs += libdl.so\nnamespace.rs.li"..., 1024) = 1024 read(3, "asan.search.paths += /data/asan/"..., 1024) = 1024 read(3, "libs += libm.so\nnamespace.sphal."..., 1024) = 1024 read(3, "ls.so:libgralloctypes.so:libhard"..., 1024) = 1024 read(3, "dk.asan.search.paths += /data/as"..., 1024) = 1024 read(3, "an-arm-android.so:libdl.so:liblo"..., 1024) = 1024 read(3, "lt.visible = true\nnamespace.defa"..., 1024) = 1024 read(3, "dk.so:libnativewindow.so:libneur"..., 1024) = 1024 read(3, "1.0.so:android.hidl.memory.token"..., 1024) = 1024 read(3, ".hardware.audio.effect@2.0.so:an"..., 1024) = 1024 read(3, "io@1.0.so:android.hardware.broad"..., 1024) = 1024 read(3, "id.hardware.drm@1.0.so:android.h"..., 1024) = 1024 read(3, "@2.1.so:android.hardware.identit"..., 1024) = 1024 read(3, "r@1.1.so:android.hardware.power@"..., 1024) = 1024 read(3, ".thermal@2.0.so:android.hardware"..., 1024) = 1024 read(3, "hidl.memory.block@1.0.so:android"..., 1024) = 1024 read(3, "radio_metadata.so:libspeexresamp"..., 1024) = 1024 read(3, "ibadbd_auth.so\nnamespace.com_and"..., 1024) = 1024 read(3, "com_android_art.isolated = true\n"..., 1024) = 1024 read(3, "ermitted.paths = /apex/com.andro"..., 1024) = 1024 read(3, "neuralnetworks.link.system.share"..., 1024) = 1024 read(3, "stem/${LIB}\nnamespace.com_androi"..., 1024) = 1024 read(3, "lone-aarch64-android.so:libclang"..., 1024) = 1024 read(3, "libs += libicuuc.so\nnamespace.sy"..., 1024) = 1024 read(3, "amespace.vndk.asan.search.paths "..., 1024) = 1024 read(3, "n_standalone-arm-android.so\nname"..., 1024) = 1024 read(3, "B}\nnamespace.default.asan.search"..., 1024) = 1024 read(3, "roid_art.shared_libs += libpac.s"..., 1024) = 1024 read(3, "adbd.link.default.shared_libs +="..., 1024) = 1024 read(3, "art.search.paths = /apex/com.and"..., 1024) = 1024 read(3, "scrypt.permitted.paths += /syste"..., 1024) = 1024 read(3, "link.default.shared_libs += libc"..., 1024) = 1024 read(3, " += libc.so\nnamespace.com_androi"..., 1024) = 1024 read(3, "alone-arm-android.so\nnamespace.c"..., 1024) = 1024 read(3, "_android_neuralnetworks.link.def"..., 1024) = 1024 read(3, "isolated = true\nnamespace.com_an"..., 1024) = 1024 read(3, "ibs += libc.so\nnamespace.com_and"..., 1024) = 1024 read(3, "ce.com_android_resolv.asan.permi"..., 1024) = 1024 read(3, "one-aarch64-android.so:libclang_"..., 1024) = 1024 read(3, ".default.shared_libs += libdl.so"..., 1024) = 1024 read(3, "space.rs.asan.search.paths = /da"..., 1024) = 1024 read(3, "id.so:libclang_rt.asan-arm-andro"..., 1024) = 1024 read(3, "search.paths += /vendor/${LIB}/h"..., 1024) = 1024 read(3, "mediandk.so:libnativewindow.so:l"..., 1024) = 1024 read(3, "aphics.mapper@3.0.so:android.har"..., 1024) = 1024 read(3, "dk.permitted.paths += /system/ve"..., 1024) = 1024 read(3, "apex/com.android.vndk.v30/${LIB}"..., 1024) = 1024 read(3, "namespace.vndk.link.sphal.allow_"..., 1024) = 351 read(3, "", 1024) = 0 close(3) = 0 faccessat(AT_FDCWD, "/system/bin", R_OK) = 0 openat(AT_FDCWD, "/system/bin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0751, st_size=8192, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/bin", 4095) = 11 newfstatat(AT_FDCWD, "/system/bin", {st_mode=S_IFDIR|0751, st_size=8192, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/system/xbin", R_OK) = 0 openat(AT_FDCWD, "/system/xbin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/xbin", 4095) = 12 newfstatat(AT_FDCWD, "/system/xbin", {st_mode=S_IFDIR|0751, st_size=4096, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/system/system_ext/bin", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/system/product/bin", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/odm/bin", R_OK) = 0 openat(AT_FDCWD, "/odm/bin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/odm/bin", 4095) = 15 newfstatat(AT_FDCWD, "/vendor/odm/bin", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/vendor/bin", R_OK) = 0 openat(AT_FDCWD, "/vendor/bin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/bin", 4095) = 11 newfstatat(AT_FDCWD, "/vendor/bin", {st_mode=S_IFDIR|0751, st_size=4096, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/data/nativetest/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest64/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest64/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest64/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest64/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest/unrestricted", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest64/unrestricted", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/local/tmp", R_OK) = 0 openat(AT_FDCWD, "/data/local/tmp", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0771, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/data/local/tmp", 4095) = 15 newfstatat(AT_FDCWD, "/data/local/tmp", {st_mode=S_IFDIR|0771, st_size=4096, ...}, 0) = 0 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff3000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff3000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff4000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff4000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff5000, 8192, "bionic_alloc_lob") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff7000, 8192, "bionic_alloc_lob") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff9000, 8192, "bionic_alloc_lob") = 0 munmap(0x2c38ff5000, 8192) = 0 munmap(0x2c38ff7000, 8192) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff5000, 8192, "bionic_alloc_lob") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff7000, 8192, "bionic_alloc_lob") = 0 munmap(0x2c38ff5000, 8192) = 0 munmap(0x2c38ff9000, 8192) = 0 munmap(0x2c38ff7000, 8192) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff5000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff6000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff6000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff7000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff8000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff8000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff9000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ffa000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ffa000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ffb000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ffb000, 4096, "bionic_alloc_lob") = 0 munmap(0x2c38fe2000, 69632) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe2000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe2000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe3000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe3000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:vndk_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38ffc000 close(3) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/odm/lib64/vndk-sp", O_RDONLY|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/odm/lib64/vndk-sp", 0x7ff16b3490, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/vendor/lib64/vndk-sp", O_RDONLY|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/vendor/lib64/vndk-sp", 0x7ff16b3490, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/apex/com.android.vndk.v30/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.vndk.v30/lib64", 4095) = 32 newfstatat(AT_FDCWD, "/apex/com.android.vndk.v30/lib64", {st_mode=S_IFDIR|0755, st_size=12288, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.vndk.v30/lib64", {st_mode=S_IFDIR|0755, st_size=12288, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.neuralnetworks/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.neuralnetworks"..., 4095) = 38 newfstatat(AT_FDCWD, "/apex/com.android.neuralnetworks/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.neuralnetworks/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe4000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe4000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/odm/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/odm/lib64", 4095) = 17 newfstatat(AT_FDCWD, "/vendor/odm/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/vendor/odm/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/vendor/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/lib64", 4095) = 13 newfstatat(AT_FDCWD, "/vendor/lib64", {st_mode=S_IFDIR|0755, st_size=8192, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/vendor/lib64", {st_mode=S_IFDIR|0755, st_size=8192, ...}, 0) = 0 openat(AT_FDCWD, "/vendor/lib64/hw", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/lib64/hw", 4095) = 16 newfstatat(AT_FDCWD, "/vendor/lib64/hw", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/vendor/lib64/hw", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.runtime/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.runtime/lib64", 4095) = 31 newfstatat(AT_FDCWD, "/apex/com.android.runtime/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.runtime/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.art/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.art/lib64", 4095) = 27 newfstatat(AT_FDCWD, "/apex/com.android.art/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.art/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.resolv/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.resolv/lib64", 4095) = 30 newfstatat(AT_FDCWD, "/apex/com.android.resolv/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.resolv/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.conscrypt/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.conscrypt/lib6"..., 4095) = 33 newfstatat(AT_FDCWD, "/apex/com.android.conscrypt/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.conscrypt/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.media/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.media/lib64", 4095) = 29 newfstatat(AT_FDCWD, "/apex/com.android.media/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.media/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe5000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/apex/com.android.os.statsd/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.os.statsd/lib6"..., 4095) = 33 newfstatat(AT_FDCWD, "/apex/com.android.os.statsd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.os.statsd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.adbd/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.adbd/lib64", 4095) = 28 newfstatat(AT_FDCWD, "/apex/com.android.adbd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.adbd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe6000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe6000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/system/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=24576, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib64", 4095) = 13 newfstatat(AT_FDCWD, "/system/lib64", {st_mode=S_IFDIR|0755, st_size=24576, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/system/lib64", {st_mode=S_IFDIR|0755, st_size=24576, ...}, 0) = 0 openat(AT_FDCWD, "/system/system_ext/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/system/system_ext/lib64", 0x7ff16b3490, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/system/product/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/product/lib64", 4095) = 21 newfstatat(AT_FDCWD, "/system/product/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/system/product/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 munmap(0x2c38ff7000, 4096) = 0 munmap(0x2c38ff5000, 4096) = 0 munmap(0x2c38ffb000, 4096) = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c3901c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c3901c000, 409600, "linker_alloc") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe7000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe8000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe8000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fea000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fea000, 4096, "bionic_alloc_small_objects") = 0 munmap(0x2c38fe9000, 4096) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38feb000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38feb000, 4096, "bionic_alloc_small_objects") = 0 munmap(0x2c38fe9000, 4096) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fec000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fec000, 4096, "bionic_alloc_small_objects") = 0 munmap(0x2c38fe9000, 4096) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 munmap(0x2c38fe9000, 4096) = 0 openat(AT_FDCWD, "/data/local/tmp", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0771, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/data/local/tmp", 4095) = 15 newfstatat(AT_FDCWD, "/data/local/tmp", {st_mode=S_IFDIR|0771, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/data/local/tmp", {st_mode=S_IFDIR|0771, st_size=4096, ...}, 0) = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39080000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39080000, 409600, "linker_alloc") = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c390e4000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c390e4000, 409600, "linker_alloc") = 0 openat(AT_FDCWD, "/data/local/tmp/libdl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/system/lib64/libdl.so", O_RDONLY|O_CLOEXEC) = 3 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.runtime/lib64/"..., 4096) = 47 fstat(3, {st_mode=S_IFREG|0644, st_size=14176, ...}) = 0 fstatfs(3, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_RELATIME}) = 0 pread64(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\20\0\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c38fe9000 mmap(NULL, 2688, PROT_READ, MAP_PRIVATE, 3, 0x3000) = 0x2c38fed000 mmap(NULL, 272, PROT_READ, MAP_PRIVATE, 3, 0x2000) = 0x2c38fee000 mmap(NULL, 3706, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c38fef000 openat(AT_FDCWD, "/data/local/tmp/libc.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/system/lib64/libc.so", O_RDONLY|O_CLOEXEC) = 4 readlinkat(AT_FDCWD, "/proc/self/fd/4", "/apex/com.android.runtime/lib64/"..., 4096) = 46 fstat(4, {st_mode=S_IFREG|0644, st_size=978160, ...}) = 0 fstatfs(4, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_RELATIME}) = 0 pread64(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\260\3\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 744, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2c38ff0000 mmap(NULL, 4704, PROT_READ, MAP_PRIVATE, 4, 0xee000) = 0x2c38ff1000 mmap(NULL, 4032, PROT_READ, MAP_PRIVATE, 4, 0xb8000) = 0x2c38ff5000 mmap(NULL, 18241, PROT_READ, MAP_PRIVATE, 4, 0xc000) = 0x2c39148000 mmap(NULL, 1306624, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c3914d000 munmap(0x2c3914d000, 237568) = 0 munmap(0x2c39265000, 159744) = 0 mmap(0x2c39187000, 238260, PROT_READ, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x2c39187000 mmap(0x2c391c2000, 501968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0x3b000) = 0x2c391c2000 mmap(0x2c3923d000, 15040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xb6000) = 0x2c3923d000 mmap(0x2c39241000, 8424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xb9000) = 0x2c39241000 mmap(0x2c39244000, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c39244000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39244000, 135168, ".bss") = 0 mmap(NULL, 520192, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39265000 munmap(0x2c39265000, 163840) = 0 munmap(0x2c39292000, 335872) = 0 mmap(0x2c3928d000, 2972, PROT_READ, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2c3928d000 mmap(0x2c3928e000, 672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x2c3928e000 mmap(0x2c3928f000, 384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x2c3928f000 mmap(0x2c39291000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c39291000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39291000, 4096, ".bss") = 0 rt_sigprocmask(SIG_BLOCK, ~[], [RTMIN], 8) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39292000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39292000, 409600, "linker_alloc") = 0 mprotect(0x5f94ae2000, 12288, PROT_READ) = 0 mprotect(0x2c3928f000, 4096, PROT_READ) = 0 mprotect(0x2c3923d000, 16384, PROT_READ) = 0 close(3) = 0 close(4) = 0 munmap(0x2c39148000, 18241) = 0 munmap(0x2c38ff5000, 4032) = 0 munmap(0x2c38ff1000, 4704) = 0 munmap(0x2c38ff0000, 744) = 0 munmap(0x2c38fef000, 3706) = 0 munmap(0x2c38fee000, 272) = 0 munmap(0x2c38fed000, 2688) = 0 munmap(0x2c38fe9000, 688) = 0 mmap(NULL, 20480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2c38fed000 mprotect(0x2c38fee000, 12288, PROT_READ|PROT_WRITE) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [RTMIN], 8) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fee000, 12288, "stack_and_tls:main") = 0 munmap(0x2c37e8c000, 12288) = 0 mprotect(0x2c39247000, 4096, PROT_READ) = 0 mprotect(0x2c39247000, 4096, PROT_READ|PROT_WRITE) = 0 faccessat(AT_FDCWD, "/dev/urandom", R_OK) = 0 getrandom("\x69\x83\x9e\xc2\x0e\xd6\x2a\x9f\xa3\x71\xeb\x74\x84\x23\xe5\xc5\x88\xa7\x3e\x38\xc0\xe4\x40\x1a\x6c\xac\x2c\x43\x46\x74\xca\xde"..., 40, GRND_NONBLOCK) = 40 mmap(NULL, 1104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e8c000, 1104, "arc4random data") = 0 mprotect(0x2c39247000, 4096, PROT_READ) = 0 newfstatat(AT_FDCWD, "/dev/__properties__", {st_mode=S_IFDIR|0711, st_size=3780, ...}, 0) = 0 faccessat(AT_FDCWD, "/dev/__properties__/property_info", R_OK) = 0 openat(AT_FDCWD, "/dev/__properties__/property_info", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=58100, ...}) = 0 mmap(NULL, 58100, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39148000 close(3) = 0 mmap(NULL, 7400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8d000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e8d000, 7400, "System property context nodes") = 0 openat(AT_FDCWD, "/dev/__properties__/properties_serial", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39157000 close(3) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:debug_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39265000 close(3) = 0 rt_sigaction(SIGRT_7, {sa_handler=0x2c391d9eb0, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 prctl(0x37 /* PR_??? */, 0x1, 0, 0, 0) = -1 EINVAL (Invalid argument) mprotect(0x2c39247000, 4096, PROT_READ|PROT_WRITE) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:exported2_default_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c392f6000 close(3) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:heapprofd_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39316000 close(3) = 0 mprotect(0x2c39247000, 4096, PROT_READ) = 0 rt_sigaction(SIGRT_4, {sa_handler=0x2c391c3e38, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_6, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, 8) = 0 getrandom("\xbd\x38\x15\xfd", 4, GRND_NONBLOCK) = 4 mmap(NULL, 8858370048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2c39336000 getrandom("\x86\xbb\x67\x26", 4, GRND_NONBLOCK) = 4 sched_getaffinity(0, 128, [0, 1, 2, 3]) = 8 mmap(0x2c69343000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c69343000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c69343000, 262144, "scudo:primary") = 0 mmap(0x2c39344000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c39344000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39344000, 262144, "scudo:primary") = 0 futex(0x2c39244064, FUTEX_WAKE_PRIVATE, 2147483647) = 0 getuid() = 2000 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) openat(AT_FDCWD, "/system/lib64/libnetd_client.so", O_RDONLY|O_CLOEXEC) = 3 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib64/libnetd_client.so", 4096) = 31 fstat(3, {st_mode=S_IFREG|0644, st_size=33432, ...}) = 0 fstatfs(3, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_NODEV|ST_RELATIME}) = 0 pread64(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0000\0\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c38fe9000 mmap(NULL, 7920, PROT_READ, MAP_PRIVATE, 3, 0x7000) = 0x2c39177000 mmap(NULL, 560, PROT_READ, MAP_PRIVATE, 3, 0x7000) = 0x2c38ff2000 mmap(NULL, 7541, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c39179000 openat(AT_FDCWD, "/system/lib64/libc++.so", O_RDONLY|O_CLOEXEC) = 4 readlinkat(AT_FDCWD, "/proc/self/fd/4", "/system/lib64/libc++.so", 4096) = 23 fstat(4, {st_mode=S_IFREG|0644, st_size=710816, ...}) = 0 fstatfs(4, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_NODEV|ST_RELATIME}) = 0 pread64(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\260\4\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2c38ff5000 mmap(NULL, 2688, PROT_READ, MAP_PRIVATE, 4, 0xad000) = 0x2c38ff7000 mmap(NULL, 8080, PROT_READ, MAP_PRIVATE, 4, 0xa8000) = 0x2c3917b000 mmap(NULL, 104313, PROT_READ, MAP_PRIVATE, 4, 0x12000) = 0x2e49336000 openat(AT_FDCWD, "/system/lib64/libm.so", O_RDONLY|O_CLOEXEC) = 5 readlinkat(AT_FDCWD, "/proc/self/fd/5", "/apex/com.android.runtime/lib64/"..., 4096) = 46 fstat(5, {st_mode=S_IFREG|0644, st_size=222512, ...}) = 0 fstatfs(5, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_RELATIME}) = 0 pread64(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\20\1\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 5, 0) = 0x2c38ffb000 mmap(NULL, 9184, PROT_READ, MAP_PRIVATE, 5, 0x35000) = 0x2c3917d000 mmap(NULL, 480, PROT_READ, MAP_PRIVATE, 5, 0x35000) = 0x2c39180000 mmap(NULL, 6360, PROT_READ, MAP_PRIVATE, 5, 0x2000) = 0x2c39181000 mmap(NULL, 1044480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e49350000 munmap(0x2e49350000, 221184) = 0 munmap(0x2e49435000, 106496) = 0 mmap(0x2e49386000, 304596, PROT_READ, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x2e49386000 mmap(0x2e493d1000, 363808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0x4b000) = 0x2e493d1000 mmap(0x2e4942a000, 25232, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xa4000) = 0x2e4942a000 mmap(0x2e49431000, 697, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xaa000) = 0x2e49431000 mmap(0x2e49432000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2e49432000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e49432000, 12288, ".bss") = 0 mmap(NULL, 520192, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e49435000 munmap(0x2e49435000, 57344) = 0 munmap(0x2e4947a000, 237568) = 0 mmap(0x2e49443000, 69508, PROT_READ, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x2e49443000 mmap(0x2e49454000, 145968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0x11000) = 0x2e49454000 mmap(0x2e49478000, 712, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x35000) = 0x2e49478000 mmap(0x2e49479000, 832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x35000) = 0x2e49479000 mmap(NULL, 520192, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e4947a000 munmap(0x2e4947a000, 139264) = 0 munmap(0x2e494a5000, 344064) = 0 mmap(0x2e4949c000, 9276, PROT_READ, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2e4949c000 mmap(0x2e4949f000, 15920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x3000) = 0x2e4949f000 mmap(0x2e494a3000, 944, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7000) = 0x2e494a3000 mmap(0x2e494a4000, 945, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7000) = 0x2e494a4000 mprotect(0x2e494a3000, 4096, PROT_READ) = 0 mmap(NULL, 2147483648, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2e494a5000 mprotect(0x2c39291000, 4096, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e497a1000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e497a1000) = 0x2e497a1000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49606000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49606000) = 0x2e49606000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49606000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49606000) = 0x2e49606000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49606000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49606000) = 0x2e49606000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e494a5000, 2147483648, "cfi shadow") = 0 mprotect(0x2e4942a000, 28672, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e494a5000, 2147483648, "cfi shadow") = 0 mprotect(0x2e49478000, 4096, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e494a5000, 2147483648, "cfi shadow") = 0 close(3) = 0 close(4) = 0 close(5) = 0 munmap(0x2c39181000, 6360) = 0 munmap(0x2c39180000, 480) = 0 munmap(0x2c3917d000, 9184) = 0 munmap(0x2c38ffb000, 688) = 0 munmap(0x2e49336000, 104313) = 0 munmap(0x2c3917b000, 8080) = 0 munmap(0x2c38ff7000, 2688) = 0 munmap(0x2c38ff5000, 688) = 0 munmap(0x2c39179000, 7541) = 0 munmap(0x2c38ff2000, 560) = 0 munmap(0x2c39177000, 7920) = 0 munmap(0x2c38fe9000, 688) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(0x2c49346000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c49346000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c49346000, 262144, "scudo:primary") = 0 futex(0x2e494312f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e494312f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e494312f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "atexit handlers") = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 munmap(0x2c390e4000, 409600) = 0 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) openat(AT_FDCWD, "/dev/__properties__/u:object_r:vendor_socket_hook_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c390e4000 close(3) = 0 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) futex(0x2c3924404c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mprotect(0x2c38f7c000, 409600, PROT_READ) = 0 mprotect(0x2c38e9c000, 409600, PROT_READ) = 0 mprotect(0x2c3901c000, 409600, PROT_READ) = 0 mprotect(0x2c39080000, 409600, PROT_READ) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 rt_sigaction(SIGSEGV, NULL, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGSEGV, {sa_handler=0x5f94a4894c, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGFPE, NULL, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGFPE, {sa_handler=0x5f94a48a50, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = 3 mmap(0x2d9933e000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2d9933e000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2d9933e000, 262144, "scudo:primary") = 0 getdents64(3, /* 18 entries */, 4200) = 528 getdents64(3, /* 0 entries */, 4200) = 0 close(3) = 0 membarrier(MEMBARRIER_CMD_QUERY, 0) = 0x1 (MEMBARRIER_CMD_GLOBAL) mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff2000 mlock(0x2c38ff2000, 4096) = 0 statfs("/sys/fs/cgroup", {f_type=CGROUP2_SUPER_MAGIC, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NODEV|ST_NOEXEC|ST_RELATIME}) = 0 openat(AT_FDCWD, "/proc/self/mountinfo", O_RDONLY) = 3 mmap(0x2d79338000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2d79338000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2d79338000, 262144, "scudo:primary") = 0 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap(0x2d3933f000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2d3933f000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2d3933f000, 262144, "scudo:primary") = 0 read(3, "18 0 179:19 / / ro,nodev,relatim"..., 1024) = 1024 mmap(0x2ca9344000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ca9344000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2ca9344000, 262144, "scudo:primary") = 0 mmap(0x2cb9340000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2cb9340000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2cb9340000, 262144, "scudo:primary") = 0 mmap(0x2ce9337000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ce9337000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2ce9337000, 262144, "scudo:primary") = 0 read(3, "tmpfs tmpfs rw,seclabel,mode=755"..., 1024) = 1024 read(3, "v /apex/com.android.resolv ro,re"..., 1024) = 1024 read(3, " /apex/com.android.runtime ro,re"..., 1024) = 1024 read(3, "roid.tethering.inprocess /apex/c"..., 1024) = 1024 read(3, "ec,relatime shared:17 - cgroup n"..., 1024) = 1024 read(3, "ev,noatime shared:27 - ext4 /dev"..., 1024) = 1024 read(3, "ev/block/platform/sdhci-tegra.3/"..., 1024) = 1024 read(3, "w,nosuid,nodev,noexec,noatime sh"..., 1024) = 1024 read(3, "suid=1023,fsgid=1023,gid=9997,mu"..., 1024) = 1024 read(3, "c,noatime shared:32 - sdcardfs /"..., 1024) = 761 read(3, "", 1024) = 0 close(3) = 0 openat(AT_FDCWD, "/proc/self/cgroup", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "6:schedtune:/\n5:memory:/\n4:cpuse"..., 1024) = 86 close(3) = 0 sched_getaffinity(23894, 128, [0, 1, 2, 3]) = 8 statfs("/sys/fs/cgroup", {f_type=CGROUP2_SUPER_MAGIC, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NODEV|ST_NOEXEC|ST_RELATIME}) = 0 openat(AT_FDCWD, "/proc/self/mountinfo", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "18 0 179:19 / / ro,nodev,relatim"..., 1024) = 1024 read(3, "tmpfs tmpfs rw,seclabel,mode=755"..., 1024) = 1024 read(3, "v /apex/com.android.resolv ro,re"..., 1024) = 1024 read(3, " /apex/com.android.runtime ro,re"..., 1024) = 1024 read(3, "roid.tethering.inprocess /apex/c"..., 1024) = 1024 read(3, "ec,relatime shared:17 - cgroup n"..., 1024) = 1024 read(3, "ev,noatime shared:27 - ext4 /dev"..., 1024) = 1024 read(3, "ev/block/platform/sdhci-tegra.3/"..., 1024) = 1024 read(3, "w,nosuid,nodev,noexec,noatime sh"..., 1024) = 1024 read(3, "suid=1023,fsgid=1023,gid=9997,mu"..., 1024) = 1024 read(3, "c,noatime shared:32 - sdcardfs /"..., 1024) = 761 read(3, "", 1024) = 0 close(3) = 0 openat(AT_FDCWD, "/proc/self/cgroup", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "6:schedtune:/\n5:memory:/\n4:cpuse"..., 1024) = 86 close(3) = 0 sched_getaffinity(23894, 128, [0, 1, 2, 3]) = 8 openat(AT_FDCWD, "/dev/stune//cpu.max", O_RDONLY) = -1 ENOENT (No such file or directory) mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 mmap(0x2c99340000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c99340000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c99340000, 262144, "scudo:primary") = 0 mmap(0x2c8933c000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c8933c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c8933c000, 262144, "scudo:primary") = 0 mmap(0x2c7933b000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c7933b000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c7933b000, 262144, "scudo:primary") = 0 rt_sigaction(SIGRT_8, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGRT_8, {sa_handler=0x5f94a44fb8, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 futex(0x5f94af4b10, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/dev/stune//memory.max", O_RDONLY) = -1 ENOENT (No such file or directory) sysinfo({uptime=71185, loads=[13344, 17408, 15936], totalram=3093553152, freeram=122851328, sharedram=18128896, bufferram=19349504, totalswap=536866816, freeswap=344616960, procs=1612, totalhigh=0, freehigh=0, mem_unit=1}) = 0 mmap(NULL, 274877911040, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Out of memory) mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 exit_group(-1) = ? +++ exited with 255 +++ ```

It looks like the failure is caused by mmap failing with ENOMEM. Setting DOTNET_GCHeapHardLimit to lower values solves the issue.

I tried to find the root cause of the mmap failure but was not able to. Empirically I found that on this hardware, running the elf in an infinite bash loop that checks the exit code, setting DOTNET_GCHeapHardLimit to:

I tried to make a minimal C program that does a single mmap to reproduce the issue, but interestingly enough, it never fails, even with max long long int value.

That leads to the conclusion that the issue is caused not by just a single mmap, but by a combination of syscalls.

C program: ```c #include #include #include #include #include int main(int argc, char *argv[]) { size_t size = 0; if (sscanf(argv[1], "%zu", &size) != 1) { printf("invalid arg\n"); return 1; } printf("mapping %zu\n", size); void *ptr = mmap(NULL, size, PROT_NONE , MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (ptr <= 0) { perror("mmap failed\n"); return 1; } else { printf("mmap succeeded\n"); return 0; } } ```

Reproduction Steps

With Android NDK r26b in PATH:

dotnet new console -o HelloWorld --aot
cd HelloWorld
dotnet publish -r linux-bionic-arm64 -p:DisableUnsupportedError=true -p:PublishAotUsingRuntimePack=true -p:StripSymbols=false
adb push ./bin/Release/net8.0/linux-bionic-arm64/publish/HelloWorld.dll /data/local/tmp/
adb shell /data/local/tmp/HelloWorld

Expected behavior

Should output Hello, World!

Actual behavior

Exit code 255 and strace shows mmap failed with ENOMEM

Regression?

No response

Known Workarounds

Setting DOTNET_GCHeapHardLimit to some small value. Since I'm running the code on an Android device, and the intended use is to run it via JNI from Java code, I can set env before doing a JNI call from Java.

Configuration

[ro.build.characteristics]: [tv]
[ro.build.date]: [Sun Oct 16 20:55:18 PDT 2022]
[ro.build.date.utc]: [1665978918]
[ro.build.description]: [foster_e-user 11 RQ1A.210105.003 7825230_3167.5736 release-keys]
[ro.build.display.id]: [RQ1A.210105.003.7825230_3167.5736]
[ro.build.fingerprint]: [NVIDIA/foster_e/foster:11/RQ1A.210105.003/7825230_3167.5736:user/release-keys]
[ro.build.flavor]: [foster_e-user]
[ro.build.host]: [mobile-u64-5308-d7000]
[ro.build.id]: [RQ1A.210105.003]
[ro.build.product]: [foster]
[ro.build.system_root_image]: [true]
[ro.build.tags]: [release-keys]
[ro.build.type]: [user]
[ro.build.user]: [NVIDIA]
[ro.build.version.all_codenames]: [REL]
[ro.build.version.base_os]: []
[ro.build.version.codename]: [REL]
[ro.build.version.incremental]: [7825230_3167.5736]
[ro.build.version.min_supported_target_sdk]: [23]
[ro.build.version.ota]: [9.1.1(33.2.0.157)]
[ro.build.version.preview_sdk]: [0]
[ro.build.version.preview_sdk_fingerprint]: [REL]
[ro.build.version.release]: [11]
[ro.build.version.release_or_codename]: [11]
[ro.build.version.sdk]: [30]
[ro.build.version.security_patch]: [2022-04-05]

Other information

Related to #85650

ghost commented 8 months ago

Tagging subscribers to this area: @dotnet/gc See info in area-owners.md if you want to be subscribed.

Issue Details
### Description I am trying to run an AOT compiled Hello World on aarch64 on Nvidia Shield TV android device. It always returns exit code 255. I ran the app with `strace` and got the following output:
Strace stderr: ``` execve("./AndroidRepro", ["./AndroidRepro"], 0x7fe83df310 /* 24 vars */) = 0 getpid() = 23894 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8c000 set_tid_address(0x2c37e84508) = 23894 faccessat(AT_FDCWD, "/dev/urandom", R_OK) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 getrandom("\xa0\x90\x71\xd6\x6e\xab\x88\x7e\xb6\xf4\xfd\xc8\x1a\x42\xde\xeb\xec\x4a\x0f\x44\x4b\x81\x64\x6f\xd8\xcb\x07\x8b\x42\x68\x2a\x81"..., 40, GRND_NONBLOCK) = 40 mmap(NULL, 1104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8f000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e8f000, 1104, "arc4random data") = 0 sched_getscheduler(0) = 0 (SCHED_OTHER) mmap(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e90000 mprotect(0x2c37e90000, 4096, PROT_NONE) = 0 sigaltstack({ss_sp=0x2c37e91000, ss_flags=0, ss_size=32768}, NULL) = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e91000, 32768, "thread signal stack") = 0 mmap(NULL, 16777216, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e99000 mprotect(0x2c3832e000, 8192, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c37e76000, 28672, PROT_READ) = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e7f000, 45056, ".bss") = 0 mprotect(0x2c37e83000, 4096, PROT_READ) = 0 mprotect(0x2c37e83000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c37e83000, 4096, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e99000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e99000, 4096, "atexit handlers") = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e9a000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e9a000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e9b000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e9b000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38e9c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38e9c000, 409600, "linker_alloc") = 0 mprotect(0x2c38e9c000, 409600, PROT_READ|PROT_WRITE) = 0 openat(AT_FDCWD, "/dev/null", O_RDWR) = 3 fcntl(0, F_GETFL) = 0x20002 (flags O_RDWR|O_LARGEFILE) fcntl(1, F_GETFL) = 0x20002 (flags O_RDWR|O_LARGEFILE) fcntl(2, F_GETFL) = 0x20001 (flags O_WRONLY|O_LARGEFILE) close(3) = 0 newfstatat(AT_FDCWD, "/dev/__properties__", {st_mode=S_IFDIR|0711, st_size=3780, ...}, 0) = 0 faccessat(AT_FDCWD, "/dev/__properties__/property_info", R_OK) = 0 openat(AT_FDCWD, "/dev/__properties__/property_info", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=58100, ...}) = 0 mmap(NULL, 58100, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f00000 close(3) = 0 mmap(NULL, 7400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f0f000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38f0f000, 7400, "System property context nodes") = 0 openat(AT_FDCWD, "/dev/__properties__/properties_serial", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f11000 close(3) = 0 mmap(NULL, 40960, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f31000 mprotect(0x2c38f32000, 32768, PROT_READ|PROT_WRITE) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:exported2_default_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f3b000 close(3) = 0 rt_sigaction(SIGABRT, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGBUS, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGFPE, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGILL, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSEGV, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSTKFLT, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSYS, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGTRAP, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_3, {sa_handler=0x2c37ddfc00, sa_mask=~[], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:debug_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38f5b000 close(3) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f7b000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38f7b000, 4096, "bionic_alloc_small_objects") = 0 newfstatat(AT_FDCWD, "/proc/self/exe", {st_mode=S_IFREG|0771, st_size=4246440, ...}, 0) = 0 readlinkat(AT_FDCWD, "/proc/self/exe", "/data/local/tmp/AndroidRepro", 4096) = 28 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38f7c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38f7c000, 409600, "linker_alloc") = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x5f94ae8000, 278528, ".bss") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe0000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe0000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe1000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe1000, 4096, "bionic_alloc_small_objects") = 0 newfstatat(AT_FDCWD, "/system/etc/ld.config.arm64.txt", 0x7ff16b59e0, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/linkerconfig/ld.config.txt", {st_mode=S_IFREG|0644, st_size=68959, ...}, 0) = 0 openat(AT_FDCWD, "/linkerconfig/ld.config.txt", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=68959, ...}) = 0 mmap(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe2000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe2000, 69632, "bionic_alloc_lob") = 0 read(3, "dir.system = /system/bin/\ndir.sy"..., 1024) = 1024 read(3, "em/system_ext/${LIB}\nnamespace.d"..., 1024) = 1024 read(3, "ted.paths += /odm/framework\nname"..., 1024) = 1024 read(3, "uct/${LIB}\nnamespace.default.asa"..., 1024) = 1024 read(3, "efault.asan.permitted.paths += /"..., 1024) = 1024 read(3, "ink.com_android_adbd.shared_libs"..., 1024) = 1024 read(3, ".com_android_adbd.isolated = tru"..., 1024) = 1024 read(3, "= libc.so\nnamespace.com_android_"..., 1024) = 1024 read(3, "mitted.paths += /apex/com.androi"..., 1024) = 1024 read(3, "mespace.com_android_conscrypt.li"..., 1024) = 1024 read(3, ".isolated = true\nnamespace.com_a"..., 1024) = 1024 read(3, "ace.com_android_media.link.defau"..., 1024) = 1024 read(3, "tted.paths += /system/${LIB}\nnam"..., 1024) = 1024 read(3, "tworks.link.default.shared_libs "..., 1024) = 1024 read(3, "om.android.os.statsd/${LIB}\nname"..., 1024) = 1024 read(3, "rch64-android.so:libclang_rt.asa"..., 1024) = 1024 read(3, "shared_libs += libdl.so\nnamespac"..., 1024) = 1024 read(3, ".runtime/${LIB}\nnamespace.com_an"..., 1024) = 1024 read(3, "_rt.hwasan-aarch64-android.so:li"..., 1024) = 1024 read(3, "space.rs.asan.search.paths += /d"..., 1024) = 1024 read(3, "libs += libdl.so\nnamespace.rs.li"..., 1024) = 1024 read(3, "asan.search.paths += /data/asan/"..., 1024) = 1024 read(3, "libs += libm.so\nnamespace.sphal."..., 1024) = 1024 read(3, "ls.so:libgralloctypes.so:libhard"..., 1024) = 1024 read(3, "dk.asan.search.paths += /data/as"..., 1024) = 1024 read(3, "an-arm-android.so:libdl.so:liblo"..., 1024) = 1024 read(3, "lt.visible = true\nnamespace.defa"..., 1024) = 1024 read(3, "dk.so:libnativewindow.so:libneur"..., 1024) = 1024 read(3, "1.0.so:android.hidl.memory.token"..., 1024) = 1024 read(3, ".hardware.audio.effect@2.0.so:an"..., 1024) = 1024 read(3, "io@1.0.so:android.hardware.broad"..., 1024) = 1024 read(3, "id.hardware.drm@1.0.so:android.h"..., 1024) = 1024 read(3, "@2.1.so:android.hardware.identit"..., 1024) = 1024 read(3, "r@1.1.so:android.hardware.power@"..., 1024) = 1024 read(3, ".thermal@2.0.so:android.hardware"..., 1024) = 1024 read(3, "hidl.memory.block@1.0.so:android"..., 1024) = 1024 read(3, "radio_metadata.so:libspeexresamp"..., 1024) = 1024 read(3, "ibadbd_auth.so\nnamespace.com_and"..., 1024) = 1024 read(3, "com_android_art.isolated = true\n"..., 1024) = 1024 read(3, "ermitted.paths = /apex/com.andro"..., 1024) = 1024 read(3, "neuralnetworks.link.system.share"..., 1024) = 1024 read(3, "stem/${LIB}\nnamespace.com_androi"..., 1024) = 1024 read(3, "lone-aarch64-android.so:libclang"..., 1024) = 1024 read(3, "libs += libicuuc.so\nnamespace.sy"..., 1024) = 1024 read(3, "amespace.vndk.asan.search.paths "..., 1024) = 1024 read(3, "n_standalone-arm-android.so\nname"..., 1024) = 1024 read(3, "B}\nnamespace.default.asan.search"..., 1024) = 1024 read(3, "roid_art.shared_libs += libpac.s"..., 1024) = 1024 read(3, "adbd.link.default.shared_libs +="..., 1024) = 1024 read(3, "art.search.paths = /apex/com.and"..., 1024) = 1024 read(3, "scrypt.permitted.paths += /syste"..., 1024) = 1024 read(3, "link.default.shared_libs += libc"..., 1024) = 1024 read(3, " += libc.so\nnamespace.com_androi"..., 1024) = 1024 read(3, "alone-arm-android.so\nnamespace.c"..., 1024) = 1024 read(3, "_android_neuralnetworks.link.def"..., 1024) = 1024 read(3, "isolated = true\nnamespace.com_an"..., 1024) = 1024 read(3, "ibs += libc.so\nnamespace.com_and"..., 1024) = 1024 read(3, "ce.com_android_resolv.asan.permi"..., 1024) = 1024 read(3, "one-aarch64-android.so:libclang_"..., 1024) = 1024 read(3, ".default.shared_libs += libdl.so"..., 1024) = 1024 read(3, "space.rs.asan.search.paths = /da"..., 1024) = 1024 read(3, "id.so:libclang_rt.asan-arm-andro"..., 1024) = 1024 read(3, "search.paths += /vendor/${LIB}/h"..., 1024) = 1024 read(3, "mediandk.so:libnativewindow.so:l"..., 1024) = 1024 read(3, "aphics.mapper@3.0.so:android.har"..., 1024) = 1024 read(3, "dk.permitted.paths += /system/ve"..., 1024) = 1024 read(3, "apex/com.android.vndk.v30/${LIB}"..., 1024) = 1024 read(3, "namespace.vndk.link.sphal.allow_"..., 1024) = 351 read(3, "", 1024) = 0 close(3) = 0 faccessat(AT_FDCWD, "/system/bin", R_OK) = 0 openat(AT_FDCWD, "/system/bin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0751, st_size=8192, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/bin", 4095) = 11 newfstatat(AT_FDCWD, "/system/bin", {st_mode=S_IFDIR|0751, st_size=8192, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/system/xbin", R_OK) = 0 openat(AT_FDCWD, "/system/xbin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/xbin", 4095) = 12 newfstatat(AT_FDCWD, "/system/xbin", {st_mode=S_IFDIR|0751, st_size=4096, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/system/system_ext/bin", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/system/product/bin", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/odm/bin", R_OK) = 0 openat(AT_FDCWD, "/odm/bin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/odm/bin", 4095) = 15 newfstatat(AT_FDCWD, "/vendor/odm/bin", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/vendor/bin", R_OK) = 0 openat(AT_FDCWD, "/vendor/bin", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/bin", 4095) = 11 newfstatat(AT_FDCWD, "/vendor/bin", {st_mode=S_IFDIR|0751, st_size=4096, ...}, 0) = 0 close(3) = 0 faccessat(AT_FDCWD, "/data/nativetest/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest64/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest64/odm", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest64/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/benchmarktest64/vendor", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest/unrestricted", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/nativetest64/unrestricted", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/data/local/tmp", R_OK) = 0 openat(AT_FDCWD, "/data/local/tmp", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0771, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/data/local/tmp", 4095) = 15 newfstatat(AT_FDCWD, "/data/local/tmp", {st_mode=S_IFDIR|0771, st_size=4096, ...}, 0) = 0 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff3000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff3000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff4000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff4000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff5000, 8192, "bionic_alloc_lob") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff7000, 8192, "bionic_alloc_lob") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff9000, 8192, "bionic_alloc_lob") = 0 munmap(0x2c38ff5000, 8192) = 0 munmap(0x2c38ff7000, 8192) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff5000, 8192, "bionic_alloc_lob") = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff7000, 8192, "bionic_alloc_lob") = 0 munmap(0x2c38ff5000, 8192) = 0 munmap(0x2c38ff9000, 8192) = 0 munmap(0x2c38ff7000, 8192) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff5000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff6000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff6000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff7000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff8000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff8000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ff9000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ffa000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ffa000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ffb000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38ffb000, 4096, "bionic_alloc_lob") = 0 munmap(0x2c38fe2000, 69632) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe2000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe2000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe3000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe3000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:vndk_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c38ffc000 close(3) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mprotect(0x2c38e99000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38e99000, 4096, PROT_READ) = 0 futex(0x2c37e811c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/odm/lib64/vndk-sp", O_RDONLY|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/odm/lib64/vndk-sp", 0x7ff16b3490, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/vendor/lib64/vndk-sp", O_RDONLY|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/vendor/lib64/vndk-sp", 0x7ff16b3490, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/apex/com.android.vndk.v30/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.vndk.v30/lib64", 4095) = 32 newfstatat(AT_FDCWD, "/apex/com.android.vndk.v30/lib64", {st_mode=S_IFDIR|0755, st_size=12288, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.vndk.v30/lib64", {st_mode=S_IFDIR|0755, st_size=12288, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.neuralnetworks/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.neuralnetworks"..., 4095) = 38 newfstatat(AT_FDCWD, "/apex/com.android.neuralnetworks/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.neuralnetworks/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe4000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe4000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/odm/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/odm/lib64", 4095) = 17 newfstatat(AT_FDCWD, "/vendor/odm/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/vendor/odm/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/vendor/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/lib64", 4095) = 13 newfstatat(AT_FDCWD, "/vendor/lib64", {st_mode=S_IFDIR|0755, st_size=8192, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/vendor/lib64", {st_mode=S_IFDIR|0755, st_size=8192, ...}, 0) = 0 openat(AT_FDCWD, "/vendor/lib64/hw", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/vendor/lib64/hw", 4095) = 16 newfstatat(AT_FDCWD, "/vendor/lib64/hw", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/vendor/lib64/hw", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.runtime/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.runtime/lib64", 4095) = 31 newfstatat(AT_FDCWD, "/apex/com.android.runtime/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.runtime/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.art/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.art/lib64", 4095) = 27 newfstatat(AT_FDCWD, "/apex/com.android.art/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.art/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.resolv/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.resolv/lib64", 4095) = 30 newfstatat(AT_FDCWD, "/apex/com.android.resolv/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.resolv/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.conscrypt/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.conscrypt/lib6"..., 4095) = 33 newfstatat(AT_FDCWD, "/apex/com.android.conscrypt/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.conscrypt/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.media/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.media/lib64", 4095) = 29 newfstatat(AT_FDCWD, "/apex/com.android.media/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.media/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe5000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe5000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/apex/com.android.os.statsd/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.os.statsd/lib6"..., 4095) = 33 newfstatat(AT_FDCWD, "/apex/com.android.os.statsd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.os.statsd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/apex/com.android.adbd/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.adbd/lib64", 4095) = 28 newfstatat(AT_FDCWD, "/apex/com.android.adbd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/apex/com.android.adbd/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe6000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe6000, 4096, "bionic_alloc_small_objects") = 0 openat(AT_FDCWD, "/system/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=24576, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib64", 4095) = 13 newfstatat(AT_FDCWD, "/system/lib64", {st_mode=S_IFDIR|0755, st_size=24576, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/system/lib64", {st_mode=S_IFDIR|0755, st_size=24576, ...}, 0) = 0 openat(AT_FDCWD, "/system/system_ext/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/system/system_ext/lib64", 0x7ff16b3490, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/system/product/lib64", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/product/lib64", 4095) = 21 newfstatat(AT_FDCWD, "/system/product/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/system/product/lib64", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 munmap(0x2c38ff7000, 4096) = 0 munmap(0x2c38ff5000, 4096) = 0 munmap(0x2c38ffb000, 4096) = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c3901c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c3901c000, 409600, "linker_alloc") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe7000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe7000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe8000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe8000, 4096, "bionic_alloc_small_objects") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fea000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fea000, 4096, "bionic_alloc_small_objects") = 0 munmap(0x2c38fe9000, 4096) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38feb000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38feb000, 4096, "bionic_alloc_small_objects") = 0 munmap(0x2c38fe9000, 4096) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fec000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fec000, 4096, "bionic_alloc_small_objects") = 0 munmap(0x2c38fe9000, 4096) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "bionic_alloc_lob") = 0 munmap(0x2c38fe9000, 4096) = 0 openat(AT_FDCWD, "/data/local/tmp", O_RDONLY|O_CLOEXEC|O_PATH) = 3 fstat(3, {st_mode=S_IFDIR|0771, st_size=4096, ...}) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/data/local/tmp", 4095) = 15 newfstatat(AT_FDCWD, "/data/local/tmp", {st_mode=S_IFDIR|0771, st_size=4096, ...}, 0) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/data/local/tmp", {st_mode=S_IFDIR|0771, st_size=4096, ...}, 0) = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39080000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39080000, 409600, "linker_alloc") = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c390e4000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c390e4000, 409600, "linker_alloc") = 0 openat(AT_FDCWD, "/data/local/tmp/libdl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/system/lib64/libdl.so", O_RDONLY|O_CLOEXEC) = 3 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/apex/com.android.runtime/lib64/"..., 4096) = 47 fstat(3, {st_mode=S_IFREG|0644, st_size=14176, ...}) = 0 fstatfs(3, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_RELATIME}) = 0 pread64(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\20\0\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c38fe9000 mmap(NULL, 2688, PROT_READ, MAP_PRIVATE, 3, 0x3000) = 0x2c38fed000 mmap(NULL, 272, PROT_READ, MAP_PRIVATE, 3, 0x2000) = 0x2c38fee000 mmap(NULL, 3706, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c38fef000 openat(AT_FDCWD, "/data/local/tmp/libc.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/system/lib64/libc.so", O_RDONLY|O_CLOEXEC) = 4 readlinkat(AT_FDCWD, "/proc/self/fd/4", "/apex/com.android.runtime/lib64/"..., 4096) = 46 fstat(4, {st_mode=S_IFREG|0644, st_size=978160, ...}) = 0 fstatfs(4, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_RELATIME}) = 0 pread64(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\260\3\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 744, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2c38ff0000 mmap(NULL, 4704, PROT_READ, MAP_PRIVATE, 4, 0xee000) = 0x2c38ff1000 mmap(NULL, 4032, PROT_READ, MAP_PRIVATE, 4, 0xb8000) = 0x2c38ff5000 mmap(NULL, 18241, PROT_READ, MAP_PRIVATE, 4, 0xc000) = 0x2c39148000 mmap(NULL, 1306624, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c3914d000 munmap(0x2c3914d000, 237568) = 0 munmap(0x2c39265000, 159744) = 0 mmap(0x2c39187000, 238260, PROT_READ, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x2c39187000 mmap(0x2c391c2000, 501968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0x3b000) = 0x2c391c2000 mmap(0x2c3923d000, 15040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xb6000) = 0x2c3923d000 mmap(0x2c39241000, 8424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xb9000) = 0x2c39241000 mmap(0x2c39244000, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c39244000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39244000, 135168, ".bss") = 0 mmap(NULL, 520192, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39265000 munmap(0x2c39265000, 163840) = 0 munmap(0x2c39292000, 335872) = 0 mmap(0x2c3928d000, 2972, PROT_READ, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2c3928d000 mmap(0x2c3928e000, 672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x2c3928e000 mmap(0x2c3928f000, 384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x2c3928f000 mmap(0x2c39291000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c39291000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39291000, 4096, ".bss") = 0 rt_sigprocmask(SIG_BLOCK, ~[], [RTMIN], 8) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 mmap(NULL, 409600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39292000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39292000, 409600, "linker_alloc") = 0 mprotect(0x5f94ae2000, 12288, PROT_READ) = 0 mprotect(0x2c3928f000, 4096, PROT_READ) = 0 mprotect(0x2c3923d000, 16384, PROT_READ) = 0 close(3) = 0 close(4) = 0 munmap(0x2c39148000, 18241) = 0 munmap(0x2c38ff5000, 4032) = 0 munmap(0x2c38ff1000, 4704) = 0 munmap(0x2c38ff0000, 744) = 0 munmap(0x2c38fef000, 3706) = 0 munmap(0x2c38fee000, 272) = 0 munmap(0x2c38fed000, 2688) = 0 munmap(0x2c38fe9000, 688) = 0 mmap(NULL, 20480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2c38fed000 mprotect(0x2c38fee000, 12288, PROT_READ|PROT_WRITE) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [RTMIN], 8) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fee000, 12288, "stack_and_tls:main") = 0 munmap(0x2c37e8c000, 12288) = 0 mprotect(0x2c39247000, 4096, PROT_READ) = 0 mprotect(0x2c39247000, 4096, PROT_READ|PROT_WRITE) = 0 faccessat(AT_FDCWD, "/dev/urandom", R_OK) = 0 getrandom("\x69\x83\x9e\xc2\x0e\xd6\x2a\x9f\xa3\x71\xeb\x74\x84\x23\xe5\xc5\x88\xa7\x3e\x38\xc0\xe4\x40\x1a\x6c\xac\x2c\x43\x46\x74\xca\xde"..., 40, GRND_NONBLOCK) = 40 mmap(NULL, 1104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e8c000, 1104, "arc4random data") = 0 mprotect(0x2c39247000, 4096, PROT_READ) = 0 newfstatat(AT_FDCWD, "/dev/__properties__", {st_mode=S_IFDIR|0711, st_size=3780, ...}, 0) = 0 faccessat(AT_FDCWD, "/dev/__properties__/property_info", R_OK) = 0 openat(AT_FDCWD, "/dev/__properties__/property_info", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=58100, ...}) = 0 mmap(NULL, 58100, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39148000 close(3) = 0 mmap(NULL, 7400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c37e8d000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c37e8d000, 7400, "System property context nodes") = 0 openat(AT_FDCWD, "/dev/__properties__/properties_serial", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39157000 close(3) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:debug_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39265000 close(3) = 0 rt_sigaction(SIGRT_7, {sa_handler=0x2c391d9eb0, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 prctl(0x37 /* PR_??? */, 0x1, 0, 0, 0) = -1 EINVAL (Invalid argument) mprotect(0x2c39247000, 4096, PROT_READ|PROT_WRITE) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:exported2_default_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c392f6000 close(3) = 0 openat(AT_FDCWD, "/dev/__properties__/u:object_r:heapprofd_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c39316000 close(3) = 0 mprotect(0x2c39247000, 4096, PROT_READ) = 0 rt_sigaction(SIGRT_4, {sa_handler=0x2c391c3e38, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_6, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, 8) = 0 getrandom("\xbd\x38\x15\xfd", 4, GRND_NONBLOCK) = 4 mmap(NULL, 8858370048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2c39336000 getrandom("\x86\xbb\x67\x26", 4, GRND_NONBLOCK) = 4 sched_getaffinity(0, 128, [0, 1, 2, 3]) = 8 mmap(0x2c69343000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c69343000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c69343000, 262144, "scudo:primary") = 0 mmap(0x2c39344000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c39344000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c39344000, 262144, "scudo:primary") = 0 futex(0x2c39244064, FUTEX_WAKE_PRIVATE, 2147483647) = 0 getuid() = 2000 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) openat(AT_FDCWD, "/system/lib64/libnetd_client.so", O_RDONLY|O_CLOEXEC) = 3 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib64/libnetd_client.so", 4096) = 31 fstat(3, {st_mode=S_IFREG|0644, st_size=33432, ...}) = 0 fstatfs(3, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_NODEV|ST_RELATIME}) = 0 pread64(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0000\0\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c38fe9000 mmap(NULL, 7920, PROT_READ, MAP_PRIVATE, 3, 0x7000) = 0x2c39177000 mmap(NULL, 560, PROT_READ, MAP_PRIVATE, 3, 0x7000) = 0x2c38ff2000 mmap(NULL, 7541, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2c39179000 openat(AT_FDCWD, "/system/lib64/libc++.so", O_RDONLY|O_CLOEXEC) = 4 readlinkat(AT_FDCWD, "/proc/self/fd/4", "/system/lib64/libc++.so", 4096) = 23 fstat(4, {st_mode=S_IFREG|0644, st_size=710816, ...}) = 0 fstatfs(4, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_NODEV|ST_RELATIME}) = 0 pread64(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\260\4\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2c38ff5000 mmap(NULL, 2688, PROT_READ, MAP_PRIVATE, 4, 0xad000) = 0x2c38ff7000 mmap(NULL, 8080, PROT_READ, MAP_PRIVATE, 4, 0xa8000) = 0x2c3917b000 mmap(NULL, 104313, PROT_READ, MAP_PRIVATE, 4, 0x12000) = 0x2e49336000 openat(AT_FDCWD, "/system/lib64/libm.so", O_RDONLY|O_CLOEXEC) = 5 readlinkat(AT_FDCWD, "/proc/self/fd/5", "/apex/com.android.runtime/lib64/"..., 4096) = 46 fstat(5, {st_mode=S_IFREG|0644, st_size=222512, ...}) = 0 fstatfs(5, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=516052, f_bfree=41864, f_bavail=37768, f_files=131072, f_ffree=127160, f_fsid={val=[2209516365, 3809902289]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RDONLY|ST_RELATIME}) = 0 pread64(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\20\1\0\0\0\0\0"..., 64, 0) = 64 mmap(NULL, 688, PROT_READ, MAP_PRIVATE, 5, 0) = 0x2c38ffb000 mmap(NULL, 9184, PROT_READ, MAP_PRIVATE, 5, 0x35000) = 0x2c3917d000 mmap(NULL, 480, PROT_READ, MAP_PRIVATE, 5, 0x35000) = 0x2c39180000 mmap(NULL, 6360, PROT_READ, MAP_PRIVATE, 5, 0x2000) = 0x2c39181000 mmap(NULL, 1044480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e49350000 munmap(0x2e49350000, 221184) = 0 munmap(0x2e49435000, 106496) = 0 mmap(0x2e49386000, 304596, PROT_READ, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x2e49386000 mmap(0x2e493d1000, 363808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0x4b000) = 0x2e493d1000 mmap(0x2e4942a000, 25232, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xa4000) = 0x2e4942a000 mmap(0x2e49431000, 697, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xaa000) = 0x2e49431000 mmap(0x2e49432000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2e49432000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e49432000, 12288, ".bss") = 0 mmap(NULL, 520192, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e49435000 munmap(0x2e49435000, 57344) = 0 munmap(0x2e4947a000, 237568) = 0 mmap(0x2e49443000, 69508, PROT_READ, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x2e49443000 mmap(0x2e49454000, 145968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0x11000) = 0x2e49454000 mmap(0x2e49478000, 712, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x35000) = 0x2e49478000 mmap(0x2e49479000, 832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x35000) = 0x2e49479000 mmap(NULL, 520192, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e4947a000 munmap(0x2e4947a000, 139264) = 0 munmap(0x2e494a5000, 344064) = 0 mmap(0x2e4949c000, 9276, PROT_READ, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2e4949c000 mmap(0x2e4949f000, 15920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x3000) = 0x2e4949f000 mmap(0x2e494a3000, 944, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7000) = 0x2e494a3000 mmap(0x2e494a4000, 945, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7000) = 0x2e494a4000 mprotect(0x2e494a3000, 4096, PROT_READ) = 0 mmap(NULL, 2147483648, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2e494a5000 mprotect(0x2c39291000, 4096, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e497a1000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e497a1000) = 0x2e497a1000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49606000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49606000) = 0x2e49606000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49606000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49606000) = 0x2e49606000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49606000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49606000) = 0x2e49606000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e494a5000, 2147483648, "cfi shadow") = 0 mprotect(0x2e4942a000, 28672, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e494a5000, 2147483648, "cfi shadow") = 0 mprotect(0x2e49478000, 4096, PROT_READ) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c39183000 mprotect(0x2e49617000, 4096, PROT_READ) = 0 mprotect(0x2c39183000, 4096, PROT_READ) = 0 mremap(0x2c39183000, 4096, 4096, MREMAP_MAYMOVE|MREMAP_FIXED, 0x2e49617000) = 0x2e49617000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2e494a5000, 2147483648, "cfi shadow") = 0 close(3) = 0 close(4) = 0 close(5) = 0 munmap(0x2c39181000, 6360) = 0 munmap(0x2c39180000, 480) = 0 munmap(0x2c3917d000, 9184) = 0 munmap(0x2c38ffb000, 688) = 0 munmap(0x2e49336000, 104313) = 0 munmap(0x2c3917b000, 8080) = 0 munmap(0x2c38ff7000, 2688) = 0 munmap(0x2c38ff5000, 688) = 0 munmap(0x2c39179000, 7541) = 0 munmap(0x2c38ff2000, 560) = 0 munmap(0x2c39177000, 7920) = 0 munmap(0x2c38fe9000, 688) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(0x2c49346000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c49346000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c49346000, 262144, "scudo:primary") = 0 futex(0x2e494312f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e49434340, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e494312f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x2e494312f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38fe9000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c38fe9000, 4096, "atexit handlers") = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 munmap(0x2c390e4000, 409600) = 0 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) openat(AT_FDCWD, "/dev/__properties__/u:object_r:vendor_socket_hook_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0 mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x2c390e4000 close(3) = 0 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER) futex(0x2c3924404c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mprotect(0x2c38f7c000, 409600, PROT_READ) = 0 mprotect(0x2c38e9c000, 409600, PROT_READ) = 0 mprotect(0x2c3901c000, 409600, PROT_READ) = 0 mprotect(0x2c39080000, 409600, PROT_READ) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 rt_sigaction(SIGSEGV, NULL, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGSEGV, {sa_handler=0x5f94a4894c, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGFPE, NULL, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGFPE, {sa_handler=0x5f94a48a50, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, {sa_handler=0x2c37ddfc00, sa_mask=~[KILL STOP], sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO}, 8) = 0 rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = 3 mmap(0x2d9933e000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2d9933e000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2d9933e000, 262144, "scudo:primary") = 0 getdents64(3, /* 18 entries */, 4200) = 528 getdents64(3, /* 0 entries */, 4200) = 0 close(3) = 0 membarrier(MEMBARRIER_CMD_QUERY, 0) = 0x1 (MEMBARRIER_CMD_GLOBAL) mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2c38ff2000 mlock(0x2c38ff2000, 4096) = 0 statfs("/sys/fs/cgroup", {f_type=CGROUP2_SUPER_MAGIC, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NODEV|ST_NOEXEC|ST_RELATIME}) = 0 openat(AT_FDCWD, "/proc/self/mountinfo", O_RDONLY) = 3 mmap(0x2d79338000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2d79338000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2d79338000, 262144, "scudo:primary") = 0 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap(0x2d3933f000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2d3933f000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2d3933f000, 262144, "scudo:primary") = 0 read(3, "18 0 179:19 / / ro,nodev,relatim"..., 1024) = 1024 mmap(0x2ca9344000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ca9344000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2ca9344000, 262144, "scudo:primary") = 0 mmap(0x2cb9340000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2cb9340000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2cb9340000, 262144, "scudo:primary") = 0 mmap(0x2ce9337000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ce9337000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2ce9337000, 262144, "scudo:primary") = 0 read(3, "tmpfs tmpfs rw,seclabel,mode=755"..., 1024) = 1024 read(3, "v /apex/com.android.resolv ro,re"..., 1024) = 1024 read(3, " /apex/com.android.runtime ro,re"..., 1024) = 1024 read(3, "roid.tethering.inprocess /apex/c"..., 1024) = 1024 read(3, "ec,relatime shared:17 - cgroup n"..., 1024) = 1024 read(3, "ev,noatime shared:27 - ext4 /dev"..., 1024) = 1024 read(3, "ev/block/platform/sdhci-tegra.3/"..., 1024) = 1024 read(3, "w,nosuid,nodev,noexec,noatime sh"..., 1024) = 1024 read(3, "suid=1023,fsgid=1023,gid=9997,mu"..., 1024) = 1024 read(3, "c,noatime shared:32 - sdcardfs /"..., 1024) = 761 read(3, "", 1024) = 0 close(3) = 0 openat(AT_FDCWD, "/proc/self/cgroup", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "6:schedtune:/\n5:memory:/\n4:cpuse"..., 1024) = 86 close(3) = 0 sched_getaffinity(23894, 128, [0, 1, 2, 3]) = 8 statfs("/sys/fs/cgroup", {f_type=CGROUP2_SUPER_MAGIC, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NODEV|ST_NOEXEC|ST_RELATIME}) = 0 openat(AT_FDCWD, "/proc/self/mountinfo", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "18 0 179:19 / / ro,nodev,relatim"..., 1024) = 1024 read(3, "tmpfs tmpfs rw,seclabel,mode=755"..., 1024) = 1024 read(3, "v /apex/com.android.resolv ro,re"..., 1024) = 1024 read(3, " /apex/com.android.runtime ro,re"..., 1024) = 1024 read(3, "roid.tethering.inprocess /apex/c"..., 1024) = 1024 read(3, "ec,relatime shared:17 - cgroup n"..., 1024) = 1024 read(3, "ev,noatime shared:27 - ext4 /dev"..., 1024) = 1024 read(3, "ev/block/platform/sdhci-tegra.3/"..., 1024) = 1024 read(3, "w,nosuid,nodev,noexec,noatime sh"..., 1024) = 1024 read(3, "suid=1023,fsgid=1023,gid=9997,mu"..., 1024) = 1024 read(3, "c,noatime shared:32 - sdcardfs /"..., 1024) = 761 read(3, "", 1024) = 0 close(3) = 0 openat(AT_FDCWD, "/proc/self/cgroup", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "6:schedtune:/\n5:memory:/\n4:cpuse"..., 1024) = 86 close(3) = 0 sched_getaffinity(23894, 128, [0, 1, 2, 3]) = 8 openat(AT_FDCWD, "/dev/stune//cpu.max", O_RDONLY) = -1 ENOENT (No such file or directory) mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 mmap(0x2c99340000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c99340000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c99340000, 262144, "scudo:primary") = 0 mmap(0x2c8933c000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c8933c000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c8933c000, 262144, "scudo:primary") = 0 mmap(0x2c7933b000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2c7933b000 prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x2c7933b000, 262144, "scudo:primary") = 0 rt_sigaction(SIGRT_8, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGRT_8, {sa_handler=0x5f94a44fb8, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 futex(0x5f94af4b10, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/dev/stune//memory.max", O_RDONLY) = -1 ENOENT (No such file or directory) sysinfo({uptime=71185, loads=[13344, 17408, 15936], totalram=3093553152, freeram=122851328, sharedram=18128896, bufferram=19349504, totalswap=536866816, freeswap=344616960, procs=1612, totalhigh=0, freehigh=0, mem_unit=1}) = 0 mmap(NULL, 274877911040, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Out of memory) mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x2c38fe9000, 4096, PROT_READ) = 0 exit_group(-1) = ? +++ exited with 255 +++ ```
It looks like the failure is caused by `mmap` failing with `ENOMEM`. Setting `DOTNET_GCHeapHardLimit` to lower values solves the issue. I tried to find the root cause of the `mmap` failure but was not able to. Empirically I found that on this hardware, running the elf in an infinite bash loop that checks the exit code, setting `DOTNET_GCHeapHardLimit` to: - 64+GB is guaranteed to fail - above 40GB fails every second run of the binary - 32+GB fails every 20th run or so - Setting it below 32GB doesn't fail I tried to make a minimal C program that does a single `mmap` to reproduce the issue, but interestingly enough, it never fails, even with max long long int value. That leads to the conclusion that the issue is caused not by just a single `mmap`, but by a combination of syscalls.
C program: ```c #include #include #include #include #include int main(int argc, char *argv[]) { size_t size = 0; if (sscanf(argv[1], "%zu", &size) != 1) { printf("invalid arg\n"); return 1; } printf("mapping %zu\n", size); void *ptr = mmap(NULL, size, PROT_NONE , MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (ptr <= 0) { perror("mmap failed\n"); return 1; } else { printf("mmap succeeded\n"); return 0; } } ```
### Reproduction Steps With Android NDK r26b in PATH: ```sh dotnet new console -o HelloWorld --aot cd HelloWorld dotnet publish -r linux-bionic-arm64 -p:DisableUnsupportedError=true -p:PublishAotUsingRuntimePack=true -p:StripSymbols=false adb push ./bin/Release/net8.0/linux-bionic-arm64/publish/HelloWorld.dll /data/local/tmp/ adb shell /data/local/tmp/HelloWorld ``` ### Expected behavior Should output `Hello, World!` ### Actual behavior Exit code 255 and `strace` shows `mmap` failed with `ENOMEM` ### Regression? _No response_ ### Known Workarounds Setting `DOTNET_GCHeapHardLimit` to some small value. Since I'm running the code on an Android device, and the intended use is to run it via JNI from Java code, I can set env before doing a JNI call from Java. ### Configuration - dotnet 8.0.100 - Android TV, Android 11, 4.9.141-tegra-gfad87a91fd8 - Nvidia Shield TV 2015, `NVIDIA/foster_e/foster:11/RQ1A.210105.003/7825230_3167.5736:user/release-keys` - aarch64 - No such issue on other Android devices I have ``` [ro.build.characteristics]: [tv] [ro.build.date]: [Sun Oct 16 20:55:18 PDT 2022] [ro.build.date.utc]: [1665978918] [ro.build.description]: [foster_e-user 11 RQ1A.210105.003 7825230_3167.5736 release-keys] [ro.build.display.id]: [RQ1A.210105.003.7825230_3167.5736] [ro.build.fingerprint]: [NVIDIA/foster_e/foster:11/RQ1A.210105.003/7825230_3167.5736:user/release-keys] [ro.build.flavor]: [foster_e-user] [ro.build.host]: [mobile-u64-5308-d7000] [ro.build.id]: [RQ1A.210105.003] [ro.build.product]: [foster] [ro.build.system_root_image]: [true] [ro.build.tags]: [release-keys] [ro.build.type]: [user] [ro.build.user]: [NVIDIA] [ro.build.version.all_codenames]: [REL] [ro.build.version.base_os]: [] [ro.build.version.codename]: [REL] [ro.build.version.incremental]: [7825230_3167.5736] [ro.build.version.min_supported_target_sdk]: [23] [ro.build.version.ota]: [9.1.1(33.2.0.157)] [ro.build.version.preview_sdk]: [0] [ro.build.version.preview_sdk_fingerprint]: [REL] [ro.build.version.release]: [11] [ro.build.version.release_or_codename]: [11] [ro.build.version.sdk]: [30] [ro.build.version.security_patch]: [2022-04-05] ``` ### Other information Related to #85650
Author: nikarh
Assignees: -
Labels: `area-GC-coreclr`, `untriaged`, `area-Codegen-AOT-mono`, `needs-area-label`
Milestone: -
MichalStrehovsky commented 8 months ago

@dotnet/gc this looks the same as https://github.com/dotnet/runtime/issues/95257#issuecomment-1833251006. If it is, this is the second customer report.

hez2010 commented 8 months ago

It seems to be caused by W^X, try setting the environment variable DOTNET_EnableWriteXorExecute=0 and see if it resolves your issue.

jkotas commented 8 months ago

It seems to be caused by W^X, try setting the environment variable DOTNET_EnableWriteXorExecute=0 and see if it resolves your issue.

This won't help. W^X is not applicable to AOT. DOTNET_EnableWriteXorExecute has no effect for AOT compiled binaries.

nikarh commented 8 months ago

As mentioned above, DOTNET_EnableWriteXorExecute=0 ./HelloWorld did not work. For now, I have only this workaround - DOTNET_GCHeapHardLimit=400000000 ./HelloWorld

agocke commented 8 months ago

+ @mangod9 For investigation. I think it would be good to ensure our device support is as wide as possible now that Native AOT makes it more appropriate to target niche devices.

mangod9 commented 8 months ago

@dotnet/gc this looks the same as #95257 (comment). If it is, this is the second customer report.

Is this a scenario where multiple GCs are being loaded within the process?

MichalStrehovsky commented 8 months ago

No, just one. The mmap fails earlier

mangod9 commented 8 months ago

Adding @janvorli since some fixes were done in this space in 9 around retrieving available virtual memory. Looks like the large reservation is failing.

janvorli commented 8 months ago

@nikarh is it possible that the maximum usable virtual memory size is limited on this device? What does ulimit -v show?

janvorli commented 8 months ago

Ah, I am sorry I've missed that you've tested creating a large mapping using a C test program. Then the virtual memory size is not limited and the problem would be caused by used physical memory amount.

janvorli commented 8 months ago

Actually, the reservation that causes the failure is also just virtual memory, so it is strange that your testing C program and dotnet app behaves differently.

nikarh commented 8 months ago

@nikarh is it possible that the maximum usable virtual memory size is limited on this device? What does ulimit -v show?

Unfortunately not the case:

$ ulimit -v
unlimited
janvorli commented 8 months ago

@nikarh one more idea - can you please share the output of cat /proc/sys/vm/overcommit_memory? If that was 2, it would explain the failure. That setting would indicate that the OS would deny any requesting more virtual memory space than there is the size of swap + certain percentage of total physical memory (cat /proc/sys/vm/overcommit_ratio would dump that percentage). Although if that was the culprit, I would expect the allocation to fail even when you've set the DOTNET_GCHeapHardLimit slightly below the 32GB, unless you have a really large swap.

nikarh commented 8 months ago

@nikarh one more idea - can you please share the output of cat /proc/sys/vm/overcommit_memory? If that was 2, it would explain the failure. That setting would indicate that the OS would deny any requesting more virtual memory space than there is the size of swap + certain percentage of total physical memory (cat /proc/sys/vm/overcommit_ratio would dump that percentage). Although if that was the culprit, I would expect the allocation to fail even when you've set the DOTNET_GCHeapHardLimit slightly below the 32GB, unless you have a really large swap.

Unfortunately, the device is not rooted, and the shell user lacks read permissions to /proc/sys/vm on this device.

mangod9 commented 2 months ago

Hey @nikarh, are you still hitting this issue for your scenario?

MichalStrehovsky commented 2 months ago

Hey @nikarh, are you still hitting this issue for your scenario?

We have several user reports related to the GC reserving huge amounts of memory on various devices with likely customized linux kernels. https://github.com/dotnet/runtime/issues/95257#issuecomment-1833251006 was the other one. Both are mmap failures. It would be nice if the GC could scale the reservation down to a more reasonable amount given the device - e.g. the other issue I linked seems to imply that if one attempts to reserve 256 GB twice, the second reservation is going to fail - i.e. the GC is doing something within the process that does not coexist very well with someone else also wanting to allocate memory (it's not clear to me how big is the total limit, but there apparently is a limit and the GC is pushing the process close to it).