Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

“Unknown system error -75” nodejs fs.stat large files #19455

Closed
filly82 opened this issue Mar 19, 2018 · 23 comments
Closed

“Unknown system error -75” nodejs fs.stat large files #19455

filly82 opened this issue Mar 19, 2018 · 23 comments
Labels
arm Issues and PRs related to the ARM platform. fs Issues and PRs related to the fs subsystem / file system.

Comments

@filly82
Copy link

filly82 commented Mar 19, 2018

I don't know what happened on my system (raspberry pi, armhf, latest nodejs version) but since a few days I cannot fs.stat a file that is larger than 2gb

I am always getting the following error

`
fs.js:972
binding.stat(pathModule.toNamespacedPath(path));
^

Error: Unknown system error -75: Unknown system error -75, stat 'myfile'
    at Object.fs.statSync (fs.js:972:11)
    at Object. (/home/pi/nodeapps/fapp_node_pwa/test.js:2:22)
    at Module._compile (module.js:649:30)
    at Object.Module._extensions..js (module.js:660:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:501:12)
    at Function.Module._load (module.js:493:3)
    at Function.Module.runMain (module.js:690:10)
    at startup (bootstrap_node.js:194:16)
    at bootstrap_node.js:666:3

`

I know for sure that it worked a few days ago. it's like I'm suddenly on a 32bit system (or node or whatever).

I thought it was the current nodejs version 9.8.0, but i've tested it with 9.7.1 and 9.7.0 and it's the same.

Does anyone have any idea what is wrong? :(

@vsemozhetbyt vsemozhetbyt added fs Issues and PRs related to the fs subsystem / file system. arm Issues and PRs related to the ARM platform. labels Mar 19, 2018
@addaleax
Copy link
Member

From stat(2):

EOVERFLOW
pathname or fd refers to a file whose size, inode number, or number of blocks cannot be represented in, respectively, the types off_t, ino_t, or blkcnt_t. This error can occur when,
for example, an application compiled on a 32-bit platform without -D_FILE_OFFSET_BITS=64 calls stat() on a file whose size exceeds (1<<31)-1 bytes.

(not sure about arm, but on x64 Linux EOVERFLOW is 75, so that checks out).

So, yes, this is the most likely cause… it might be a good idea to check whether your node executable is built for 64 bit support? file $(which node) would be a good starting point

@filly82
Copy link
Author

filly82 commented Mar 19, 2018

that is the output

file $(which node)
/usr/bin/node: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.26, BuildID[sha1]=46883207b843e59d049607d8bdfefb8de2bcf7a9, stripped

i still not get it. it worked fine until it didn't. the only things i am doing on this pi is updating it from time to time (the usual apt-get update/upgrade/dist-upgrade)

@addaleax
Copy link
Member

@filly82 Did you (intend to) install Node via your package manager or another way? (I think dpkg -S /usr/bin/node would tell you that in the case of apt-get).

In any case, the BuildID from that output matches the one for the official node-v9.8.0-linux-armv7l download from https://nodejs.org/, so somehow that binary made its way from there onto your machine.

@filly82
Copy link
Author

filly82 commented Mar 19, 2018

i do not really care how to install node. i chose the easiest way back then with the script from deb.nodesource.com

i've also tried the binaries from https://nodejs.org a few minutes ago, the same problem

the only binaries i can execute on my raspberry pi are the armv7 ones. what do you mean with your last sentence that that binaries made their way onto my machine? i think that binaries were always on my machine since they are the only ones which work. and i know for sure that i had not have the problem with large files until a few days ago

@addaleax
Copy link
Member

the only binaries i can execute on my raspberry pi are the armv7 ones

Those are 32-bit binaries, though. If you have an armv7 machine, you won’t be able to run 64-bit Node binaries, as I understand it. So I’m really not sure how this could have worked in the first place then…

I suppose we could build Node with -D_FILE_OFFSET_BITS=64 to make sure that we support this, though? /cc @bnoordhuis

@filly82
Copy link
Author

filly82 commented Mar 19, 2018

what i can say for sure is that my node app has been running for a few months and that i always had files bigger than 2gb. i am 100% sure that those files were correctly "stat"-ed until a few days ago. they must have, because I've worked with the results every day for the past few months

i'll try to install an arm64 OS (unfortunately there are no stable distributions for the raspberry pi with 64bit support, i did not really knew that until that problem popped out). that would fix my problem, i think. but i am still wondering how it could work with the current constellation for a few months

@bnoordhuis
Copy link
Member

bnoordhuis commented Mar 20, 2018

I suppose we could build Node with -D_FILE_OFFSET_BITS=64 to make sure that we support this

It is - at least, libuv is, and that's what makes the system call.

@filly82 Can you post the output of strace node -p 'fs.statSync("myfile")'?

@filly82
Copy link
Author

filly82 commented Mar 20, 2018

the output is massive

execve("/usr/bin/node", ["node", "-p", "test.js"], [/* 19 vars */]) = 0
brk(NULL)                               = 0x348b000
uname({sysname="Linux", nodename="pi", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f35000
access("/etc/ld.so.preload", R_OK)      = 0
open("/etc/ld.so.preload", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=42, ...}) = 0
mmap2(NULL, 42, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x76f34000
close(3)                                = 0
open("/usr/lib/arm-linux-gnueabihf/libarmmem.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\210\5\0\0004\0\0\0"..., 512) = 512
lseek(3, 20868, SEEK_SET)               = 20868
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000) = 1000
lseek(3, 20540, SEEK_SET)               = 20540
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\3\f\1\22\4\24"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=21868, ...}) = 0
mmap2(NULL, 86080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76ef2000
mprotect(0x76ef7000, 61440, PROT_NONE)  = 0
mmap2(0x76f06000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x76f06000
close(3)                                = 0
munmap(0x76f34000, 42)                  = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=30316, ...}) = 0
mmap2(NULL, 30316, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f2d000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0P\t\0\0004\0\0\0"..., 512) = 512
lseek(3, 8680, SEEK_SET)                = 8680
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(3, 8328, SEEK_SET)                = 8328
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=9800, ...}) = 0
mmap2(NULL, 73912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76edf000
mprotect(0x76ee1000, 61440, PROT_NONE)  = 0
mmap2(0x76ef0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x76ef0000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0 \27\0\0004\0\0\0"..., 512) = 512
lseek(3, 25352, SEEK_SET)               = 25352
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1280) = 1280
lseek(3, 24940, SEEK_SET)               = 24940
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=26632, ...}) = 0
mmap2(NULL, 90640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76ec8000
mprotect(0x76ece000, 61440, PROT_NONE)  = 0
mmap2(0x76edd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x76edd000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/arm-linux-gnueabihf/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000\332\6\0004\0\0\0"..., 512) = 512
lseek(3, 1268340, SEEK_SET)             = 1268340
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1280) = 1280
lseek(3, 1267740, SEEK_SET)             = 1267740
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=1269620, ...}) = 0
mmap2(NULL, 1341504, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76d80000
mprotect(0x76eaf000, 65536, PROT_NONE)  = 0
mmap2(0x76ebf000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12f000) = 0x76ebf000
mmap2(0x76ec6000, 6208, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76ec6000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0`=\0\0004\0\0\0"..., 512) = 512
lseek(3, 451032, SEEK_SET)              = 451032
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(3, 450676, SEEK_SET)              = 450676
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 49) = 49
fstat64(3, {st_mode=S_IFREG|0644, st_size=452152, ...}) = 0
mmap2(NULL, 516220, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76d01000
mprotect(0x76d6e000, 65536, PROT_NONE)  = 0
mmap2(0x76d7e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6d000) = 0x76d7e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\200\321\0\0004\0\0\0"..., 512) = 512
lseek(3, 115292, SEEK_SET)              = 115292
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
lseek(3, 114944, SEEK_SET)              = 114944
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=116372, ...}) = 0
mmap2(NULL, 180536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76cd4000
mprotect(0x76cf0000, 61440, PROT_NONE)  = 0
mmap2(0x76cff000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x76cff000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0dI\0\0004\0\0\0"..., 512) = 512
lseek(3, 125740, SEEK_SET)              = 125740
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1560) = 1560
lseek(3, 90536, SEEK_SET)               = 90536
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=127300, ...}) = 0
mmap2(NULL, 164432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76cab000
mprotect(0x76cc1000, 61440, PROT_NONE)  = 0
mmap2(0x76cd0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x76cd0000
mmap2(0x76cd2000, 4688, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76cd2000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f2b000
open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@h\1\0004\0\0\0"..., 512) = 512
lseek(3, 1231820, SEEK_SET)             = 1231820
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2880) = 2880
lseek(3, 1228284, SEEK_SET)             = 1228284
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=1234700, ...}) = 0
mmap2(NULL, 1303872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76b6c000
mprotect(0x76c95000, 65536, PROT_NONE)  = 0
mmap2(0x76ca5000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x129000) = 0x76ca5000
mmap2(0x76ca8000, 9536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76ca8000
close(3)                                = 0
set_tls(0x76f2c440, 0x76f2cb38, 0x76f39050, 0x76f2c440, 0x76f39050) = 0
mprotect(0x76ca5000, 8192, PROT_READ)   = 0
mprotect(0x76cd0000, 4096, PROT_READ)   = 0
mprotect(0x76cff000, 4096, PROT_READ)   = 0
mprotect(0x76d7e000, 4096, PROT_READ)   = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f29000
mprotect(0x76ebf000, 20480, PROT_READ)  = 0
mprotect(0x76edd000, 4096, PROT_READ)   = 0
mprotect(0x76ef0000, 4096, PROT_READ)   = 0
mprotect(0x76ef2000, 20480, PROT_READ|PROT_WRITE) = 0
mprotect(0x76ef2000, 20480, PROT_READ|PROT_EXEC) = 0
cacheflush(0x76ef2000, 0x76ef7000, 0, 0x15, 0) = 0
mprotect(0x76f06000, 4096, PROT_READ)   = 0
mprotect(0x76f38000, 4096, PROT_READ)   = 0
munmap(0x76f2d000, 30316)               = 0
set_tid_address(0x76f2bfe8)             = 12785
set_robust_list(0x76f2bff0, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x76caf2b0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x76b986c0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x76caf390, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x76b986c0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
brk(NULL)                               = 0x348b000
brk(0x34b0000)                          = 0x34b0000
rt_sigprocmask(SIG_SETMASK, [USR1], NULL, 8) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat64(1, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGILL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGTRAP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGABRT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGBUS, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGFPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGSEGV, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGALRM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGSTKFLT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGCONT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGURG, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGXFSZ, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGVTALRM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGPROF, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGWINCH, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGIO, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGPWR, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGSYS, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x4c114c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_RESETHAND, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x4c114c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_RESETHAND, sa_restorer=0x76b986b0}, NULL, 8) = 0
ugetrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024*1024}) = 0
setrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
clock_getres(CLOCK_MONOTONIC_COARSE, {tv_sec=0, tv_nsec=10000000}) = 0
epoll_create1(EPOLL_CLOEXEC)            = 3
pipe2([4, 5], O_CLOEXEC)                = 0
write(5, "*", 1)                        = 1
futex(0x17fd65c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
pipe2([6, 7], O_NONBLOCK|O_CLOEXEC)     = 0
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK)   = 8
ioctl(0, FIOCLEX)                       = 0
ioctl(1, FIOCLEX)                       = 0
ioctl(2, FIOCLEX)                       = 0
ioctl(3, FIOCLEX)                       = 0
ioctl(4, FIOCLEX)                       = 0
ioctl(5, FIOCLEX)                       = 0
ioctl(6, FIOCLEX)                       = 0
ioctl(7, FIOCLEX)                       = 0
ioctl(8, FIOCLEX)                       = 0
ioctl(9, FIOCLEX)                       = -1 EBADF (Bad file descriptor)
ioctl(10, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(11, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(12, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(13, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(14, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(15, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(16, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
futex(0x76ec6290, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x76ec6294, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7636c000
mprotect(0x7636c000, 4096, PROT_NONE)   = 0
clone(child_stack=0x76b6af88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x76b6b4b8, tls=0x76b6b910, child_tidptr=0x76b6b4b8) = 12786
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x75b6c000
mprotect(0x75b6c000, 4096, PROT_NONE)   = 0
clone(child_stack=0x7636af88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7636b4b8, tls=0x7636b910, child_tidptr=0x7636b4b8) = 12787
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7536c000
mprotect(0x7536c000, 4096, PROT_NONE)   = 0
clone(child_stack=0x75b6af88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x75b6b4b8, tls=0x75b6b910, child_tidptr=0x75b6b4b8) = 12788
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x74b6c000
mprotect(0x74b6c000, 4096, PROT_NONE)   = 0
clone(child_stack=0x7536af88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7536b4b8, tls=0x7536b910, child_tidptr=0x7536b4b8) = 12789
open("/proc/cpuinfo", O_RDONLY)         = 9
fstat64(9, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(9, "processor\t: 0\nmodel name\t: ARMv7"..., 1024) = 1024
read(9, "ariant\t: 0x0\nCPU part\t: 0xd03\nCP"..., 1024) = 112
read(9, "", 1024)                       = 0
read(9, "", 1024)                       = 0
close(9)                                = 0
open("/proc/cpuinfo", O_RDONLY)         = 9
fstat64(9, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(9, "processor\t: 0\nmodel name\t: ARMv7"..., 1024) = 1024
read(9, "ariant\t: 0x0\nCPU part\t: 0xd03\nCP"..., 1024) = 112
close(9)                                = 0
open("/proc/self/auxv", O_RDONLY)       = 9
fstat64(9, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0
read(9, "!\0\0\0\0P\375~\20\0\0\0\326\260?\0\6\0\0\0\0\20\0\0\21\0\0\0d\0\0\0"..., 1024) = 160
close(9)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f34000
cacheflush(0x76f34000, 0x76f35000, 0, 0x76f34118, 0x7eac1d18) = 0
mprotect(0x76f34000, 4096, PROT_READ|PROT_EXEC) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f33000
cacheflush(0x76f33000, 0x76f34000, 0, 0x76f3303c, 0x7eac1d18) = 0
mprotect(0x76f33000, 4096, PROT_READ|PROT_EXEC) = 0
brk(0x34d7000)                          = 0x34d7000
getpid()                                = 12785
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK) = 9
fstat64(9, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
poll([{fd=9, events=POLLIN}], 1, 10)    = 1 ([{fd=9, revents=POLLIN}])
read(9, "\342M\237\370\354\355\3210\341{\355\236\206\225i\2441q\6\325\237Ju{f\214\5\245t\204L\377", 32) = 32
close(9)                                = 0
getuid32()                              = 1000
getpid()                                = 12785
mmap2(0x38600000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x38600000
munmap(0x38680000, 524288)              = 0
mmap2(0x38600000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x38600000
mmap2(0x5e880000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x5e880000
munmap(0x5e900000, 524288)              = 0
mmap2(0x5e880000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x5e880000
getpid()                                = 12785
mmap2(0x2ea1e000, 24576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2ea1e000
mmap2(0x2ea1e000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ea1e000
mmap2(0x46900000, 688128, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x46900000
munmap(0x46928000, 524288)              = 0
mmap2(0x46900000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x46900000
mprotect(0x46905000, 4096, PROT_NONE)   = 0
mmap2(0x46906000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x46906000
mprotect(0x46927000, 4096, PROT_NONE)   = 0
mmap2(0x52280000, 688128, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x52280000
munmap(0x522a8000, 524288)              = 0
mmap2(0x52280000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x52280000
mprotect(0x52285000, 4096, PROT_NONE)   = 0
mmap2(0x52286000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x52286000
mprotect(0x522a7000, 4096, PROT_NONE)   = 0
mmap2(0x52100000, 688128, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x52100000
munmap(0x52128000, 524288)              = 0
mmap2(0x52100000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x52100000
mprotect(0x52105000, 4096, PROT_NONE)   = 0
mmap2(0x52106000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x52106000
mprotect(0x52127000, 4096, PROT_NONE)   = 0
mmap2(0x2ba80000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2ba80000
munmap(0x2bb00000, 524288)              = 0
mmap2(0x2ba80000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ba80000
mmap2(0x45f80000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x45f80000
munmap(0x46000000, 524288)              = 0
mmap2(0x45f80000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x45f80000
mprotect(0x45f85000, 4096, PROT_NONE)   = 0
mmap2(0x45f86000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x45f86000
mprotect(0x45fff000, 4096, PROT_NONE)   = 0
mmap2(0x58980000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x58980000
munmap(0x58a00000, 524288)              = 0
mmap2(0x58980000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x58980000
mprotect(0x58985000, 4096, PROT_NONE)   = 0
mmap2(0x58986000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x58986000
mprotect(0x589ff000, 4096, PROT_NONE)   = 0
mmap2(0x5e380000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x5e380000
munmap(0x5e400000, 524288)              = 0
mmap2(0x5e380000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x5e380000
mprotect(0x5e385000, 4096, PROT_NONE)   = 0
mmap2(0x5e386000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x5e386000
mprotect(0x5e3ff000, 4096, PROT_NONE)   = 0
mmap2(0x29f80000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x29f80000
munmap(0x2a000000, 524288)              = 0
mmap2(0x29f80000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x29f80000
cacheflush(0x45f86000, 0x45fff000, 0, 0x34c07a8, 0x45f80000) = 0
cacheflush(0x58986000, 0x589ff000, 0, 0x58980000, 0x58980000) = 0
cacheflush(0x5e386000, 0x5e3ff000, 0, 0x5e380000, 0x5e380000) = 0
munmap(0x2bab2000, 319488)              = 0
mprotect(0x5e3be000, 4096, PROT_NONE)   = 0
munmap(0x5e3bf000, 266240)              = 0
munmap(0x29f86000, 499712)              = 0
mmap2(0x57400000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x57400000
munmap(0x57480000, 524288)              = 0
mmap2(0x57400000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x57400000
mmap2(0x4c000000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x4c000000
munmap(0x4c080000, 524288)              = 0
mmap2(0x4c000000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c000000
mprotect(0x4c005000, 4096, PROT_NONE)   = 0
mmap2(0x4c006000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4c006000
mprotect(0x4c07f000, 4096, PROT_NONE)   = 0
mmap2(0x31200000, 557056, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x31200000
munmap(0x31208000, 524288)              = 0
mmap2(0x31200000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x31200000
mprotect(0x31205000, 4096, PROT_NONE)   = 0
mmap2(0x31206000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x31206000
mprotect(0x31207000, 4096, PROT_NONE)   = 0
cacheflush(0x31206040, 0x31206190, 0, 0x1, 0x7eac1898) = 0
mmap2(0x27100000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x27100000
munmap(0x27180000, 524288)              = 0
mmap2(0x27100000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x27100000
getpid()                                = 12785
readlink("/proc/self/exe", "/usr/bin/node", 8191) = 13
brk(0x34f8000)                          = 0x34f8000
futex(0x17fd6c4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getpid()                                = 12785
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [USR1], 8) = 0
mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x76f2f000
mprotect(0x76f2f000, 4096, PROT_NONE)   = 0
clone(child_stack=0x76f31f88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x76f324b8, tls=0x76f32910, child_tidptr=0x76f324b8) = 12790
rt_sigprocmask(SIG_SETMASK, [USR1], NULL, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=0x561c10, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x76b986b0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1], NULL, 8) = 0
brk(0x351e000)                          = 0x351e000
brk(0x350e000)                          = 0x350e000
brk(0x3506000)                          = 0x3506000
brk(0x34fe000)                          = 0x34fe000
brk(0x34fc000)                          = 0x34fc000
brk(0x3521000)                          = 0x3521000
brk(0x350d000)                          = 0x350d000
brk(0x3504000)                          = 0x3504000
brk(0x34fe000)                          = 0x34fe000
brk(0x34fc000)                          = 0x34fc000
brk(0x351f000)                          = 0x351f000
brk(0x350f000)                          = 0x350f000
brk(0x3506000)                          = 0x3506000
brk(0x34fe000)                          = 0x34fe000
brk(0x34fc000)                          = 0x34fc000
futex(0x349178c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x3491788, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x3491770, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x34b82c8, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x3520000)                          = 0x3520000
brk(0x350c000)                          = 0x350c000
brk(0x3504000)                          = 0x3504000
brk(0x34fe000)                          = 0x34fe000
brk(0x34fc000)                          = 0x34fc000
futex(0x349178c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x3491788, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x3491770, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x34b82c8, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x3529000)                          = 0x3529000
mmap2(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x74b4b000
munmap(0x74b4b000, 135168)              = 0
cacheflush(0x4c0061e0, 0x4c006324, 0, 0x1, 0x7eac0da8) = 0
cacheflush(0x4c006380, 0x4c0063fc, 0, 0x1, 0x7eac1598) = 0
cacheflush(0x4c006440, 0x4c0064bc, 0, 0x1, 0x7eac1598) = 0
cacheflush(0x4c006500, 0x4c00657c, 0, 0x1, 0x7eac1598) = 0
cacheflush(0x4c0065c0, 0x4c00663c, 0, 0x1, 0x7eac16c0) = 0
cacheflush(0x4c006680, 0x4c0066fc, 0, 0x1, 0x7eac16c0) = 0
cacheflush(0x4c006740, 0x4c0067bc, 0, 0x1, 0x7eac16c0) = 0
cacheflush(0x4c006800, 0x4c00687c, 0, 0x1, 0x7eac16c0) = 0
futex(0x349178c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x3491788, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x3491770, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x34b82c8, FUTEX_WAKE_PRIVATE, 1) = 1
cacheflush(0x4c0068c0, 0x4c00693c, 0, 0x1, 0x7eac1558) = 0
cacheflush(0x4c006980, 0x4c0069fc, 0, 0x1, 0x7eac1558) = 0
cacheflush(0x4c006a40, 0x4c006abc, 0, 0x1, 0x7eac1558) = 0
cacheflush(0x4c006b00, 0x4c006b7c, 0, 0x1, 0x7eac1558) = 0
cacheflush(0x4c006bc0, 0x4c006c3c, 0, 0x1, 0x7eac1558) = 0
cacheflush(0x4c006c80, 0x4c006cfc, 0, 0x1, 0x7eac1558) = 0
cacheflush(0x4c006d40, 0x4c006dbc, 0, 0x1, 0x7eac1558) = 0
cacheflush(0x4c006e00, 0x4c0070b4, 0, 0x1, 0x7eac11b0) = 0
brk(0x354e000)                          = 0x354e000
brk(0x352c000)                          = 0x352c000
futex(0x349178c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x3491788, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x3491770, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x34b82c8, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x354d000)                          = 0x354d000
mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x74b2b000
munmap(0x74b2b000, 266240)              = 0
mmap2(0x24580000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x24580000
munmap(0x24600000, 524288)              = 0
mmap2(0x24580000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x24580000
cacheflush(0x4c007100, 0x4c00717c, 0, 0x1, 0x7eac1348) = 0
mmap2(0x39580000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x39580000
munmap(0x39600000, 524288)              = 0
mmap2(0x39580000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x39580000
mmap2(0x3ff80000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x3ff80000
munmap(0x40000000, 524288)              = 0
mmap2(0x3ff80000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ff80000
getpid()                                = 12785
cacheflush(0x4c0071c0, 0x4c00723c, 0, 0x1, 0x7eac1620) = 0
ioctl(1, TCGETS, 0x7eac16fc)            = -1 ENOTTY (Inappropriate ioctl for device)
fstat64(1, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=68, ...}) = 0
read(9, "# Generated by resolvconf\ndomain"..., 4096) = 68
read(9, "", 4096)                       = 0
close(9)                                = 0
open("/etc/nsswitch.conf", O_RDONLY|O_LARGEFILE) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=529, ...}) = 0
read(9, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 529
read(9, "", 4096)                       = 0
close(9)                                = 0
open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 9
fstat64(9, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
ioctl(9, TCGETS, 0x7eac1214)            = -1 EINVAL (Invalid argument)
read(9, "]%q\5B2c\24\243\235/\223!\4k\225G\216L\202L\262tKF\267#A\346\2331f"..., 4096) = 4096
close(9)                                = 0
mmap2(0x2fe00000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2fe00000
munmap(0x2fe80000, 524288)              = 0
mmap2(0x2fe00000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2fe00000
mmap2(0x3ca00000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x3ca00000
munmap(0x3ca80000, 524288)              = 0
mmap2(0x3ca00000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ca00000
getpid()                                = 12785
cacheflush(0x4c007280, 0x4c0072fc, 0, 0x1, 0x7eac1368) = 0
cacheflush(0x4c007340, 0x4c0073bc, 0, 0x1, 0x7eac1368) = 0
cacheflush(0x4c007400, 0x4c00747c, 0, 0x1, 0x7eac1368) = 0
cacheflush(0x4c0074c0, 0x4c00753c, 0, 0x1, 0x7eac1368) = 0
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, TIOCGPTN, 0x7eac15f8)          = -1 ENOTTY (Inappropriate ioctl for device)
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
readlink("/proc/self/fd/2", "/dev/pts/0", 255) = 10
stat64("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
open("/dev/pts/0", O_RDWR|O_CLOEXEC)    = 9
dup3(9, 2, O_CLOEXEC)                   = 2
open("/dev/null", O_RDONLY|O_CLOEXEC)   = 10
ioctl(9, FIONBIO, [1])                  = 0
ioctl(9, FIONBIO, [0])                  = 0
ioctl(9, TIOCGWINSZ, {ws_row=52, ws_col=208, ws_xpixel=0, ws_ypixel=0}) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
read(4, "*", 1)                         = 1
rt_sigaction(SIGWINCH, {sa_handler=0x5b1a6c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x76b986b0}, NULL, 8) = 0
write(5, "*", 1)                        = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
getcwd("/home/pi/nodeapps/fapp_node_pwa", 4096) = 32
getcwd("/home/pi/nodeapps/fapp_node_pwa", 4096) = 32
cacheflush(0x4c007580, 0x4c0076a0, 0, 0x1, 0x7eac0f00) = 0
write(2, "[eval]:1\ntest.js\n^\n\nReferenceErr"..., 372[eval]:1
test.js
^

ReferenceError: test is not defined
    at [eval]:1:1
    at Script.runInThisContext (vm.js:65:33)
    at Object.runInThisContext (vm.js:197:38)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:649:30)
    at evalScript (bootstrap_node.js:523:27)
    at startup (bootstrap_node.js:170:9)
    at bootstrap_node.js:666:3
) = 372
exit_group(1)                           = ?
+++ exited with 1 +++

@bnoordhuis
Copy link
Member

@filly82 It failed with ReferenceError: test is not defined. Can you try again and make sure it fails with that -75 errno?

@filly82
Copy link
Author

filly82 commented Mar 20, 2018

sorry, i am not familiar with strace
when i do
node test.js it fails with -75
but when i do
strace node -p test.js
it does not

am i doing it right? test.js is the test node script with just fs.statSync('myfile')

@filly82
Copy link
Author

filly82 commented Mar 20, 2018

i tried
strace node test.js and got this

execve("/usr/bin/node", ["node", "test.js"], [/* 19 vars */]) = 0
brk(NULL)                               = 0x3088000
uname({sysname="Linux", nodename="pi", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f73000
access("/etc/ld.so.preload", R_OK)      = 0
open("/etc/ld.so.preload", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=42, ...}) = 0
mmap2(NULL, 42, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x76f72000
close(3)                                = 0
open("/usr/lib/arm-linux-gnueabihf/libarmmem.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\210\5\0\0004\0\0\0"..., 512) = 512
lseek(3, 20868, SEEK_SET)               = 20868
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000) = 1000
lseek(3, 20540, SEEK_SET)               = 20540
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\3\f\1\22\4\24"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=21868, ...}) = 0
mmap2(NULL, 86080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76f30000
mprotect(0x76f35000, 61440, PROT_NONE)  = 0
mmap2(0x76f44000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x76f44000
close(3)                                = 0
munmap(0x76f72000, 42)                  = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=30316, ...}) = 0
mmap2(NULL, 30316, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f6b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0P\t\0\0004\0\0\0"..., 512) = 512
lseek(3, 8680, SEEK_SET)                = 8680
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(3, 8328, SEEK_SET)                = 8328
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=9800, ...}) = 0
mmap2(NULL, 73912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76f1d000
mprotect(0x76f1f000, 61440, PROT_NONE)  = 0
mmap2(0x76f2e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x76f2e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0 \27\0\0004\0\0\0"..., 512) = 512
lseek(3, 25352, SEEK_SET)               = 25352
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1280) = 1280
lseek(3, 24940, SEEK_SET)               = 24940
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=26632, ...}) = 0
mmap2(NULL, 90640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76f06000
mprotect(0x76f0c000, 61440, PROT_NONE)  = 0
mmap2(0x76f1b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x76f1b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/arm-linux-gnueabihf/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000\332\6\0004\0\0\0"..., 512) = 512
lseek(3, 1268340, SEEK_SET)             = 1268340
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1280) = 1280
lseek(3, 1267740, SEEK_SET)             = 1267740
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=1269620, ...}) = 0
mmap2(NULL, 1341504, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76dbe000
mprotect(0x76eed000, 65536, PROT_NONE)  = 0
mmap2(0x76efd000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12f000) = 0x76efd000
mmap2(0x76f04000, 6208, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76f04000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0`=\0\0004\0\0\0"..., 512) = 512
lseek(3, 451032, SEEK_SET)              = 451032
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(3, 450676, SEEK_SET)              = 450676
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 49) = 49
fstat64(3, {st_mode=S_IFREG|0644, st_size=452152, ...}) = 0
mmap2(NULL, 516220, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76d3f000
mprotect(0x76dac000, 65536, PROT_NONE)  = 0
mmap2(0x76dbc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6d000) = 0x76dbc000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\200\321\0\0004\0\0\0"..., 512) = 512
lseek(3, 115292, SEEK_SET)              = 115292
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
lseek(3, 114944, SEEK_SET)              = 114944
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=116372, ...}) = 0
mmap2(NULL, 180536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76d12000
mprotect(0x76d2e000, 61440, PROT_NONE)  = 0
mmap2(0x76d3d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x76d3d000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0dI\0\0004\0\0\0"..., 512) = 512
lseek(3, 125740, SEEK_SET)              = 125740
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1560) = 1560
lseek(3, 90536, SEEK_SET)               = 90536
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=127300, ...}) = 0
mmap2(NULL, 164432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76ce9000
mprotect(0x76cff000, 61440, PROT_NONE)  = 0
mmap2(0x76d0e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x76d0e000
mmap2(0x76d10000, 4688, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76d10000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f69000
open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@h\1\0004\0\0\0"..., 512) = 512
lseek(3, 1231820, SEEK_SET)             = 1231820
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2880) = 2880
lseek(3, 1228284, SEEK_SET)             = 1228284
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=1234700, ...}) = 0
mmap2(NULL, 1303872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76baa000
mprotect(0x76cd3000, 65536, PROT_NONE)  = 0
mmap2(0x76ce3000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x129000) = 0x76ce3000
mmap2(0x76ce6000, 9536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76ce6000
close(3)                                = 0
set_tls(0x76f6a440, 0x76f6ab38, 0x76f77050, 0x76f6a440, 0x76f77050) = 0
mprotect(0x76ce3000, 8192, PROT_READ)   = 0
mprotect(0x76d0e000, 4096, PROT_READ)   = 0
mprotect(0x76d3d000, 4096, PROT_READ)   = 0
mprotect(0x76dbc000, 4096, PROT_READ)   = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f67000
mprotect(0x76efd000, 20480, PROT_READ)  = 0
mprotect(0x76f1b000, 4096, PROT_READ)   = 0
mprotect(0x76f2e000, 4096, PROT_READ)   = 0
mprotect(0x76f30000, 20480, PROT_READ|PROT_WRITE) = 0
mprotect(0x76f30000, 20480, PROT_READ|PROT_EXEC) = 0
cacheflush(0x76f30000, 0x76f35000, 0, 0x15, 0) = 0
mprotect(0x76f44000, 4096, PROT_READ)   = 0
mprotect(0x76f76000, 4096, PROT_READ)   = 0
munmap(0x76f6b000, 30316)               = 0
set_tid_address(0x76f69fe8)             = 623
set_robust_list(0x76f69ff0, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x76ced2b0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x76bd66c0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x76ced390, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x76bd66c0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
brk(NULL)                               = 0x3088000
brk(0x30ad000)                          = 0x30ad000
rt_sigprocmask(SIG_SETMASK, [USR1], NULL, 8) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGILL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGTRAP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGABRT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGBUS, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGFPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGSEGV, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGALRM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGSTKFLT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGCONT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGURG, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGXFSZ, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGVTALRM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGPROF, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGWINCH, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGIO, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGPWR, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGSYS, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x4c114c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_RESETHAND, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x4c114c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_RESETHAND, sa_restorer=0x76bd66b0}, NULL, 8) = 0
ugetrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024*1024}) = 0
setrlimit(RLIMIT_NOFILE, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
clock_getres(CLOCK_MONOTONIC_COARSE, {tv_sec=0, tv_nsec=10000000}) = 0
epoll_create1(EPOLL_CLOEXEC)            = 3
pipe2([4, 5], O_CLOEXEC)                = 0
write(5, "*", 1)                        = 1
futex(0x17fd65c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
pipe2([6, 7], O_NONBLOCK|O_CLOEXEC)     = 0
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK)   = 8
ioctl(0, FIOCLEX)                       = 0
ioctl(1, FIOCLEX)                       = 0
ioctl(2, FIOCLEX)                       = 0
ioctl(3, FIOCLEX)                       = 0
ioctl(4, FIOCLEX)                       = 0
ioctl(5, FIOCLEX)                       = 0
ioctl(6, FIOCLEX)                       = 0
ioctl(7, FIOCLEX)                       = 0
ioctl(8, FIOCLEX)                       = 0
ioctl(9, FIOCLEX)                       = -1 EBADF (Bad file descriptor)
ioctl(10, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(11, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(12, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(13, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(14, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(15, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
ioctl(16, FIOCLEX)                      = -1 EBADF (Bad file descriptor)
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
futex(0x76f04290, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x76f04294, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getuid32()                              = 1000
geteuid32()                             = 1000
getgid32()                              = 1000
getegid32()                             = 1000
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x763aa000
mprotect(0x763aa000, 4096, PROT_NONE)   = 0
clone(child_stack=0x76ba8f88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x76ba94b8, tls=0x76ba9910, child_tidptr=0x76ba94b8) = 624
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x75baa000
mprotect(0x75baa000, 4096, PROT_NONE)   = 0
clone(child_stack=0x763a8f88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x763a94b8, tls=0x763a9910, child_tidptr=0x763a94b8) = 625
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x753aa000
mprotect(0x753aa000, 4096, PROT_NONE)   = 0
clone(child_stack=0x75ba8f88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x75ba94b8, tls=0x75ba9910, child_tidptr=0x75ba94b8) = 626
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
mmap2(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x74baa000
mprotect(0x74baa000, 4096, PROT_NONE)   = 0
clone(child_stack=0x753a8f88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x753a94b8, tls=0x753a9910, child_tidptr=0x753a94b8) = 627
open("/proc/cpuinfo", O_RDONLY)         = 9
fstat64(9, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(9, "processor\t: 0\nmodel name\t: ARMv7"..., 1024) = 1024
read(9, "ariant\t: 0x0\nCPU part\t: 0xd03\nCP"..., 1024) = 112
read(9, "", 1024)                       = 0
read(9, "", 1024)                       = 0
close(9)                                = 0
open("/proc/cpuinfo", O_RDONLY)         = 9
fstat64(9, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(9, "processor\t: 0\nmodel name\t: ARMv7"..., 1024) = 1024
read(9, "ariant\t: 0x0\nCPU part\t: 0xd03\nCP"..., 1024) = 112
close(9)                                = 0
open("/proc/self/auxv", O_RDONLY)       = 9
fstat64(9, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0
read(9, "!\0\0\0\0\240\316~\20\0\0\0\326\260?\0\6\0\0\0\0\20\0\0\21\0\0\0d\0\0\0"..., 1024) = 160
close(9)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f72000
cacheflush(0x76f72000, 0x76f73000, 0, 0x76f72118, 0x7eb66d18) = 0
mprotect(0x76f72000, 4096, PROT_READ|PROT_EXEC) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f71000
cacheflush(0x76f71000, 0x76f72000, 0, 0x76f7103c, 0x7eb66d18) = 0
mprotect(0x76f71000, 4096, PROT_READ|PROT_EXEC) = 0
brk(0x30d4000)                          = 0x30d4000
getpid()                                = 623
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK) = 9
fstat64(9, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
poll([{fd=9, events=POLLIN}], 1, 10)    = 1 ([{fd=9, revents=POLLIN}])
read(9, "T^\227Pw\363\244\303m\323\276|\224\353\225iL\341\341\4\316\2359\1xJ\354\23.\26\204*", 32) = 32
close(9)                                = 0
getuid32()                              = 1000
getpid()                                = 623
mmap2(0x20680000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x20680000
munmap(0x20700000, 524288)              = 0
mmap2(0x20680000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20680000
mmap2(0x4df00000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x4df00000
munmap(0x4df80000, 524288)              = 0
mmap2(0x4df00000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4df00000
getpid()                                = 623
mmap2(0x4a0a5000, 24576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x4a0a5000
mmap2(0x4a0a6000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4a0a6000
mmap2(0x23f80000, 688128, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x23f80000
munmap(0x23fa8000, 524288)              = 0
mmap2(0x23f80000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x23f80000
mprotect(0x23f85000, 4096, PROT_NONE)   = 0
mmap2(0x23f86000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x23f86000
mprotect(0x23fa7000, 4096, PROT_NONE)   = 0
mmap2(0x30700000, 688128, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x30700000
munmap(0x30728000, 524288)              = 0
mmap2(0x30700000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x30700000
mprotect(0x30705000, 4096, PROT_NONE)   = 0
mmap2(0x30706000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x30706000
mprotect(0x30727000, 4096, PROT_NONE)   = 0
mmap2(0x48f00000, 688128, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x48f00000
munmap(0x48f28000, 524288)              = 0
mmap2(0x48f00000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x48f00000
mprotect(0x48f05000, 4096, PROT_NONE)   = 0
mmap2(0x48f06000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x48f06000
mprotect(0x48f27000, 4096, PROT_NONE)   = 0
mmap2(0x3f980000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x3f980000
munmap(0x3fa00000, 524288)              = 0
mmap2(0x3f980000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f980000
mmap2(0x35400000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x35400000
munmap(0x35480000, 524288)              = 0
mmap2(0x35400000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x35400000
mprotect(0x35405000, 4096, PROT_NONE)   = 0
mmap2(0x35406000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x35406000
mprotect(0x3547f000, 4096, PROT_NONE)   = 0
mmap2(0x21380000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x21380000
munmap(0x21400000, 524288)              = 0
mmap2(0x21380000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x21380000
mprotect(0x21385000, 4096, PROT_NONE)   = 0
mmap2(0x21386000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x21386000
mprotect(0x213ff000, 4096, PROT_NONE)   = 0
mmap2(0x31a80000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x31a80000
munmap(0x31b00000, 524288)              = 0
mmap2(0x31a80000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x31a80000
mprotect(0x31a85000, 4096, PROT_NONE)   = 0
mmap2(0x31a86000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x31a86000
mprotect(0x31aff000, 4096, PROT_NONE)   = 0
mmap2(0x54980000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x54980000
munmap(0x54a00000, 524288)              = 0
mmap2(0x54980000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x54980000
cacheflush(0x35406000, 0x3547f000, 0, 0x30bd798, 0x35400000) = 0
cacheflush(0x21386000, 0x213ff000, 0, 0x21380000, 0x21380000) = 0
cacheflush(0x31a86000, 0x31aff000, 0, 0x31a80000, 0x31a80000) = 0
munmap(0x3f9b2000, 319488)              = 0
mprotect(0x31abe000, 4096, PROT_NONE)   = 0
munmap(0x31abf000, 266240)              = 0
munmap(0x54986000, 499712)              = 0
mmap2(0x28380000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x28380000
munmap(0x28400000, 524288)              = 0
mmap2(0x28380000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x28380000
mmap2(0x46000000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x46000000
munmap(0x46080000, 524288)              = 0
mmap2(0x46000000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x46000000
mprotect(0x46005000, 4096, PROT_NONE)   = 0
mmap2(0x46006000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x46006000
mprotect(0x4607f000, 4096, PROT_NONE)   = 0
mmap2(0x3b700000, 557056, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x3b700000
munmap(0x3b708000, 524288)              = 0
mmap2(0x3b700000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b700000
mprotect(0x3b705000, 4096, PROT_NONE)   = 0
mmap2(0x3b706000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b706000
mprotect(0x3b707000, 4096, PROT_NONE)   = 0
cacheflush(0x3b706040, 0x3b706190, 0, 0x1, 0x7eb66898) = 0
mmap2(0x38980000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x38980000
munmap(0x38a00000, 524288)              = 0
mmap2(0x38980000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x38980000
getpid()                                = 623
readlink("/proc/self/exe", "/usr/bin/node", 8191) = 13
brk(0x30f5000)                          = 0x30f5000
futex(0x17fd6c4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getpid()                                = 623
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [USR1], 8) = 0
mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x76f6d000
mprotect(0x76f6d000, 4096, PROT_NONE)   = 0
clone(child_stack=0x76f6ff88, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x76f704b8, tls=0x76f70910, child_tidptr=0x76f704b8) = 628
rt_sigprocmask(SIG_SETMASK, [USR1], NULL, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=0x561c10, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x76bd66b0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1], NULL, 8) = 0
brk(0x311b000)                          = 0x311b000
brk(0x310b000)                          = 0x310b000
brk(0x3103000)                          = 0x3103000
brk(0x30fb000)                          = 0x30fb000
brk(0x30f9000)                          = 0x30f9000
brk(0x311e000)                          = 0x311e000
brk(0x310a000)                          = 0x310a000
brk(0x3101000)                          = 0x3101000
brk(0x30fb000)                          = 0x30fb000
brk(0x30f9000)                          = 0x30f9000
brk(0x311c000)                          = 0x311c000
brk(0x310c000)                          = 0x310c000
brk(0x3103000)                          = 0x3103000
brk(0x30fb000)                          = 0x30fb000
brk(0x30f9000)                          = 0x30f9000
futex(0x308e764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x308e760, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x308e748, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x30b52b8, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x311d000)                          = 0x311d000
brk(0x3109000)                          = 0x3109000
brk(0x3101000)                          = 0x3101000
brk(0x30fb000)                          = 0x30fb000
brk(0x30f9000)                          = 0x30f9000
futex(0x308e764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x308e760, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x308e748, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x30b52b8, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x3126000)                          = 0x3126000
mmap2(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x74b89000
munmap(0x74b89000, 135168)              = 0
cacheflush(0x460061e0, 0x46006324, 0, 0x1, 0x7eb65da8) = 0
cacheflush(0x46006380, 0x460063fc, 0, 0x1, 0x7eb66598) = 0
cacheflush(0x46006440, 0x460064bc, 0, 0x1, 0x7eb66598) = 0
cacheflush(0x46006500, 0x4600657c, 0, 0x1, 0x7eb66598) = 0
cacheflush(0x460065c0, 0x4600663c, 0, 0x1, 0x7eb666c0) = 0
cacheflush(0x46006680, 0x460066fc, 0, 0x1, 0x7eb666c0) = 0
cacheflush(0x46006740, 0x460067bc, 0, 0x1, 0x7eb666c0) = 0
cacheflush(0x46006800, 0x4600687c, 0, 0x1, 0x7eb666c0) = 0
futex(0x308e764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x308e760, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x308e748, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x30b52b8, FUTEX_WAKE_PRIVATE, 1) = 1
cacheflush(0x460068c0, 0x4600693c, 0, 0x1, 0x7eb66558) = 0
cacheflush(0x46006980, 0x460069fc, 0, 0x1, 0x7eb66558) = 0
cacheflush(0x46006a40, 0x46006abc, 0, 0x1, 0x7eb66558) = 0
cacheflush(0x46006b00, 0x46006b7c, 0, 0x1, 0x7eb66558) = 0
cacheflush(0x46006bc0, 0x46006c3c, 0, 0x1, 0x7eb66558) = 0
cacheflush(0x46006c80, 0x46006cfc, 0, 0x1, 0x7eb66558) = 0
cacheflush(0x46006d40, 0x46006dbc, 0, 0x1, 0x7eb66558) = 0
cacheflush(0x46006e00, 0x460070b4, 0, 0x1, 0x7eb661b0) = 0
brk(0x314b000)                          = 0x314b000
brk(0x3129000)                          = 0x3129000
futex(0x308e764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x308e760, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x308e748, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x30b52b8, FUTEX_WAKE_PRIVATE, 1) = 1
brk(0x314a000)                          = 0x314a000
mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x74b69000
munmap(0x74b69000, 266240)              = 0
mmap2(0x4af80000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x4af80000
munmap(0x4b000000, 524288)              = 0
mmap2(0x4af80000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4af80000
cacheflush(0x46007100, 0x4600717c, 0, 0x1, 0x7eb66348) = 0
futex(0x308e764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x308e760, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 1
futex(0x308e748, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x30b52b8, FUTEX_WAKE_PRIVATE, 1) = 1
mmap2(0x58200000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x58200000
munmap(0x58280000, 524288)              = 0
mmap2(0x58200000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x58200000
mmap2(0x34e00000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x34e00000
munmap(0x34e80000, 524288)              = 0
mmap2(0x34e00000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x34e00000
getpid()                                = 623
cacheflush(0x460071c0, 0x4600723c, 0, 0x1, 0x7eb66620) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=68, ...}) = 0
read(9, "# Generated by resolvconf\ndomain"..., 4096) = 68
read(9, "", 4096)                       = 0
close(9)                                = 0
open("/etc/nsswitch.conf", O_RDONLY|O_LARGEFILE) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=529, ...}) = 0
read(9, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 529
read(9, "", 4096)                       = 0
close(9)                                = 0
open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 9
fstat64(9, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
ioctl(9, TCGETS, 0x7eb66214)            = -1 EINVAL (Invalid argument)
read(9, "dP\252V/7\22 w\270]\\X\36\227\34\214\221t\267\207\346\22o\243\214\274\304q\344\217}"..., 4096) = 4096
close(9)                                = 0
mmap2(0x24400000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x24400000
munmap(0x24480000, 524288)              = 0
mmap2(0x24400000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x24400000
mmap2(0x26280000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x26280000
munmap(0x26300000, 524288)              = 0
mmap2(0x26280000, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x26280000
getpid()                                = 623
cacheflush(0x46007280, 0x460072fc, 0, 0x1, 0x7eb66368) = 0
cacheflush(0x46007340, 0x460073bc, 0, 0x1, 0x7eb66368) = 0
cacheflush(0x46007400, 0x4600747c, 0, 0x1, 0x7eb66368) = 0
cacheflush(0x460074c0, 0x4600753c, 0, 0x1, 0x7eb66368) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCGPTN, 0x7eb665f8)          = -1 ENOTTY (Inappropriate ioctl for device)
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
readlink("/proc/self/fd/1", "/dev/pts/0", 255) = 10
stat64("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
open("/dev/pts/0", O_RDWR|O_CLOEXEC)    = 9
dup3(9, 1, O_CLOEXEC)                   = 1
open("/dev/null", O_RDONLY|O_CLOEXEC)   = 10
ioctl(9, FIONBIO, [1])                  = 0
ioctl(9, FIONBIO, [0])                  = 0
ioctl(9, TIOCGWINSZ, {ws_row=52, ws_col=208, ws_xpixel=0, ws_ypixel=0}) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
read(4, "*", 1)                         = 1
rt_sigaction(SIGWINCH, {sa_handler=0x5b1a6c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x76bd66b0}, NULL, 8) = 0
write(5, "*", 1)                        = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, TIOCGPTN, 0x7eb665f8)          = -1 ENOTTY (Inappropriate ioctl for device)
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
readlink("/proc/self/fd/2", "/dev/pts/0", 255) = 10
stat64("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
open("/dev/pts/0", O_RDWR|O_CLOEXEC)    = 11
dup3(11, 2, O_CLOEXEC)                  = 2
ioctl(11, FIONBIO, [1])                 = 0
ioctl(11, FIONBIO, [0])                 = 0
ioctl(11, TIOCGWINSZ, {ws_row=52, ws_col=208, ws_xpixel=0, ws_ypixel=0}) = 0
getcwd("/home/pi/nodeapps/fapp_node_pwa", 4096) = 32
getcwd("/home/pi/nodeapps/fapp_node_pwa", 4096) = 32
stat64("/home/pi/nodeapps/fapp_node_pwa/test.js", {st_mode=S_IFREG|0644, st_size=193, ...}) = 0
lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/pi", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/pi/nodeapps", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/pi/nodeapps/fapp_node_pwa", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/pi/nodeapps/fapp_node_pwa/test.js", {st_mode=S_IFREG|0644, st_size=193, ...}) = 0
open("/home/pi/nodeapps/fapp_node_pwa/test.js", O_RDONLY|O_CLOEXEC) = 12
fstat64(12, {st_mode=S_IFREG|0644, st_size=193, ...}) = 0
read(12, "    const fs = require(\"fs\"); //"..., 193) = 193
close(12)                               = 0
stat64("myfile", {st_mode=S_IFREG|0666, st_size=2508105098, ...}) = 0
cacheflush(0x46007580, 0x460076a0, 0, 0x1, 0x7eb65f00) = 0
write(2, "fs.js:972\n  binding.stat(pathMod"..., 701fs.js:972
  binding.stat(pathModule.toNamespacedPath(path));
          ^

Error: Unknown system error -75: Unknown system error -75, stat 'myfile'
    at Object.fs.statSync (fs.js:972:11)
    at Object.<anonymous> (/home/pi/nodeapps/fapp_node_pwa/test.js:2:22)
    at Module._compile (module.js:649:30)
    at Object.Module._extensions..js (module.js:660:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:501:12)
    at Function.Module._load (module.js:493:3)
    at Function.Module.runMain (module.js:690:10)
    at startup (bootstrap_node.js:194:16)
    at bootstrap_node.js:666:3
) = 701
exit_group(1)                           = ?
+++ exited with 1 +++

bnoordhuis added a commit to bnoordhuis/libuv that referenced this issue Mar 20, 2018
Faulty logic in commit fdf7c2a ("build: split off tests into separate
gyp file") accidentally disabled `-D_FILE_OFFSET_BITS=64` on Unices,
breaking file operations on files > 2 GB on 32 bits platforms.

Fixes: nodejs/node#19455
@bnoordhuis
Copy link
Member

Thanks, I found the issue. Fix in libuv/libuv#1779.

@filly82
Copy link
Author

filly82 commented Mar 20, 2018

OK. So the Bug came with a libuv Update onto my system?

@bnoordhuis
Copy link
Member

In a way. Node.js bundles libuv.

@filly82
Copy link
Author

filly82 commented Mar 20, 2018

How come a downgrade on node 9.7.1 / 9.7.0 did not work? I am pretty sure that it did work a week ago when i had one of that Versions

@filly82
Copy link
Author

filly82 commented Mar 20, 2018

But great that you find out Something. Thanks for looking into it
how and when can i get that Bugfix?

@bnoordhuis
Copy link
Member

The next v9.x release with a bit of luck. Preempting the question of when: probably in a week or so.

If that doesn't work for you, build node from source and apply the patch locally to deps/uv.

@filly82
Copy link
Author

filly82 commented Mar 20, 2018

Great thanks. Should i Close this then or leave it opened?

@bnoordhuis
Copy link
Member

It'll auto-close when the libuv PR is merged.

bnoordhuis added a commit to bnoordhuis/libuv that referenced this issue Mar 21, 2018
Faulty logic in commit fdf7c2a ("build: split off tests into separate
gyp file") accidentally disabled `-D_FILE_OFFSET_BITS=64` on Unices,
breaking file operations on files > 2 GB on 32 bits platforms.

Fixes: nodejs/node#19455
PR-URL: libuv#1779
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
cjihrig added a commit to cjihrig/node that referenced this issue Apr 5, 2018
Notable changes:
- uv_fs_copyfile() adds support for copy-on-write behavior.
- uv_relative_path() now uses the long directory name
  for handle->dirw.
- File operations on files > 2 GB on 32-bit platforms are
  working again.
- uv_fs_fchmod() on Windows works on files with the
  Archive flag cleared.

Fixes: nodejs#19170
Fixes: nodejs#19455
Fixes: nodejs#12803
PR-URL: nodejs#19758
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
targos pushed a commit that referenced this issue Apr 6, 2018
Notable changes:
- uv_fs_copyfile() adds support for copy-on-write behavior.
- uv_relative_path() now uses the long directory name
  for handle->dirw.
- File operations on files > 2 GB on 32-bit platforms are
  working again.
- uv_fs_fchmod() on Windows works on files with the
  Archive flag cleared.

Fixes: #19170
Fixes: #19455
Fixes: #12803
PR-URL: #19758
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this issue Aug 7, 2018
Notable changes:
- uv_fs_copyfile() adds support for copy-on-write behavior.
- uv_relative_path() now uses the long directory name
  for handle->dirw.
- File operations on files > 2 GB on 32-bit platforms are
  working again.
- uv_fs_fchmod() on Windows works on files with the
  Archive flag cleared.

Fixes: #19170
Fixes: #19455
Fixes: #12803
PR-URL: #19758
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@mempf
Copy link

mempf commented Oct 23, 2018

Is it possible to get this fix back-ported to Node 8.X LTS? We are still using node in a 32 bit linux environment that has to deal with files >2GB.

Thanks!

@MylesBorins
Copy link
Member

/cc @nodejs/libuv we had to stop at 1.19.2 due to incompatible changes in 1.20.0... tbh I can't remember exactly what they are but I think @cjihrig would know.

Would you like to open another issue to track this?

@cjihrig
Copy link
Contributor

cjihrig commented Oct 23, 2018

I think you're referring to #22814 and #21203. Both of those issues are fixed. A regression test for #22814 landed in #23051. #23053 fixed #21203, but it's marked as don't land on v10 and earlier. Now, that might be backportable since it reverts a semver major and the version of libuv can now be updated on those older branches (cc: @addaleax since that is her PR).

@MylesBorins
Copy link
Member

I've opened a tracking issue #23833

MylesBorins pushed a commit to MylesBorins/node that referenced this issue Nov 5, 2018
Notable changes:
- uv_fs_copyfile() adds support for copy-on-write behavior.
- uv_relative_path() now uses the long directory name
  for handle->dirw.
- File operations on files > 2 GB on 32-bit platforms are
  working again.
- uv_fs_fchmod() on Windows works on files with the
  Archive flag cleared.

Fixes: nodejs#19170
Fixes: nodejs#19455
Fixes: nodejs#12803
PR-URL: nodejs#19758
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this issue Nov 11, 2018
Notable changes:
- uv_fs_copyfile() adds support for copy-on-write behavior.
- uv_relative_path() now uses the long directory name
  for handle->dirw.
- File operations on files > 2 GB on 32-bit platforms are
  working again.
- uv_fs_fchmod() on Windows works on files with the
  Archive flag cleared.

Backport-PR-URL: #24103
Fixes: #19170
Fixes: #19455
Fixes: #12803
PR-URL: #19758
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arm Issues and PRs related to the ARM platform. fs Issues and PRs related to the fs subsystem / file system.
Projects
None yet
Development

No branches or pull requests

7 participants