You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR keeps make lind-boot as the default release build and adds a new make lind-boot-debug target for building lind-boot in debug mode.
While testing the debug build, a Rust debug overflow panic was exposed in GOT memory relocation. This PR also makes that relocation use wrapping_add, preserving the existing release-build wrapping behavior explicitly.
Changes
Keep make lind-boot as the release build target
Add make lind-boot-debug for debug builds
Use wrapping_add for GOT memory relocation to avoid debug-build overflow panic
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS
STDERR:
concurrent-request/race-test_grate.c
Failure
Runtime_Failure
Exit code: -6
STDOUT:
STDERR:
thread 'lind-fork-3' (151) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f5d93f9856c
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
concurrent-request/thread_race_grate.c
Failure
Runtime_Failure
Exit code: -6
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
STDERR:
thread 'lind-fork-2' (202) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f5987f9856c
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
copy-data-between-cages/cp-stncpy_grate.c
Success
STDOUT:
[cage] pathname addr=0xfffb6ff9
[cage] pathname='random'
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
copy-data-between-cages/cpdata_grate.c
Success
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
interposing-calls/fork-with-newret_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Cage] Forked process with PID: 10
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-exec_grate.c
Success
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS
STDERR:
interposing-calls/interpose-exit_grate.c
Success
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...
[Grate|interpose-exit] PASS
STDERR:
interposing-calls/interpose-fork_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-mmap_grate.c
Success
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS
STDERR:
interposing-calls/interpose-register_grate.c
Success
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS
STDERR:
multi-register_grate.c
Success
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS
STDERR:
simple-tests/diff-cage-args_grate.c
Success
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS
STDERR:
simple-tests/geteuid_grate.c
Success
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS
STDERR:
static harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
3
Number of Successes
3
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Static Tests
fork_simple.c
Success
None
0.053755s
35.603638s
Success
thread.c
Success
None
0.046481s
36.066616s
Success
tls_test.c
Success
None
0.066554s
36.295082s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
0
Number of Successes
0
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
wasm harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
211
Number of Successes
192
Number of Failures
19
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
19
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
File Tests
chartests.c
Success
None
0.047555s
0.373318s
Success
chdir_getcwd.c
Success
None
0.049701s
0.273809s
Success
chmod.c
Success
None
0.053197s
0.301417s
Success
clock_gettime_highlevel.c
Success
None
0.118337s
0.301595s
Success
clock_gettime_simple.c
Success
None
0.042517s
0.243897s
Success
cloexec.c
Success
None
0.052499s
0.348912s
Success
close.c
Success
None
0.059971s
0.355278s
Success
creat_access.c
Success
None
0.050791s
0.268578s
Success
doubleclose.c
Success
None
0.043372s
0.225062s
Success
dup.c
Success
None
0.044572s
0.296720s
Success
dup2.c
Success
None
0.049484s
0.264434s
Success
dup3.c
Success
None
0.047591s
0.269280s
Success
dupwrite.c
Success
None
0.051075s
0.259656s
Success
etc_conf.c
Success
None
0.046439s
0.282686s
Success
fchdir.c
Success
None
0.053883s
0.296800s
Success
fchmod.c
Success
None
0.053693s
0.305790s
Success
fcntl.c
Success
None
0.051199s
0.334851s
Success
fdatasync.c
Success
None
0.051717s
0.254730s
Success
filetest.c
Success
None
0.050899s
0.244503s
Success
filetest1000.c
Success
None
0.058916s
0.296539s
Success
flock.c
Success
None
0.057184s
0.399027s
Success
fstat.c
Success
None
0.052840s
0.313908s
Success
fstatfs.c
Success
None
0.044849s
0.252502s
Success
fsync.c
Success
None
0.051837s
0.251952s
Success
ftruncate.c
Success
None
0.055181s
0.683315s
Success
getcwd.c
Success
None
0.048431s
0.241670s
Success
getcwd_null.c
Success
None
0.051155s
0.272500s
Success
getpgid.c
Success
None
0.044581s
0.229786s
Success
getrandom.c
Success
None
0.050310s
0.301221s
Success
ioctl.c
Success
None
0.052534s
0.283672s
Success
link.c
Success
None
0.054223s
0.421977s
Success
locale_test.c
Success
None
0.065750s
1.185008s
Success
lseek.c
Success
None
0.056378s
0.556274s
Success
lstat.c
Success
None
0.054742s
0.337300s
Success
mkdir_rmdir.c
Success
None
0.052936s
0.278847s
Success
mkfifo_test.c
Success
None
0.058144s
0.416134s
Success
mknod.c
Success
None
0.050684s
0.302242s
Success
nocancel_io.c
Success
None
0.053827s
0.346834s
Success
open.c
Success
None
0.044635s
0.233991s
Success
openat.c
Success
None
0.045261s
0.267143s
Success
path_conversion_safety.c
Success
None
0.054249s
0.333117s
Success
ppoll.c
Success
None
0.054292s
0.282422s
Success
pread_pwrite.c
Success
None
0.048395s
0.292859s
Success
preadv_pwritev.c
Success
None
0.053811s
0.312323s
Success
printf.c
Success
None
0.042972s
0.219925s
Success
prlimit64.c
Success
None
0.043826s
0.239916s
Success
read.c
Success
None
0.051934s
0.294794s
Success
readbytes.c
Success
None
0.048009s
0.252244s
Success
readdir_basic.c
Success
None
0.054495s
0.379227s
Success
readlink.c
Success
None
0.050669s
0.291185s
Success
readlinkat.c
Success
None
0.052472s
0.299643s
Success
readv_writev_test.c
Success
None
0.054316s
0.295950s
Success
rename.c
Success
None
0.053312s
0.264678s
Success
sc-writev.c
Success
None
0.048325s
0.267194s
Success
stat.c
Success
None
0.052302s
0.310266s
Success
symlink.c
Success
None
0.054760s
0.391366s
Success
sync_file_range.c
Success
None
0.049240s
0.256049s
Success
timespec_time_t_compat.c
Success
None
0.048893s
0.245171s
Success
truncate.c
Success
None
0.051822s
0.355549s
Success
unlink.c
Success
None
0.054025s
0.405014s
Success
unlinkat.c
Success
None
0.055818s
0.343544s
Success
write.c
Success
None
0.045193s
0.226795s
Success
writeloop.c
Success
None
0.054143s
0.262026s
Success
writepartial.c
Success
None
0.052416s
0.236840s
Success
writev.c
Success
None
0.052905s
0.283366s
Success
Math Tests
math_link_smoke.c
Success
None
0.055174s
0.234005s
Success
math_tests.c
Success
None
0.060563s
0.379479s
Success
printf_float.c
Success
None
0.055561s
0.331943s
Success
Memory Tests
brk.c
Success
None
0.055652s
0.270560s
Success
fork_large_memory.c
Success
None
0.083330s
1.357500s
Success
malloc.c
Success
None
0.047079s
0.221634s
Success
malloc_large.c
Success
None
0.047549s
0.219670s
Success
memcpy.c
Success
None
0.048188s
0.249632s
Success
memory_error_test.c
Success
None
0.054518s
0.331159s
Success
mmap.c
Success
None
0.047062s
0.242508s
Success
mmap_aligned.c
Success
None
0.047889s
0.287321s
Success
mmap_complicated.c
Success
None
0.051561s
0.316904s
Success
mmap_file.c
Success
None
0.054044s
0.284509s
Success
mmap_shared.c
Success
None
0.050943s
0.305665s
Success
mmaptest.c
Success
None
0.048169s
0.265138s
Success
mprotect.c
Success
None
0.045071s
0.241280s
Success
mprotect_boundary.c
Success
None
0.046336s
0.274014s
Success
mprotect_end_region.c
Success
None
0.044839s
0.259216s
Success
mprotect_middle_region.c
Success
None
0.046379s
0.258824s
Success
mprotect_multiple_times.c
Success
None
0.047224s
0.275615s
Success
mprotect_same_value.c
Success
None
0.046924s
0.257532s
Success
mprotect_spanning_regions.c
Success
None
0.047709s
0.313224s
Success
munmap_adjacent_shm.c
Failure
Unknown_Failure
0.050176s
0.434984s
PASS: shm intact after unaligned munmap
thread 'main' (8146) panicked at /src/wasmtime/crates/typemap/src/datatype_conversion.rs:710:17:
null pointer dereference occurred
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
sbrk.c
Success
None
0.047985s
0.247499s
Success
segfault.c
Success
None
0.053677s
0.358597s
Success
shm.c
Failure
Unknown_Failure
0.052713s
0.649149s
thread 'main' (7914) panicked at /src/wasmtime/crates/typemap/src/datatype_conversion.rs:710:17:
null pointer dereference occurred
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
shmtest.c
Failure
Unknown_Failure
0.044988s
0.382997s
thread 'main' (8395) panicked at /src/wasmtime/crates/typemap/src/datatype_conversion.rs:710:17:
null pointer dereference occurred
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread_malloc_sequential.c
Failure
Unknown_Failure
0.054317s
0.479027s
thread 'main' (7748) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f1c1279856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
vtable.c
Success
None
0.058392s
0.276014s
Success
Networking Tests
accept4.c
Success
None
0.057030s
0.322164s
Success
dns_resolve_test.c
Success
None
0.051339s
0.271000s
Success
dnstest.c
Success
None
0.052305s
0.265202s
Success
epoll_badfd.c
Success
None
0.047004s
0.246861s
Success
epoll_edge_triggered.c
Success
None
0.210577s
0.903003s
Success
epollcreate1.c
Success
None
0.054086s
0.325059s
Success
error_handling_net.c
Success
None
0.060106s
0.539405s
Success
getaddrinfo_test.c
Success
None
0.055624s
0.388360s
Success
getaddrinfo_unspec.c
Success
None
0.057931s
0.268784s
Success
gethostname.c
Success
None
0.045951s
0.227956s
Success
getifaddrs.c
Success
None
0.055716s
0.295350s
Success
getsockname.c
Success
None
0.057551s
0.269794s
Success
getsockopt.c
Success
None
0.057981s
0.421798s
Success
ipv6_basic.c
Success
None
0.058173s
0.414667s
Success
makepipe.c
Success
None
0.045781s
0.223148s
Success
nonblocking_eagain.c
Success
None
0.056235s
0.439178s
Success
pipe.c
Success
None
0.055236s
0.292856s
Success
pipe2.c
Success
None
0.055084s
0.269625s
Success
pipeinput.c
Success
None
0.054995s
0.361976s
Success
pipeinput2.c
Success
None
0.056764s
0.374074s
Success
pipeonestring.c
Success
None
0.055603s
0.361032s
Success
pipepong.c
Success
None
0.063787s
0.414727s
Success
pipewrite.c
Success
None
0.049311s
0.269236s
Success
poll.c
Success
None
0.052158s
0.249516s
Success
recvfrom-sendto.c
Success
None
0.054835s
0.309618s
Success
sendmsg_recvmsg_test.c
Success
None
0.054266s
0.309766s
Success
serverclient.c
Success
None
0.052920s
0.318119s
Success
shutdown.c
Success
None
0.054277s
0.297551s
Success
shutdown_fork.c
Success
None
0.053390s
0.319258s
Success
simple-select.c
Success
None
0.055282s
0.359030s
Success
simple_epoll.c
Success
None
0.051969s
0.288441s
Success
socket.c
Success
None
0.050928s
0.264529s
Success
socket_cloexec.c
Success
None
0.052399s
0.259955s
Success
socket_options_advanced.c
Success
None
0.058551s
0.463041s
Success
socketepoll.c
Success
None
0.051379s
0.262172s
Success
socketpair.c
Success
None
0.051659s
0.310352s
Success
socketselect.c
Success
None
0.053115s
0.286465s
Success
udp_send_recv.c
Success
None
0.159261s
0.535281s
Success
uds-getsockname.c
Success
None
0.051844s
0.259399s
Success
uds-nb-select.c
Failure
Unknown_Failure
2.061367s
0.624220s
thread 'main' (4335) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f923ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
uds-serverclient.c
Success
None
0.056359s
0.376362s
Success
uds-socketselect.c
Success
None
0.052528s
0.290188s
Success
writev_socket.c
Success
None
0.056131s
0.402364s
Success
Process Tests
barrier_test.c
Failure
Unknown_Failure
0.050589s
0.406633s
thread 'main' (1468) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f9f1ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
chain_thread.c
Failure
Unknown_Failure
1.064339s
0.417477s
thread 'main' (2237) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f8bdbf9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
ctor_syscall_test.c
Success
None
0.044455s
0.250214s
Success
cxa_atexit_test.c
Success
None
0.048437s
0.255628s
Success
exec_non_utf8.c
Success
None
0.050705s
0.257562s
Success
execve_shebang.c
Success
None
0.055406s
0.269690s
Success
exit.c
Success
None
0.050017s
0.234249s
Success
exit_failure.c
Success
None
0.074613s
0.383665s
Success
exit_group_thread.c
Failure
Unknown_Failure
0.052766s
0.580978s
thread 'lind-fork-2' (1771) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fb47bd9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
flockfile_test.c
Failure
Unknown_Failure
0.076439s
0.624428s
thread 'main' (2702) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fbb63f9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
fork2malloc.c
Success
None
0.053029s
0.300190s
Success
fork_select.c
Success
None
0.051528s
0.332787s
Success
fork_simple.c
Success
None
0.062149s
0.316006s
Success
fork_syscall.c
Success
None
0.083082s
2.139087s
Success
fork_tls_ctype.c
Success
None
0.055887s
0.385630s
Success
forkandopen.c
Success
None
0.053858s
0.332975s
Success
forkdup.c
Success
None
0.061583s
0.336154s
Success
forkexecuid.c
Success
None
0.054232s
0.406257s
Success
forkexecv-arg.c
Success
None
0.051662s
0.375722s
Success
forkexecv.c
Success
None
0.050244s
0.359762s
Success
forkfiles.c
Success
None
0.054375s
0.356882s
Success
forkmalloc.c
Success
None
0.053534s
0.286163s
Success
forknodup.c
Success
None
0.055695s
0.338910s
Success
function-ptr.c
Success
None
0.047236s
0.232922s
Success
getegid_syscall.c
Success
None
0.053095s
1.256649s
Success
getgid_syscall.c
Success
None
0.053804s
1.416021s
Success
getpid.c
Success
None
0.044817s
0.232055s
Success
getpid_syscall.c
Success
None
0.057126s
1.327941s
Success
getppid.c
Success
None
0.052444s
0.283720s
Success
getppid_syscall.c
Success
None
0.055909s
0.913609s
Success
getuid.c
Success
None
0.056591s
0.264003s
Success
getuid_syscall.c
Success
None
0.061274s
0.638586s
Success
hello-arg.c
Success
None
0.046682s
0.272009s
Success
hello.c
Success
None
0.042366s
0.222996s
Success
longjmp.c
Success
None
0.044581s
0.257839s
Success
mutex.c
Failure
Unknown_Failure
2.075329s
0.413889s
thread 'main' (2454) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f4782b9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
printf_deadlock_smoke.c
Failure
Unknown_Failure
0.064618s
0.536257s
thread 'main' (2822) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7ff9e7f9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
printf_thread_test.c
Failure
Unknown_Failure
0.052105s
0.469650s
thread 'main' (2598) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fcf3ab9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
sem_forks.c
Success
None
0.055266s
0.418801s
Success
setsid.c
Success
None
0.046653s
0.236081s
Success
template.c
Success
None
0.056566s
0.431574s
Success
test_exec_nofork.c
Success
None
0.072892s
0.487476s
Success
test_unlink_open_file.c
Success
None
0.048509s
0.237607s
Success
thread-guard.c
Failure
Unknown_Failure
0.050513s
0.422575s
thread 'main' (2667) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f2ffff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread-test.c
Failure
Unknown_Failure
0.047473s
0.389174s
thread 'main' (2420) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f750ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread.c
Failure
Unknown_Failure
0.048339s
0.394908s
thread 'main' (2318) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fba0eb9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
thread_cageid_race.c
Failure
Unknown_Failure
0.048101s
0.461350s
thread 'main' (1069) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7ff61ff9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
tls_test.c
Failure
Unknown_Failure
0.051087s
0.418738s
thread 'main' (2058) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7fda83f9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
uname.c
Success
None
0.044801s
0.229952s
Success
wait.c
Success
None
0.050662s
0.345081s
Success
waitpid_anychild.c
Success
None
0.052716s
0.295707s
Success
waitpid_syscall.c
Success
None
1.052163s
1.521683s
Success
waitpid_wnohang.c
Success
None
0.065878s
0.311538s
Success
Signal Tests
alarm.c
Success
None
7.068159s
7.300505s
Success
eintr_fork_signal.c
Success
None
1.053645s
1.324230s
Success
kill.c
Success
None
1.052531s
1.302632s
Success
setitimer.c
Success
None
7.051842s
7.292978s
Success
sigalrm.c
Success
None
2.051563s
2.292065s
Success
sigaltstack.c
Success
None
0.053547s
0.285561s
Success
sigchld.c
Success
None
1.054361s
1.293620s
Success
signal-fork.c
Success
None
4.053581s
4.289724s
Success
signal-simple.c
Success
None
0.052008s
0.258757s
Success
signal_SIGCHLD.c
Success
None
0.051463s
0.313469s
Success
signal_fork.c
Success
None
0.049531s
0.323651s
Success
signal_int_ignored.c
Success
None
2.052091s
2.297693s
Success
signal_kill_cleanup.c
Success
None
1.051087s
1.293262s
Success
signal_procmask.c
Success
None
0.047755s
0.274436s
Success
signal_read_interrupt.c
Failure
Unknown_Failure
0.556602s
0.429939s
thread 'main' (6923) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f9f43b9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
signal_recursive.c
Success
None
0.047399s
0.294304s
Success
signal_sa_mask.c
Success
None
0.047068s
0.266231s
Success
signal_select_interrupt.c
Failure
Unknown_Failure
0.565194s
0.456164s
thread 'main' (6957) panicked at /src/wasmtime/crates/lind-multi-process/src/lib.rs:995:17:
misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f873ab9856c
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread caused non-unwinding panic. aborting.
signal_write_interrupt.c
Success
None
1.054134s
1.300978s
Success
sigpipe.c
Success
None
1.054111s
1.338478s
Success
sigprocmask.c
Success
None
1.051481s
1.292100s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
4
Number of Successes
4
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
Thanks, that makes sense. I’ll keep make lind-boot as the default release build and update the PR to add a separate make lind-boot-debug target for debug builds.
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS
STDERR:
concurrent-request/race-test_grate.c
Success
STDOUT:
pass
STDERR:
concurrent-request/thread_race_grate.c
Success
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS
STDERR:
copy-data-between-cages/cp-stncpy_grate.c
Success
STDOUT:
[cage] pathname addr=0xfffb6ff9
[cage] pathname='random'
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
copy-data-between-cages/cpdata_grate.c
Success
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
interposing-calls/fork-with-newret_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Cage] Forked process with PID: 10
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-exec_grate.c
Success
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS
STDERR:
interposing-calls/interpose-exit_grate.c
Success
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...
[Grate|interpose-exit] PASS
STDERR:
interposing-calls/interpose-fork_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-mmap_grate.c
Success
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS
STDERR:
interposing-calls/interpose-register_grate.c
Success
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS
STDERR:
multi-register_grate.c
Success
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS
STDERR:
simple-tests/diff-cage-args_grate.c
Success
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS
STDERR:
simple-tests/geteuid_grate.c
Success
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS
STDERR:
static harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
3
Number of Successes
3
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Static Tests
fork_simple.c
Success
None
0.053915s
4.345378s
Success
thread.c
Success
None
0.045729s
4.430538s
Success
tls_test.c
Success
None
0.056279s
4.399102s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
0
Number of Successes
0
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
wasm harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
213
Number of Successes
213
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
File Tests
chartests.c
Success
None
0.046546s
0.138214s
Success
chdir_getcwd.c
Success
None
0.047895s
0.111097s
Success
chmod.c
Success
None
0.053235s
0.119202s
Success
clock_gettime_highlevel.c
Success
None
0.119685s
0.155803s
Success
clock_gettime_simple.c
Success
None
0.040546s
0.093914s
Success
cloexec.c
Success
None
0.051623s
0.122829s
Success
close.c
Success
None
0.058248s
0.127177s
Success
creat_access.c
Success
None
0.051046s
0.109355s
Success
doubleclose.c
Success
None
0.041912s
0.089427s
Success
dup.c
Success
None
0.043588s
0.107749s
Success
dup2.c
Success
None
0.048063s
0.105380s
Success
dup3.c
Success
None
0.046114s
0.105840s
Success
dupwrite.c
Success
None
0.051424s
0.105449s
Success
etc_conf.c
Success
None
0.043884s
0.107530s
Success
fchdir.c
Success
None
0.053773s
0.124021s
Success
fchmod.c
Success
None
0.052506s
0.114435s
Success
fcntl.c
Success
None
0.049232s
0.122887s
Success
fdatasync.c
Success
None
0.048901s
0.103749s
Success
filetest.c
Success
None
0.050873s
0.104155s
Success
filetest1000.c
Success
None
0.056609s
0.118231s
Success
flock.c
Success
None
0.062501s
0.142268s
Success
fstat.c
Success
None
0.052247s
0.118650s
Success
fstatfs.c
Success
None
0.044326s
0.101541s
Success
fsync.c
Success
None
0.049475s
0.105220s
Success
ftruncate.c
Success
None
0.053547s
0.204335s
Success
getcwd.c
Success
None
0.045992s
0.096959s
Success
getcwd_null.c
Success
None
0.050645s
0.114741s
Success
getpgid.c
Success
None
0.043593s
0.094690s
Success
getrandom.c
Success
None
0.049304s
0.118547s
Success
ioctl.c
Success
None
0.052721s
0.113643s
Success
link.c
Success
None
0.053137s
0.159504s
Success
locale_test.c
Success
None
0.064679s
0.310063s
Success
lseek.c
Success
None
0.055114s
0.183844s
Success
lstat.c
Success
None
0.052541s
0.125148s
Success
mkdir_rmdir.c
Success
None
0.050433s
0.108248s
Success
mkfifo_test.c
Success
None
0.055330s
0.147987s
Success
mknod.c
Success
None
0.048501s
0.114323s
Success
nocancel_io.c
Success
None
0.053882s
0.132795s
Success
open.c
Success
None
0.044712s
0.096837s
Success
openat.c
Success
None
0.047071s
0.107797s
Success
path_conversion_safety.c
Success
None
0.053613s
0.128006s
Success
ppoll.c
Success
None
0.054215s
0.118340s
Success
pread_pwrite.c
Success
None
0.047259s
0.111493s
Success
preadv_pwritev.c
Success
None
0.053039s
0.124132s
Success
printf.c
Success
None
0.042159s
0.091101s
Success
prlimit64.c
Success
None
0.043192s
0.098225s
Success
read.c
Success
None
0.051981s
0.119691s
Success
readbytes.c
Success
None
0.046111s
0.100080s
Success
readdir_basic.c
Success
None
0.053175s
0.137222s
Success
readlink.c
Success
None
0.049690s
0.112650s
Success
readlinkat.c
Success
None
0.052458s
0.120736s
Success
readv_writev_test.c
Success
None
0.052086s
0.119320s
Success
rename.c
Success
None
0.052478s
0.111653s
Success
sc-writev.c
Success
None
0.049554s
0.108399s
Success
stat.c
Success
None
0.049628s
0.115758s
Success
statfs.c
Success
None
0.043743s
0.097909s
Success
symlink.c
Success
None
0.052776s
0.139039s
Success
sync_file_range.c
Success
None
0.048532s
0.103245s
Success
timespec_time_t_compat.c
Success
None
0.047843s
0.102373s
Success
truncate.c
Success
None
0.052422s
0.126777s
Success
unlink.c
Success
None
0.053895s
0.144431s
Success
unlinkat.c
Success
None
0.052406s
0.127816s
Success
write.c
Success
None
0.044559s
0.091398s
Success
writeloop.c
Success
None
0.052852s
0.108665s
Success
writepartial.c
Success
None
0.050941s
0.101767s
Success
writev.c
Success
None
0.051846s
0.115496s
Success
Math Tests
math_link_smoke.c
Success
None
0.053653s
0.099073s
Success
math_tests.c
Success
None
0.057587s
0.128636s
Success
printf_float.c
Success
None
0.055794s
0.125462s
Success
Memory Tests
brk.c
Success
None
0.048082s
0.104779s
Success
fork_large_memory.c
Success
None
0.079330s
0.365996s
Success
malloc.c
Success
None
0.046979s
0.093828s
Success
malloc_large.c
Success
None
0.047067s
0.095544s
Success
memcpy.c
Success
None
0.044936s
0.095635s
Success
memory_error_test.c
Success
None
0.051839s
0.126519s
Success
mmap.c
Success
None
0.042968s
0.094459s
Success
mmap_aligned.c
Success
None
0.044993s
0.109237s
Success
mmap_complicated.c
Success
None
0.051478s
0.119240s
Success
mmap_file.c
Success
None
0.051267s
0.110951s
Success
mmap_shared.c
Success
None
0.049717s
0.115109s
Success
mmaptest.c
Success
None
0.046425s
0.101004s
Success
mprotect.c
Success
None
0.044543s
0.097457s
Success
mprotect_boundary.c
Success
None
0.043922s
0.107572s
Success
mprotect_end_region.c
Success
None
0.044214s
0.101725s
Success
mprotect_middle_region.c
Success
None
0.043884s
0.101887s
Success
mprotect_multiple_times.c
Success
None
0.044080s
0.102699s
Success
mprotect_same_value.c
Success
None
0.043177s
0.098349s
Success
mprotect_spanning_regions.c
Success
None
0.045910s
0.118510s
Success
munmap_adjacent_shm.c
Success
None
0.046979s
0.117235s
Success
sbrk.c
Success
None
0.047184s
0.098852s
Success
segfault.c
Success
None
0.052733s
0.131356s
Success
shm.c
Success
None
0.050442s
0.122214s
Success
shmtest.c
Success
None
0.044099s
0.102209s
Success
thread_malloc_sequential.c
Success
None
0.052982s
0.149764s
Success
vtable.c
Success
None
0.055814s
0.115518s
Success
Networking Tests
accept4.c
Success
None
0.055031s
0.125298s
Success
dns_resolve_test.c
Success
None
0.050087s
0.108904s
Success
dnstest.c
Success
None
0.052814s
0.110269s
Success
epoll_badfd.c
Success
None
0.044794s
0.096994s
Success
epoll_edge_triggered.c
Success
None
0.207105s
0.371954s
Success
epollcreate1.c
Success
None
0.052133s
0.120360s
Success
error_handling_net.c
Success
None
0.058159s
0.181377s
Success
getaddrinfo_test.c
Success
None
0.054065s
0.145507s
Success
getaddrinfo_unspec.c
Success
None
0.050399s
0.120908s
Success
gethostname.c
Success
None
0.045095s
0.097503s
Success
getifaddrs.c
Success
None
0.051712s
0.112119s
Success
getsockname.c
Success
None
0.057281s
0.112654s
Success
getsockopt.c
Success
None
0.054826s
0.147906s
Success
ipv6_basic.c
Success
None
0.054645s
0.146387s
Success
makepipe.c
Success
None
0.044730s
0.094817s
Success
nonblocking_eagain.c
Success
None
0.056178s
0.157384s
Success
pipe.c
Success
None
0.053547s
0.119478s
Success
pipe2.c
Success
None
0.052739s
0.111586s
Success
pipeinput.c
Success
None
0.054042s
0.134392s
Success
pipeinput2.c
Success
None
0.055111s
0.138652s
Success
pipeonestring.c
Success
None
0.053779s
0.134417s
Success
pipepong.c
Success
None
0.052157s
0.138409s
Success
pipewrite.c
Success
None
0.046651s
0.108808s
Success
poll.c
Success
None
0.052339s
0.103510s
Success
recvfrom-sendto.c
Success
None
0.053592s
0.118828s
Success
sendmsg_recvmsg_test.c
Success
None
0.051671s
0.119848s
Success
serverclient.c
Success
None
0.051668s
0.124103s
Success
shutdown.c
Success
None
0.052592s
0.118336s
Success
shutdown_fork.c
Success
None
0.052069s
0.121882s
Success
simple-select.c
Success
None
0.053531s
0.132862s
Success
simple_epoll.c
Success
None
0.052614s
0.115457s
Success
socket.c
Success
None
0.050501s
0.106716s
Success
socket_cloexec.c
Success
None
0.049503s
0.102966s
Success
socket_options_advanced.c
Success
None
0.057409s
0.166029s
Success
socketepoll.c
Success
None
0.048805s
0.105487s
Success
socketpair.c
Success
None
0.048756s
0.116485s
Success
socketselect.c
Success
None
0.050022s
0.113674s
Success
udp_send_recv.c
Success
None
0.159261s
0.261279s
Success
uds-getsockname.c
Success
None
0.051200s
0.108149s
Success
uds-nb-select.c
Success
None
2.060438s
2.172791s
Success
uds-serverclient.c
Success
None
0.055386s
0.142948s
Success
uds-socketselect.c
Success
None
0.051664s
0.117316s
Success
uds_listen_poll.c
Success
None
1.058250s
1.150335s
Success
writev_socket.c
Success
None
0.054709s
0.146873s
Success
Process Tests
barrier_test.c
Success
None
0.050351s
0.112341s
Success
chain_thread.c
Success
None
1.052497s
1.122168s
Success
ctor_syscall_test.c
Success
None
0.041917s
0.094915s
Success
cxa_atexit_test.c
Success
None
0.048297s
0.101372s
Success
exec_non_utf8.c
Success
None
0.049914s
0.107178s
Success
execve_shebang.c
Success
None
0.052096s
0.110438s
Success
exit.c
Success
None
0.049544s
0.099566s
Success
exit_failure.c
Success
None
0.050358s
0.112810s
Success
exit_group_thread.c
Success
None
0.054870s
0.125448s
Success
flockfile_test.c
Success
None
0.050125s
0.122457s
Success
fork2malloc.c
Success
None
0.052860s
0.117090s
Success
fork_select.c
Success
None
0.050853s
0.123815s
Success
fork_simple.c
Success
None
0.048312s
0.108878s
Success
fork_syscall.c
Success
None
0.054250s
0.332836s
Success
fork_tls_ctype.c
Success
None
0.053203s
0.137559s
Success
forkandopen.c
Success
None
0.053331s
0.130155s
Success
forkdup.c
Success
None
0.054794s
0.121204s
Success
forkexecuid.c
Success
None
0.050227s
0.127018s
Success
forkexecv-arg.c
Success
None
0.049806s
0.116388s
Success
forkexecv.c
Success
None
0.049616s
0.113256s
Success
forkfiles.c
Success
None
0.051642s
0.120768s
Success
forkmalloc.c
Success
None
0.052230s
0.114297s
Success
forknodup.c
Success
None
0.053154s
0.126467s
Success
function-ptr.c
Success
None
0.045563s
0.097514s
Success
getegid_syscall.c
Success
None
0.052085s
0.256697s
Success
getgid_syscall.c
Success
None
0.052514s
0.271377s
Success
getpid.c
Success
None
0.043960s
0.094288s
Success
getpid_syscall.c
Success
None
0.053224s
0.273927s
Success
getppid.c
Success
None
0.051706s
0.115987s
Success
getppid_syscall.c
Success
None
0.055502s
0.237206s
Success
getuid.c
Success
None
0.051327s
0.103889s
Success
getuid_syscall.c
Success
None
0.049164s
0.167923s
Success
hello-arg.c
Success
None
0.042246s
0.096829s
Success
hello.c
Success
None
0.042398s
0.091556s
Success
longjmp.c
Success
None
0.042593s
0.100037s
Success
mutex.c
Success
None
2.053982s
2.116596s
Success
printf_deadlock_smoke.c
Success
None
0.059708s
0.144245s
Success
printf_thread_test.c
Success
None
0.049017s
0.119062s
Success
sem_forks.c
Success
None
0.054807s
0.133548s
Success
setsid.c
Success
None
0.043713s
0.093889s
Success
template.c
Success
None
0.050377s
0.136781s
Success
test_exec_nofork.c
Success
None
0.049525s
0.112766s
Success
test_unlink_open_file.c
Success
None
0.046040s
0.097625s
Success
thread-guard.c
Success
None
0.048325s
0.112094s
Success
thread-test.c
Success
None
0.046696s
0.104856s
Success
thread.c
Success
None
0.046216s
0.104703s
Success
thread_cageid_race.c
Success
None
0.046753s
0.156760s
Success
tls_test.c
Success
None
0.048500s
0.120655s
Success
uname.c
Success
None
0.045190s
0.095243s
Success
wait.c
Success
None
0.047356s
0.116882s
Success
waitpid_anychild.c
Success
None
0.051126s
0.116686s
Success
waitpid_syscall.c
Success
None
1.051642s
1.164391s
Success
waitpid_wnohang.c
Success
None
0.051297s
0.118899s
Success
Signal Tests
alarm.c
Success
None
7.050724s
7.134002s
Success
eintr_fork_signal.c
Success
None
1.052864s
1.132430s
Success
kill.c
Success
None
1.051990s
1.118231s
Success
setitimer.c
Success
None
7.051489s
7.142023s
Success
sigalrm.c
Success
None
2.051878s
2.123273s
Success
sigaltstack.c
Success
None
0.052855s
0.118334s
Success
sigchld.c
Success
None
1.053216s
1.115958s
Success
signal-fork.c
Success
None
4.052680s
4.116740s
Success
signal-simple.c
Success
None
0.052169s
0.107806s
Success
signal_SIGCHLD.c
Success
None
0.049609s
0.123439s
Success
signal_fork.c
Success
None
0.047884s
0.120220s
Success
signal_int_ignored.c
Success
None
2.051715s
2.116769s
Success
signal_kill_cleanup.c
Success
None
1.049198s
1.118068s
Success
signal_procmask.c
Success
None
0.046270s
0.107447s
Success
signal_read_interrupt.c
Success
None
0.554866s
0.628432s
Success
signal_recursive.c
Success
None
0.046808s
0.110394s
Success
signal_sa_mask.c
Success
None
0.045272s
0.102579s
Success
signal_select_interrupt.c
Success
None
0.555951s
0.628492s
Success
signal_write_interrupt.c
Success
None
1.054444s
1.126351s
Success
sigpipe.c
Success
None
1.053995s
1.127971s
Success
sigprocmask.c
Success
None
1.050801s
1.112972s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
4
Number of Successes
4
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS
STDERR:
concurrent-request/race-test_grate.c
Success
STDOUT:
pass
STDERR:
concurrent-request/thread_race_grate.c
Success
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS
STDERR:
copy-data-between-cages/cp-stncpy_grate.c
Success
STDOUT:
[cage] pathname addr=0xfffb6ff9
[cage] pathname='random'
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
copy-data-between-cages/cpdata_grate.c
Success
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
interposing-calls/fork-with-newret_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Cage] Forked process with PID: 10
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-exec_grate.c
Success
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS
STDERR:
interposing-calls/interpose-exit_grate.c
Success
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...
[Grate|interpose-exit] PASS
STDERR:
interposing-calls/interpose-fork_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-mmap_grate.c
Success
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS
STDERR:
interposing-calls/interpose-register_grate.c
Success
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS
STDERR:
multi-register_grate.c
Success
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS
STDERR:
simple-tests/diff-cage-args_grate.c
Success
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS
STDERR:
simple-tests/geteuid_grate.c
Success
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS
STDERR:
static harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
3
Number of Successes
3
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Static Tests
fork_simple.c
Success
None
0.053370s
5.139421s
Success
thread.c
Success
None
0.046008s
5.229457s
Success
tls_test.c
Success
None
0.065749s
5.248571s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
0
Number of Successes
0
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
wasm harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
218
Number of Successes
218
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
File Tests
chartests.c
Success
None
0.046035s
0.145554s
Success
chdir_getcwd.c
Success
None
0.080323s
0.232341s
Success
chmod.c
Success
None
0.052989s
0.124089s
Success
clock_gettime_highlevel.c
Success
None
0.220122s
0.380264s
Success
clock_gettime_simple.c
Success
None
0.083426s
0.315653s
Success
cloexec.c
Success
None
0.129112s
0.186507s
Success
close.c
Success
None
0.101851s
0.225823s
Success
creat_access.c
Success
None
0.049478s
0.110763s
Success
doubleclose.c
Success
None
0.041391s
0.092975s
Success
dup.c
Success
None
0.042424s
0.108621s
Success
dup2.c
Success
None
0.047750s
0.107629s
Success
dup3.c
Success
None
0.066390s
0.194034s
Success
dupwrite.c
Success
None
0.049637s
0.107856s
Success
etc_conf.c
Success
None
0.113869s
0.279192s
Success
faccessat.c
Success
None
0.045026s
0.110946s
Success
fchdir.c
Success
None
0.055557s
0.163703s
Success
fchmod.c
Success
None
0.085062s
0.224330s
Success
fchmodat.c
Success
None
0.044734s
0.108338s
Success
fcntl.c
Success
None
0.087790s
0.213916s
Success
fdatasync.c
Success
None
0.076297s
0.298853s
Success
filetest.c
Success
None
0.082331s
0.150377s
Success
filetest1000.c
Success
None
0.056709s
0.117422s
Success
flock.c
Success
None
0.058084s
0.150614s
Success
fstat.c
Success
None
0.101132s
0.212066s
Success
fstatfs.c
Success
None
0.043793s
0.104349s
Success
fsync.c
Success
None
0.079212s
0.182994s
Success
ftruncate.c
Success
None
0.082623s
0.338080s
Success
getcwd.c
Success
None
0.072405s
0.152439s
Success
getcwd_null.c
Success
None
0.089868s
0.194397s
Success
getpgid.c
Success
None
0.067910s
0.148591s
Success
getrandom.c
Success
None
0.048067s
0.120926s
Success
ioctl.c
Success
None
0.052794s
0.128397s
Success
link.c
Success
None
0.052708s
0.150782s
Success
locale_test.c
Success
None
0.100293s
0.521295s
Success
lseek.c
Success
None
0.053207s
0.186953s
Success
lstat.c
Success
None
0.100445s
0.261840s
Success
mkdir_rmdir.c
Success
None
0.088450s
0.202108s
Success
mkfifo_test.c
Success
None
0.094810s
0.256424s
Success
mknod.c
Success
None
0.048486s
0.121265s
Success
nocancel_io.c
Success
None
0.052563s
0.136072s
Success
open.c
Success
None
0.043570s
0.098100s
Success
openat.c
Success
None
0.044355s
0.104041s
Success
path_conversion_safety.c
Success
None
0.093283s
0.240422s
Success
ppoll.c
Success
None
0.089420s
0.176791s
Success
pread_pwrite.c
Success
None
0.094793s
0.181333s
Success
preadv_pwritev.c
Success
None
0.075377s
0.221878s
Success
printf.c
Success
None
0.059404s
0.198168s
Success
prlimit64.c
Success
None
0.101137s
0.183287s
Success
read.c
Success
None
0.049660s
0.118847s
Success
readbytes.c
Success
None
0.077511s
0.263585s
Success
readdir_basic.c
Success
None
0.094181s
0.305473s
Success
readlink.c
Success
None
0.085962s
0.187003s
Success
readlinkat.c
Success
None
0.051173s
0.129473s
Success
readv_writev_test.c
Success
None
0.051147s
0.123266s
Success
rename.c
Success
None
0.052369s
0.116622s
Success
renameat.c
Success
None
0.087147s
0.229658s
Success
sc-writev.c
Success
None
0.047613s
0.109957s
Success
stat.c
Success
None
0.083650s
0.224703s
Success
statfs.c
Success
None
0.083640s
0.175951s
Success
symlink.c
Success
None
0.101410s
0.225770s
Success
sync_file_range.c
Success
None
0.086177s
0.157620s
Success
timespec_time_t_compat.c
Success
None
0.090220s
0.190551s
Success
truncate.c
Success
None
0.050177s
0.132223s
Success
unlink.c
Success
None
0.086302s
0.256638s
Success
unlinkat.c
Success
None
0.079355s
0.196125s
Success
utimensat.c
Success
None
0.080949s
0.230711s
Success
write.c
Success
None
0.072142s
0.147422s
Success
writeloop.c
Success
None
0.052265s
0.111166s
Success
writepartial.c
Success
None
0.073239s
0.151274s
Success
writev.c
Success
None
0.051008s
0.119751s
Success
Math Tests
math_link_smoke.c
Success
None
0.053167s
0.100767s
Success
math_tests.c
Success
None
0.058466s
0.136922s
Success
printf_float.c
Success
None
0.053664s
0.125394s
Success
Memory Tests
brk.c
Success
None
0.047858s
0.105715s
Success
fork_large_memory.c
Success
None
0.081549s
0.374964s
Success
malloc.c
Success
None
0.045885s
0.098781s
Success
malloc_large.c
Success
None
0.047110s
0.098405s
Success
memcpy.c
Success
None
0.045151s
0.097965s
Success
memory_error_test.c
Success
None
0.054182s
0.134874s
Success
mmap.c
Success
None
0.042472s
0.097891s
Success
mmap_aligned.c
Success
None
0.046375s
0.115064s
Success
mmap_complicated.c
Success
None
0.051404s
0.125376s
Success
mmap_file.c
Success
None
0.051178s
0.111869s
Success
mmap_shared.c
Success
None
0.049362s
0.117550s
Success
mmaptest.c
Success
None
0.045052s
0.111347s
Success
mprotect.c
Success
None
0.043732s
0.101324s
Success
mprotect_boundary.c
Success
None
0.044192s
0.113454s
Success
mprotect_end_region.c
Success
None
0.045033s
0.103775s
Success
mprotect_middle_region.c
Success
None
0.048183s
0.106407s
Success
mprotect_multiple_times.c
Success
None
0.043717s
0.104212s
Success
mprotect_same_value.c
Success
None
0.043074s
0.101219s
Success
mprotect_spanning_regions.c
Success
None
0.045009s
0.119822s
Success
munmap_adjacent_shm.c
Success
None
0.046814s
0.121452s
Success
sbrk.c
Success
None
0.045358s
0.103856s
Success
segfault.c
Success
None
0.051741s
0.137312s
Success
shm.c
Success
None
0.050046s
0.128569s
Success
shmtest.c
Success
None
0.046417s
0.109344s
Success
thread_malloc_sequential.c
Success
None
0.051493s
0.151590s
Success
vtable.c
Success
None
0.056369s
0.116977s
Success
Networking Tests
accept4.c
Success
None
0.054653s
0.129994s
Success
dns_resolve_test.c
Success
None
0.048854s
0.112605s
Success
dnstest.c
Success
None
0.049584s
0.113502s
Success
epoll_badfd.c
Success
None
0.044251s
0.102032s
Success
epoll_edge_triggered.c
Success
None
0.207477s
0.373894s
Success
epollcreate1.c
Success
None
0.050911s
0.124975s
Success
error_handling_net.c
Success
None
0.059252s
0.189693s
Success
getaddrinfo_test.c
Success
None
0.053323s
0.148479s
Success
getaddrinfo_unspec.c
Success
None
0.061205s
0.129993s
Success
gethostname.c
Success
None
0.045969s
0.098249s
Success
getifaddrs.c
Success
None
0.050828s
0.117510s
Success
getsockname.c
Success
None
0.055654s
0.114309s
Success
getsockopt.c
Success
None
0.054864s
0.150898s
Success
ipv6_basic.c
Success
None
0.056272s
0.149528s
Success
makepipe.c
Success
None
0.044334s
0.098290s
Success
nonblocking_eagain.c
Success
None
0.054823s
0.162059s
Success
pipe.c
Success
None
0.055468s
0.127012s
Success
pipe2.c
Success
None
0.052233s
0.114640s
Success
pipeinput.c
Success
None
0.053648s
0.138808s
Success
pipeinput2.c
Success
None
0.052938s
0.145028s
Success
pipeonestring.c
Success
None
0.055609s
0.141304s
Success
pipepong.c
Success
None
0.052574s
0.140711s
Success
pipewrite.c
Success
None
0.046896s
0.111502s
Success
poll.c
Success
None
0.050700s
0.107997s
Success
recvfrom-sendto.c
Success
None
0.052175s
0.122011s
Success
sendmsg_recvmsg_test.c
Success
None
0.054369s
0.125657s
Success
serverclient.c
Success
None
0.051193s
0.126219s
Success
shutdown.c
Success
None
0.052764s
0.122253s
Success
shutdown_fork.c
Success
None
0.051327s
0.128199s
Success
simple-select.c
Success
None
0.052604s
0.136191s
Success
simple_epoll.c
Success
None
0.051166s
0.117620s
Success
socket.c
Success
None
0.050040s
0.111052s
Success
socket_cloexec.c
Success
None
0.049307s
0.106540s
Success
socket_options_advanced.c
Success
None
0.056210s
0.168797s
Success
socketepoll.c
Success
None
0.049232s
0.108082s
Success
socketpair.c
Success
None
0.049194s
0.118363s
Success
socketselect.c
Success
None
0.050173s
0.116219s
Success
udp_send_recv.c
Success
None
0.157858s
0.261777s
Success
uds-getsockname.c
Success
None
0.051395s
0.108774s
Success
uds-nb-select.c
Success
None
2.059346s
2.177192s
Success
uds-serverclient.c
Success
None
0.054016s
0.142847s
Success
uds-socketselect.c
Success
None
0.050931s
0.122618s
Success
uds_listen_poll.c
Success
None
1.059274s
1.157649s
Success
writev_socket.c
Success
None
0.054578s
0.152041s
Success
Process Tests
barrier_test.c
Success
None
0.049865s
0.122647s
Success
chain_thread.c
Success
None
1.051325s
1.126458s
Success
ctor_syscall_test.c
Success
None
0.040377s
0.097949s
Success
cxa_atexit_test.c
Success
None
0.047635s
0.103948s
Success
exec_non_utf8.c
Success
None
0.049143s
0.109576s
Success
execve_shebang.c
Success
None
0.051012s
0.111523s
Success
exit.c
Success
None
0.048242s
0.102906s
Success
exit_failure.c
Success
None
0.051787s
0.117213s
Success
exit_group_thread.c
Success
None
0.063372s
0.131022s
Success
exit_status_first_wins.c
Success
None
0.053705s
0.132259s
Success
flockfile_test.c
Success
None
0.049953s
0.127831s
Success
fork2malloc.c
Success
None
0.057032s
0.121640s
Success
fork_select.c
Success
None
0.049538s
0.125415s
Success
fork_simple.c
Success
None
0.048727s
0.114578s
Success
fork_syscall.c
Success
None
0.054970s
0.352154s
Success
fork_tls_ctype.c
Success
None
0.058518s
0.147024s
Success
forkandopen.c
Success
None
0.052771s
0.132147s
Success
forkdup.c
Success
None
0.060159s
0.140500s
Success
forkexecuid.c
Success
None
0.049421s
0.132324s
Success
forkexecv-arg.c
Success
None
0.049530s
0.125222s
Success
forkexecv.c
Success
None
0.047566s
0.120186s
Success
forkfiles.c
Success
None
0.050911s
0.127454s
Success
forkmalloc.c
Success
None
0.055075s
0.120889s
Success
forknodup.c
Success
None
0.051989s
0.127758s
Success
function-ptr.c
Success
None
0.048191s
0.106390s
Success
getegid_syscall.c
Success
None
0.052609s
0.274954s
Success
getgid_syscall.c
Success
None
0.052475s
0.570410s
Success
getpid.c
Success
None
0.043940s
0.095601s
Success
getpid_syscall.c
Success
None
0.053939s
0.299158s
Success
getppid.c
Success
None
0.051206s
0.119948s
Success
getppid_syscall.c
Success
None
0.094595s
0.427757s
Success
getuid.c
Success
None
0.050410s
0.108182s
Success
getuid_syscall.c
Success
None
0.049910s
0.183198s
Success
hello-arg.c
Success
None
0.070122s
0.175864s
Success
hello.c
Success
None
0.054247s
0.093708s
Success
longjmp.c
Success
None
0.042305s
0.103208s
Success
mutex.c
Success
None
2.053433s
2.123643s
Success
printf_deadlock_smoke.c
Success
None
0.059309s
0.153334s
Success
printf_thread_test.c
Success
None
0.048630s
0.127076s
Success
sem_forks.c
Success
None
0.055843s
0.141892s
Success
setsid.c
Success
None
0.043041s
0.097332s
Success
template.c
Success
None
0.050932s
0.143935s
Success
test_exec_nofork.c
Success
None
0.049951s
0.121074s
Success
test_unlink_open_file.c
Success
None
0.045784s
0.100649s
Success
thread-guard.c
Success
None
0.049035s
0.120352s
Success
thread-test.c
Success
None
0.045215s
0.106197s
Success
thread.c
Success
None
0.045587s
0.109931s
Success
thread_cageid_race.c
Success
None
0.048631s
0.173953s
Success
tls_test.c
Success
None
0.049024s
0.126999s
Success
uname.c
Success
None
0.091287s
0.190189s
Success
wait.c
Success
None
0.048963s
0.122569s
Success
waitpid_anychild.c
Success
None
0.050763s
0.120568s
Success
waitpid_syscall.c
Success
None
1.066701s
1.306854s
Success
waitpid_wnohang.c
Success
None
0.051497s
0.126438s
Success
Signal Tests
alarm.c
Success
None
7.083573s
7.256453s
Success
eintr_fork_signal.c
Success
None
1.051786s
1.134168s
Success
kill.c
Success
None
1.050728s
1.122954s
Success
setitimer.c
Success
None
7.051013s
7.140898s
Success
sigalrm.c
Success
None
2.053671s
2.129044s
Success
sigaltstack.c
Success
None
0.051896s
0.123091s
Success
sigchld.c
Success
None
1.098139s
1.255227s
Success
signal-fork.c
Success
None
4.090127s
4.122505s
Success
signal-simple.c
Success
None
0.051729s
0.111307s
Success
signal_SIGCHLD.c
Success
None
0.131910s
0.208906s
Success
signal_fork.c
Success
None
0.047201s
0.127500s
Success
signal_int_ignored.c
Success
None
2.050965s
2.122834s
Success
signal_kill_cleanup.c
Success
None
1.048491s
1.113562s
Success
signal_procmask.c
Success
None
0.044737s
0.109387s
Success
signal_read_interrupt.c
Success
None
0.591930s
0.815143s
Success
signal_recursive.c
Success
None
0.045490s
0.115654s
Success
signal_sa_mask.c
Success
None
0.159535s
0.152530s
Success
signal_select_interrupt.c
Success
None
0.604931s
0.761226s
Success
signal_write_interrupt.c
Success
None
1.053504s
1.127555s
Success
sigpipe.c
Success
None
1.052968s
1.130868s
Success
sigprocmask.c
Success
None
1.050881s
1.120422s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
4
Number of Successes
4
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
Updated Dockerfile.e2e so the artifacts target depends on both release and debug e2e stages. The debug stage uses make lind-boot-debug, which should allow CI to catch debug-build-specific regressions.
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS
STDERR:
concurrent-request/race-test_grate.c
Success
STDOUT:
pass
STDERR:
concurrent-request/thread_race_grate.c
Success
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS
STDERR:
copy-data-between-cages/cp-stncpy_grate.c
Success
STDOUT:
[cage] pathname addr=0xfffb6ff9
[cage] pathname='random'
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
copy-data-between-cages/cpdata_grate.c
Success
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
interposing-calls/fork-with-newret_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Cage] Forked process with PID: 10
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-exec_grate.c
Success
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS
STDERR:
interposing-calls/interpose-exit_grate.c
Success
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...
[Grate|interpose-exit] PASS
STDERR:
interposing-calls/interpose-fork_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-mmap_grate.c
Success
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS
STDERR:
interposing-calls/interpose-register_grate.c
Success
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS
STDERR:
multi-register_grate.c
Success
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS
STDERR:
simple-tests/copy-handler-table_grate.c
Success
STDOUT:
[Grate|copy-handler-table] Registering geteuid handler for cage 2 in grate 1
[Grate|copy-handler-table] geteuid handler invoked for cage 1
[Grate|copy-handler-table] geteuid handler invoked for cage 1
[Cage|copy-handler-table] PASS: child inherited handler, then overwrite changed geteuid to 0
[Cage|copy-handler-table] PASS: parent=123 child_exit=0
[Grate|copy-handler-table] PASS
STDERR:
simple-tests/diff-cage-args_grate.c
Success
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS
STDERR:
simple-tests/geteuid_grate.c
Success
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS
STDERR:
static harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
3
Number of Successes
3
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Static Tests
fork_simple.c
Success
None
0.063770s
4.936856s
Success
thread.c
Success
None
0.048135s
4.959405s
Success
tls_test.c
Success
None
0.046620s
5.048028s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
0
Number of Successes
0
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
wasm harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
225
Number of Successes
225
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
File Tests
chartests.c
Success
None
0.042514s
0.139222s
Success
chdir_getcwd.c
Success
None
0.043460s
0.107372s
Success
chmod.c
Success
None
0.046219s
0.117826s
Success
clock_gettime_highlevel.c
Success
None
0.278525s
0.181606s
Success
clock_gettime_simple.c
Success
None
0.056413s
0.210834s
Success
cloexec.c
Success
None
0.045511s
0.126815s
Success
close.c
Success
None
0.048026s
0.122141s
Success
creat_access.c
Success
None
0.045755s
0.108712s
Success
doubleclose.c
Success
None
0.037822s
0.090241s
Success
dup.c
Success
None
0.038257s
0.104522s
Success
dup2.c
Success
None
0.043804s
0.105343s
Success
dup3.c
Success
None
0.041612s
0.105497s
Success
dupwrite.c
Success
None
0.044272s
0.106642s
Success
etc_conf.c
Success
None
0.039886s
0.109909s
Success
faccessat.c
Success
None
0.040616s
0.108588s
Success
fchdir.c
Success
None
0.075607s
0.240198s
Success
fchmod.c
Success
None
0.045555s
0.125746s
Success
fchmodat.c
Success
None
0.082623s
0.214400s
Success
fcntl.c
Success
None
0.043437s
0.150459s
Success
fcntl_dupfd.c
Success
None
0.038918s
0.100471s
Success
fdatasync.c
Success
None
0.043899s
0.101578s
Success
filetest.c
Success
None
0.044828s
0.103100s
Success
filetest1000.c
Success
None
0.048139s
0.111692s
Success
flock.c
Success
None
0.050736s
0.155496s
Success
fstat.c
Success
None
0.046297s
0.124251s
Success
fstatfs.c
Success
None
0.040134s
0.099191s
Success
fsync.c
Success
None
0.044318s
0.102941s
Success
ftruncate.c
Success
None
0.046917s
0.196780s
Success
getcwd.c
Success
None
0.074963s
0.215845s
Success
getcwd_null.c
Success
None
0.045865s
0.113484s
Success
getpgid.c
Success
None
0.039974s
0.096537s
Success
getrandom.c
Success
None
0.043774s
0.117694s
Success
ioctl.c
Success
None
0.046234s
0.114722s
Success
link.c
Success
None
0.048304s
0.146046s
Success
locale_test.c
Success
None
0.057185s
0.291324s
Success
lseek.c
Success
None
0.048403s
0.180831s
Success
lstat.c
Success
None
0.048195s
0.126528s
Success
mkdir_rmdir.c
Success
None
0.044889s
0.117695s
Success
mkfifo_test.c
Success
None
0.048438s
0.158520s
Success
mknod.c
Success
None
0.043327s
0.116000s
Success
nocancel_io.c
Success
None
0.047521s
0.130279s
Success
open.c
Success
None
0.040774s
0.097683s
Success
openat.c
Success
None
0.041394s
0.104128s
Success
path_conversion_safety.c
Success
None
0.048434s
0.131508s
Success
ppoll.c
Success
None
0.048494s
0.116185s
Success
pread_pwrite.c
Success
None
0.041943s
0.114852s
Success
preadv_pwritev.c
Success
None
0.075622s
0.251205s
Success
printf.c
Success
None
0.073115s
0.174266s
Success
prlimit64.c
Success
None
0.039314s
0.099022s
Success
read.c
Success
None
0.046111s
0.116677s
Success
readbytes.c
Success
None
0.040800s
0.099166s
Success
readdir_basic.c
Success
None
0.049568s
0.146428s
Success
readlink.c
Success
None
0.044412s
0.114685s
Success
readlinkat.c
Success
None
0.090635s
0.221672s
Success
readv_writev_test.c
Success
None
0.047202s
0.121477s
Success
rename.c
Success
None
0.047396s
0.111344s
Success
renameat.c
Success
None
0.046731s
0.121744s
Success
sc-writev.c
Success
None
0.042269s
0.106805s
Success
stat.c
Success
None
0.044934s
0.118454s
Success
statfs.c
Success
None
0.039306s
0.101066s
Success
symlink.c
Success
None
0.047116s
0.138526s
Success
sync_file_range.c
Success
None
0.042653s
0.102722s
Success
timespec_time_t_compat.c
Success
None
0.080096s
0.210528s
Success
trailing_slash.c
Success
None
0.044542s
0.117527s
Success
truncate.c
Success
None
0.044215s
0.129210s
Success
unlink.c
Success
None
0.046978s
0.140787s
Success
unlinkat.c
Success
None
0.070882s
0.267565s
Success
utimensat.c
Success
None
0.046305s
0.124590s
Success
write.c
Success
None
0.039417s
0.090882s
Success
writeloop.c
Success
None
0.050744s
0.111571s
Success
writepartial.c
Success
None
0.090389s
0.164960s
Success
writev.c
Success
None
0.061461s
0.130618s
Success
Math Tests
math_link_smoke.c
Success
None
0.048967s
0.098844s
Success
math_tests.c
Success
None
0.052301s
0.128751s
Success
printf_float.c
Success
None
0.048640s
0.121730s
Success
Memory Tests
brk.c
Success
None
0.093662s
0.218381s
Success
fork_large_memory.c
Success
None
0.161841s
0.874466s
Success
malloc.c
Success
None
0.072490s
0.158592s
Success
malloc_large.c
Success
None
0.064016s
0.199252s
Success
memcpy.c
Success
None
0.068849s
0.483106s
Success
memory_error_test.c
Success
None
0.077245s
0.235233s
Success
mmap.c
Success
None
0.059878s
0.207938s
Success
mmap_aligned.c
Success
None
0.094016s
0.325306s
Success
mmap_complicated.c
Success
None
0.067104s
0.357956s
Success
mmap_file.c
Success
None
0.087789s
0.181448s
Success
mmap_shared.c
Success
None
0.073336s
0.230191s
Success
mmaptest.c
Success
None
0.099982s
0.232783s
Success
mprotect.c
Success
None
0.058940s
0.174786s
Success
mprotect_boundary.c
Success
None
0.052611s
0.185419s
Success
mprotect_end_region.c
Success
None
0.064582s
0.175207s
Success
mprotect_middle_region.c
Success
None
0.074821s
0.253157s
Success
mprotect_multiple_times.c
Success
None
0.076503s
0.179594s
Success
mprotect_same_value.c
Success
None
0.069914s
0.182421s
Success
mprotect_spanning_regions.c
Success
None
0.062569s
0.234898s
Success
munmap_adjacent_shm.c
Success
None
0.061240s
0.196896s
Success
sbrk.c
Success
None
0.056768s
0.365856s
Success
segfault.c
Success
None
0.068597s
0.226002s
Success
shm.c
Success
None
0.067188s
0.230573s
Success
shmtest.c
Success
None
0.060397s
0.213186s
Success
thread_malloc_sequential.c
Success
None
0.073940s
0.618485s
Success
vtable.c
Success
None
0.097524s
0.298120s
Success
Networking Tests
accept4.c
Success
None
0.051670s
0.126617s
Success
dns_resolve_test.c
Success
None
0.098115s
0.228201s
Success
dnstest.c
Success
None
0.042618s
0.106349s
Success
epoll_badfd.c
Success
None
0.042225s
0.100401s
Success
epoll_edge_triggered.c
Success
None
0.202899s
0.362738s
Success
epollcreate1.c
Success
None
0.044639s
0.120045s
Success
error_handling_net.c
Success
None
0.053010s
0.179407s
Success
getaddrinfo_test.c
Success
None
0.051669s
0.147112s
Success
getaddrinfo_unspec.c
Success
None
0.047285s
0.177479s
Success
gethostname.c
Success
None
0.072520s
0.194112s
Success
getifaddrs.c
Success
None
0.048084s
0.117841s
Success
getsockname.c
Success
None
0.077455s
0.210223s
Success
getsockopt.c
Success
None
0.048057s
0.148428s
Success
ipv6_basic.c
Success
None
0.049206s
0.139852s
Success
makepipe.c
Success
None
0.049847s
0.192249s
Success
nonblocking_eagain.c
Success
None
0.049227s
0.151343s
Success
pipe.c
Success
None
0.046226s
0.121525s
Success
pipe2.c
Success
None
0.048125s
0.113820s
Success
pipeinput.c
Success
None
0.048744s
0.145624s
Success
pipeinput2.c
Success
None
0.085738s
0.295676s
Success
pipeonestring.c
Success
None
0.071693s
0.268621s
Success
pipepong.c
Success
None
0.049901s
0.150856s
Success
pipewrite.c
Success
None
0.043280s
0.109675s
Success
poll.c
Success
None
0.068203s
0.203587s
Success
recvfrom-sendto.c
Success
None
0.048145s
0.120378s
Success
sendmsg_recvmsg_test.c
Success
None
0.047711s
0.122688s
Success
serverclient.c
Success
None
0.045852s
0.126095s
Success
shutdown.c
Success
None
0.048373s
0.119492s
Success
shutdown_fork.c
Success
None
0.061089s
0.140972s
Success
simple-select.c
Success
None
0.050473s
0.146037s
Success
simple_epoll.c
Success
None
0.044892s
0.110258s
Success
socket.c
Success
None
0.092709s
0.210097s
Success
socket_cloexec.c
Success
None
0.044197s
0.104813s
Success
socket_options_advanced.c
Success
None
0.049199s
0.158981s
Success
socketepoll.c
Success
None
0.081365s
0.209956s
Success
socketpair.c
Success
None
0.043612s
0.128374s
Success
socketselect.c
Success
None
0.044022s
0.115278s
Success
udp_send_recv.c
Success
None
0.151812s
0.262290s
Success
uds-getsockname.c
Success
None
0.047188s
0.110177s
Success
uds-nb-select.c
Success
None
2.054572s
2.186888s
Success
uds-serverclient.c
Success
None
0.050784s
0.150421s
Success
uds-socketselect.c
Success
None
0.084140s
0.230578s
Success
uds_listen_poll.c
Success
None
1.050683s
1.158444s
Success
writev_socket.c
Success
None
0.047494s
0.141183s
Success
Process Tests
barrier_test.c
Success
None
0.045479s
0.132969s
Success
chain_thread.c
Success
None
1.073552s
1.335224s
Success
ctor_syscall_test.c
Success
None
0.037964s
0.099343s
Success
cxa_atexit_test.c
Success
None
0.040711s
0.099554s
Success
exec_non_utf8.c
Success
None
0.079475s
0.170734s
Success
execve_shebang.c
Success
None
0.046939s
0.108619s
Success
exit.c
Success
None
0.042669s
0.099077s
Success
exit_failure.c
Success
None
0.083592s
0.215510s
Success
exit_group_thread.c
Success
None
0.046886s
0.144942s
Success
exit_status_first_wins.c
Success
None
0.077514s
0.329343s
Success
flockfile_test.c
Success
None
0.044836s
0.136515s
Success
fork2malloc.c
Success
None
0.047428s
0.129657s
Success
fork_select.c
Success
None
0.044061s
0.132833s
Success
fork_simple.c
Success
None
0.062480s
0.192059s
Success
fork_syscall.c
Success
None
0.048283s
0.696572s
Success
fork_tls_ctype.c
Success
None
0.048281s
0.150362s
Success
forkandopen.c
Success
None
0.144936s
0.271994s
Success
forkdup.c
Success
None
0.047041s
0.133747s
Success
forkexecuid.c
Success
None
0.072559s
0.296427s
Success
forkexecv-arg.c
Success
None
0.043456s
0.144192s
Success
forkexecv.c
Success
None
0.070570s
0.219681s
Success
forkfiles.c
Success
None
0.044213s
0.134124s
Success
forkmalloc.c
Success
None
0.044030s
0.124001s
Success
forknodup.c
Success
None
0.045563s
0.134289s
Success
function-ptr.c
Success
None
0.041083s
0.098471s
Success
getegid_syscall.c
Success
None
0.047237s
0.521218s
Success
getgid_syscall.c
Success
None
0.081719s
1.012547s
Success
getpid.c
Success
None
0.064329s
0.172698s
Success
getpid_syscall.c
Success
None
0.047702s
0.539511s
Success
getppid.c
Success
None
0.099527s
0.257076s
Success
getppid_syscall.c
Success
None
0.048441s
0.441132s
Success
getuid.c
Success
None
0.093751s
0.162704s
Success
getuid_syscall.c
Success
None
0.043599s
0.252561s
Success
hello-arg.c
Success
None
0.038207s
0.099402s
Success
hello.c
Success
None
0.039042s
0.089654s
Success
longjmp.c
Success
None
0.079495s
0.207184s
Success
mutex.c
Success
None
2.150304s
2.260105s
Success
printf_deadlock_smoke.c
Success
None
0.100050s
0.281429s
Success
printf_thread_test.c
Success
None
0.081842s
0.215638s
Success
sem_forks.c
Success
None
0.088267s
0.339052s
Success
setjmp_edge.c
Success
None
0.066442s
0.346485s
Success
setsid.c
Success
None
0.039739s
0.091424s
Success
template.c
Success
None
0.044949s
0.180831s
Success
test_crossmodule_longjmp.c
Success
None
0.066733s
0.210669s
Success
test_exec_nofork.c
Success
None
0.073269s
0.241158s
Success
test_unlink_open_file.c
Success
None
0.083147s
0.159491s
Success
thread-guard.c
Success
None
0.043962s
0.120257s
Success
thread-test.c
Success
None
0.065840s
0.205125s
Success
thread.c
Success
None
0.080835s
0.238837s
Success
thread_cageid_race.c
Success
None
0.066754s
0.532632s
Success
tls_test.c
Success
None
0.086925s
0.316166s
Success
uname.c
Success
None
0.054676s
0.183749s
Success
wait.c
Success
None
0.061937s
0.271445s
Success
waitpid_anychild.c
Success
None
0.085205s
0.219303s
Success
waitpid_syscall.c
Success
None
1.046365s
1.241519s
Success
waitpid_wnohang.c
Success
None
0.074618s
0.222910s
Success
Signal Tests
alarm.c
Success
None
7.045434s
7.193666s
Success
eintr_fork_signal.c
Success
None
1.047734s
1.144924s
Success
kill.c
Success
None
1.044979s
1.134134s
Success
pause_test.c
Success
None
1.087236s
1.131348s
Success
setitimer.c
Success
None
7.043287s
7.138331s
Success
sigalrm.c
Success
None
2.046770s
2.125363s
Success
sigaltstack.c
Success
None
0.047388s
0.120713s
Success
sigchld.c
Success
None
1.047707s
1.130366s
Success
signal-fork.c
Success
None
4.046905s
4.124467s
Success
signal-simple.c
Success
None
0.092613s
0.227917s
Success
signal_SIGCHLD.c
Success
None
0.044220s
0.134342s
Success
signal_fork.c
Success
None
0.042494s
0.133218s
Success
signal_int_ignored.c
Success
None
2.046531s
2.129300s
Success
signal_kill_cleanup.c
Success
None
1.044658s
1.123847s
Success
signal_procmask.c
Success
None
0.041573s
0.109341s
Success
signal_read_interrupt.c
Success
None
0.549090s
0.632262s
Success
signal_recursive.c
Success
None
0.043401s
0.115803s
Success
signal_sa_mask.c
Success
None
0.080019s
0.211256s
Success
signal_select_interrupt.c
Success
None
0.550198s
0.635597s
Success
signal_write_interrupt.c
Success
None
1.047858s
1.175709s
Success
sigpipe.c
Success
None
1.046911s
1.139990s
Success
sigprocmask.c
Success
None
1.046520s
1.124307s
Success
sigsuspend_test.c
Success
None
1.044717s
1.131938s
Success
test_sigsetjmp.c
Success
None
0.046774s
0.147262s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
6
Number of Successes
6
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Dylink Tests
dlerror.c
Success
None
0.039832s
0.103382s
Success
Memory Tests
invalid_access_direct.c
Success
None
0.185522s
0.279763s
Success
invalid_access_fork.c
Success
None
0.216111s
0.337513s
Success
mmap-negative1.c
Success
None
0.178485s
0.173103s
Success
mmap-negative2.c
Success
None
0.148876s
0.384502s
Success
Signal Tests
signal_resethand.c
Success
None
1.044994s
1.126125s
Success
C++ harness
Summary
Metric
Value
Total
1
Success
1
Failures
0
Compile failures
0
Runtime failures
0
Output mismatch
0
Timeouts
0
Cases
Test
Status
Error type
Native time
Wasm time
Output
tests/unit-tests/cpp/sort.cpp
Success
0.390043s
9.897403s
LIBCPP_SORT_OK 1 2 3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR keeps
make lind-bootas the default release build and adds a newmake lind-boot-debugtarget for buildinglind-bootin debug mode.While testing the debug build, a Rust debug overflow panic was exposed in GOT memory relocation. This PR also makes that relocation use
wrapping_add, preserving the existing release-build wrapping behavior explicitly.Changes
make lind-bootas the release build targetmake lind-boot-debugfor debug buildswrapping_addfor GOT memory relocation to avoid debug-build overflow panicTesting
make lind-bootmake lind-boot-debughello.cunder debuglind-bootlind-bootRelated Issue
Related to #942.