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

tests: run-params issue #1668

Closed
jsarenik opened this issue Jul 6, 2018 · 13 comments · Fixed by #1684
Closed

tests: run-params issue #1668

jsarenik opened this issue Jul 6, 2018 · 13 comments · Fixed by #1684

Comments

@jsarenik
Copy link
Collaborator

jsarenik commented Jul 6, 2018

Issue and Steps to Reproduce

Testing on Debian buster/sid on aarch64 (DragonBoard 410c with latest build 359)

UPDATE: Also Alpine Linux on x86_64 see later comment

I can give root access to this box, just send me your public SSH key via email.

linaro@linaro-developer:~/lightning-auto-test/lightning$ git rev-parse HEAD
13796f0d0f256e15ac20f35ad9e23944965f09cf
linaro@linaro-developer:~/lightning-auto-test/lightning$ make check
bitcoin/test/run-tx-encode > /dev/null
common/test/run-sphinx > /dev/null
common/test/run-json > /dev/null
do_json_tok_bitcoin_amount("0.00000001", 1): ok
do_json_tok_bitcoin_amount("0.00000007", 7): ok
do_json_tok_bitcoin_amount("0.00000008", 8): ok
do_json_tok_bitcoin_amount("0.00000010", 10): ok
do_json_tok_bitcoin_amount("0.12345678", 12345678): ok
do_json_tok_bitcoin_amount("0.01234567", 1234567): ok
do_json_tok_bitcoin_amount("123.45678900", 12345678900): ok
common/test/run-bolt11 > /dev/null
common/test/run-features > /dev/null
common/test/run-ip_port_parsing > /dev/null
wire/test/run-peer-wire > /dev/null
wallet/test/run-db > /dev/null
wallet/test/run-wallet > /dev/null
gossipd/test/run-find_route-specific > /dev/null
gossipd/test/run-initiator-success > /dev/null
gossipd/test/run-find_route > /dev/null
gossipd/test/run-bench-find_route > /dev/null
gossipd/test/run-responder-success > /dev/null
channeld/test/run-full_channel > /dev/null
onchaind/test/run-grind_feerate > /dev/null
lightningd/test/run-commit_tx > /dev/null
lightningd/test/run-key_derive > /dev/null
lightningd/test/run-params > /dev/null
Aborted
Makefile:378: recipe for target 'unittest/lightningd/test/run-params' failed
make: *** [unittest/lightningd/test/run-params] Error 134

And the strace of run-params is here:

linaro@linaro-developer:~/lightning-auto-test/lightning$ strace lightningd/test/run-params
execve("lightningd/test/run-params", ["lightningd/test/run-params"], 0xfffff85b00e0 /* 21 vars */) = 0
brk(NULL)                               = 0xaaaadde35000
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=55765, ...}) = 0
mmap(NULL, 55765, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffffbea15000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\257\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=694360, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffffbe9f6000
mmap(NULL, 757880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffffbe93c000
mprotect(0xffffbe9e5000, 61440, PROT_NONE) = 0
mmap(0xffffbe9f4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa8000) = 0xffffbe9f4000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libgmp.so.10", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\240\301\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=463440, ...}) = 0
mmap(NULL, 527144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffffbe8bb000
mprotect(0xffffbe92b000, 61440, PROT_NONE) = 0
mmap(0xffffbe93a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6f000) = 0xffffbe93a000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libsqlite3.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\367\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=997008, ...}) = 0
mmap(NULL, 1062544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffffbe7b7000
mprotect(0xffffbe8a5000, 65536, PROT_NONE) = 0
mmap(0xffffbe8b5000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xee000) = 0xffffbe8b5000
mmap(0xffffbe8ba000, 1680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffffbe8ba000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0`$\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=117032, ...}) = 0
mmap(NULL, 180616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffffbe78a000
mprotect(0xffffbe7a6000, 61440, PROT_NONE) = 0
mmap(0xffffbe7b5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0xffffbe7b5000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 \10\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1349776, ...}) = 0
mmap(NULL, 1422168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffffbe62e000
mprotect(0xffffbe771000, 61440, PROT_NONE) = 0
mmap(0xffffbe780000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x142000) = 0xffffbe780000
mmap(0xffffbe786000, 13144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffffbe786000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\360\\\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=134688, ...}) = 0
mmap(NULL, 177104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffffbe602000
mprotect(0xffffbe619000, 61440, PROT_NONE) = 0
mmap(0xffffbe628000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0xffffbe628000
mmap(0xffffbe62a000, 13264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffffbe62a000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14480, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffffbe600000
mmap(NULL, 78080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffffbe5ec000
mprotect(0xffffbe5ee000, 65536, PROT_NONE) = 0
mmap(0xffffbe5fe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xffffbe5fe000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffffbe5ea000
mprotect(0xffffbe780000, 16384, PROT_READ) = 0
mprotect(0xffffbe5fe000, 4096, PROT_READ) = 0
mprotect(0xffffbe628000, 4096, PROT_READ) = 0
mprotect(0xffffbe7b5000, 4096, PROT_READ) = 0
mprotect(0xffffbe9f4000, 4096, PROT_READ) = 0
mprotect(0xffffbe8b5000, 12288, PROT_READ) = 0
mprotect(0xffffbe93a000, 4096, PROT_READ) = 0
mprotect(0xaaaac198e000, 4096, PROT_READ) = 0
mprotect(0xffffbea25000, 4096, PROT_READ) = 0
munmap(0xffffbea15000, 55765)           = 0
set_tid_address(0xffffbe5ea0e0)         = 2601
set_robust_list(0xffffbe5ea0f0, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xffffbe607768, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xffffbe607838, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0xaaaadde35000
brk(0xaaaadde56000)                     = 0xaaaadde56000
mmap(NULL, 187647121166336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
brk(0x15554dde59000)                    = 0xaaaadde56000
mmap(NULL, 187647121297408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
getpid()                                = 2601
gettid()                                = 2601
tgkill(2601, 2601, SIGABRT)             = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=2601, si_uid=1000} ---
+++ killed by SIGABRT +++
Aborted

See full log

@jsarenik
Copy link
Collaborator Author

jsarenik commented Jul 6, 2018

@wythe ^^ I just noticed you had a recent commit to run-params so maybe you will know what's going on there.

@wythe
Copy link
Collaborator

wythe commented Jul 6, 2018

run-params doesn't test anything vital to the current build, so you can safely remove it during testing for now. I'm about to run out the door. I can take a closer look at it later.

We do a lot of neat redirection of SIGABRT in that test which may be the issue on arch.

@wythe
Copy link
Collaborator

wythe commented Jul 9, 2018

Are you still seeing this when you configure with --disable-developer? Or more precisely, when you configure without --enable-developer?

@jsarenik
Copy link
Collaborator Author

jsarenik commented Jul 9, 2018

@wythe so far I am running my tests with --disable-developer only. Once that works I will move one to --enable-developer.

https://gist.github.com/jsarenik/6923be59beb524b75a154fd11b47263a#file-full-log-txt-L40

@wythe
Copy link
Collaborator

wythe commented Jul 9, 2018

Just run lightningd/test/run-params from the command line and post the output.

@jsarenik
Copy link
Collaborator Author

Will do, with current master (i.e. 14c6310).

@jsarenik
Copy link
Collaborator Author

jsarenik commented Jul 10, 2018

#In the meantime I am widening the scope to also x86_64 Alpine Linux (musl).

UPDATE: See #1693

lomidrevo:~/src/lightning$ lightningd/test/run-params
Segmentation fault
$ strace lightningd/test/run-params
execve("lightningd/test/run-params", ["lightningd/test/run-params"], 0x7ffc47e60d20 /* 27 vars */) = 0
arch_prctl(ARCH_SET_FS, 0x7f749dd5db88) = 0
set_tid_address(0x7f749dd5dbc0)         = 8619
open("/etc/ld-musl-x86_64.path", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=71472, ...}) = 0
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0X(\0\0\0\0\0\0"..., 960) = 960
mmap(NULL, 2170880, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x7f749d8bb000
mmap(0x7f749dacb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x7f749dacb000
close(3)                                = 0
mprotect(0x7f749dacb000, 4096, PROT_READ) = 0
mprotect(0x7f749dd5a000, 4096, PROT_READ) = 0
mprotect(0x56424fecf000, 4096, PROT_READ) = 0
brk(NULL)                               = 0x564250a01000
brk(0x564250a04000)                     = 0x564250a04000
brk(0x564250a05000)                     = 0x564250a05000
brk(0x564250a06000)                     = 0x564250a06000
brk(0x564250a07000)                     = 0x564250a07000
brk(0x564250a08000)                     = 0x564250a08000
brk(0x564250a09000)                     = 0x564250a09000
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
rt_sigaction(SIGABRT, {sa_handler=0x56424fc63af9, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f749db13722}, NULL, 8) = 0
dup(2)                                  = 3
close(2)                                = 0
writev(2, [{iov_base="Assertion failed: compar(first -"..., iov_len=78}, {iov_base="check_distinct", iov_len=14}], 2) = -1 EBADF (Bad file descriptor)
writev(2, [{iov_base=NULL, iov_len=0}, {iov_base=NULL, iov_len=0}], 2) = -1 EBADF (Bad file descriptor)
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
gettid()                                = 8619
tkill(8619, SIGABRT)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=8619, si_uid=1000} ---
writev(2, [{iov_base="Assertion failed: compar(first -"..., iov_len=78}, {iov_base="check_distinct", iov_len=14}], 2) = -1 EBADF (Bad file descriptor)
writev(2, [{iov_base=NULL, iov_len=0}, {iov_base=NULL, iov_len=0}], 2) = -1 EBADF (Bad file descriptor)
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [ABRT], 8) = 0
gettid()                                = 8619
tkill(8619, SIGABRT)                    = 0
rt_sigprocmask(SIG_SETMASK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[], NULL, 8) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
+++ killed by SIGSEGV +++
Segmentation fault

@jsarenik jsarenik changed the title tests: run-params issue on aarch64 tests: run-params issue Jul 10, 2018
@jsarenik
Copy link
Collaborator Author

It does not happen on Ubuntu (glibc). Travis would notice...

@jsarenik
Copy link
Collaborator Author

@wythe See full log from Debian aarch64 on current master (14c6310)

linaro@linaro-developer:~/lightning-auto-test/lightning$ lightningd/test/run-params
Aborted

Note that this Debian is glibc-based.

@jsarenik
Copy link
Collaborator Author

And here is strace from Debian aarch64:

execve("lightningd/test/run-params", ["lightningd/test/run-params"], 0xffffe84dbfc0 /* 21 vars */) = 0
brk(NULL)                               = 0xaaaaf7fa7000
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=55765, ...}) = 0
mmap(NULL, 55765, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff8c899000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\257\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=694360, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8c87a000
mmap(NULL, 757880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8c7c0000
mprotect(0xffff8c869000, 61440, PROT_NONE) = 0
mmap(0xffff8c878000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa8000) = 0xffff8c878000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libgmp.so.10", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\240\301\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=463440, ...}) = 0
mmap(NULL, 527144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8c73f000
mprotect(0xffff8c7af000, 61440, PROT_NONE) = 0
mmap(0xffff8c7be000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6f000) = 0xffff8c7be000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libsqlite3.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\367\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=997008, ...}) = 0
mmap(NULL, 1062544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8c63b000
mprotect(0xffff8c729000, 65536, PROT_NONE) = 0
mmap(0xffff8c739000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xee000) = 0xffff8c739000
mmap(0xffff8c73e000, 1680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff8c73e000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0`$\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=117032, ...}) = 0
mmap(NULL, 180616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8c60e000
mprotect(0xffff8c62a000, 61440, PROT_NONE) = 0
mmap(0xffff8c639000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0xffff8c639000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 \10\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1349776, ...}) = 0
mmap(NULL, 1422168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8c4b2000
mprotect(0xffff8c5f5000, 61440, PROT_NONE) = 0
mmap(0xffff8c604000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x142000) = 0xffff8c604000
mmap(0xffff8c60a000, 13144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff8c60a000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\360\\\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=134688, ...}) = 0
mmap(NULL, 177104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8c486000
mprotect(0xffff8c49d000, 61440, PROT_NONE) = 0
mmap(0xffff8c4ac000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0xffff8c4ac000
mmap(0xffff8c4ae000, 13264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff8c4ae000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14480, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8c484000
mmap(NULL, 78080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff8c470000
mprotect(0xffff8c472000, 65536, PROT_NONE) = 0
mmap(0xffff8c482000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xffff8c482000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8c46e000
mprotect(0xffff8c604000, 16384, PROT_READ) = 0
mprotect(0xffff8c482000, 4096, PROT_READ) = 0
mprotect(0xffff8c4ac000, 4096, PROT_READ) = 0
mprotect(0xffff8c639000, 4096, PROT_READ) = 0
mprotect(0xffff8c878000, 4096, PROT_READ) = 0
mprotect(0xffff8c739000, 12288, PROT_READ) = 0
mprotect(0xffff8c7be000, 4096, PROT_READ) = 0
mprotect(0xaaaadff48000, 4096, PROT_READ) = 0
mprotect(0xffff8c8a9000, 4096, PROT_READ) = 0
munmap(0xffff8c899000, 55765)           = 0
set_tid_address(0xffff8c46e0e0)         = 3396
set_robust_list(0xffff8c46e0f0, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xffff8c48b768, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xffff8c48b838, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0xaaaaf7fa7000
brk(0xaaaaf7fc8000)                     = 0xaaaaf7fc8000
mmap(NULL, 187647121166336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
brk(0x15554f7fcb000)                    = 0xaaaaf7fc8000
mmap(NULL, 187647121297408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
getpid()                                = 3396
gettid()                                = 3396
tgkill(3396, 3396, SIGABRT)             = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=3396, si_uid=1000} ---
+++ killed by SIGABRT +++

@jsarenik
Copy link
Collaborator Author

And yet another from Alpine running in chroot on that Debian aarch64 box:

linaro-developer:~/lightning-auto-test/lightning$ ./lightningd/test/run-params
Aborted
linaro-developer:~/lightning-auto-test/lightning$ strace ./lightningd/test/run-params
execve("./lightningd/test/run-params", ["./lightningd/test/run-params"], 0xffffed908e40 /* 12 vars */) = 0
set_tid_address(0xffff8e5839c0)         = 15123
mprotect(0xaaaad05fb000, 4096, PROT_READ) = 0
brk(NULL)                               = 0xaaaaed24a000
brk(0xaaaaed24d000)                     = 0xaaaaed24d000
brk(0xaaaaed24e000)                     = 0xaaaaed24e000
brk(0xaaaaed24f000)                     = 0xaaaaed24f000
brk(0xaaaaed250000)                     = 0xaaaaed250000
brk(0xaaaaed251000)                     = 0xaaaaed251000
brk(0xaaaaed252000)                     = 0xaaaaed252000
mmap(NULL, 281470681747456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Out of memory)
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0
gettid()                                = 15123
tkill(15123, SIGABRT)                   = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=15123, si_uid=10000} ---
+++ killed by SIGABRT +++
Aborted

wythe added a commit to wythe/lightning that referenced this issue Jul 11, 2018
Fixes ElementsProject#1668

Reported-by: @jsarenik

Signed-off-by: Mark Beckwith <wythe@intrig.com>
@jsarenik
Copy link
Collaborator Author

jsarenik commented Jul 12, 2018

@wythe thanks for wythe@49e3a45 on https://github.com/wythe/lightning/tree/fix-param-arg-size.

It fixes the original issue (ending with SIGABRT).

Now, there is still an outstanding issue with Segmentation fault on musl (both aarm64 and x86_64, I have not tested more). I will do a separate issue for this, with easy steps on how to reproduce on any x86_64 Linux by setting up a small Alpine Linux chroot.

UPDATE: see #1693

@jsarenik
Copy link
Collaborator Author

jsarenik commented Jul 12, 2018

Reopening because of #1684 (comment) (as far as I understood it's failing on 32-bit architecture).

UPDATE: No, it's not failing, see #1684 (comment)

@jsarenik jsarenik reopened this Jul 12, 2018
rustyrussell pushed a commit that referenced this issue Jul 13, 2018
Fixes #1668

Reported-by: @jsarenik

Signed-off-by: Mark Beckwith <wythe@intrig.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants