Non-deterministic output is caused by IPC-grate on each execution due to the following tests:
- test_pipe_large();
- test_unix_connect_accept();
- test_fork_pipe_inherit();
- test_pipe_pipeline();
- test_socketpair_fork();
Example:
~/lind-wasm$ scripts/lind_run ipc-grate.cwasm ipc_test.cwasm
=== ipc grate test ===
[test_pipe_basic]
[test_pipe_large]
~/lind-wasm$ scripts/lind_run ipc-grate.cwasm ipc_test.cwasm
=== ipc grate test ===
[test_pipe_basic]
[test_pipe_large]
panicked at
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/lind-wasm/src/fdtables/src/dashmaparrayglobal.rs:422:5:
Unknown cageid in fdtable access
/home/lind/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mut_ptr.rs:1495:18:
stack backtrace:
unsafe precondition(s) violated: ptr::replace requires that the pointer argument is aligned and non-null
This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
thread panicked while processing panic. aborting.
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/lind-wasm/src/fdtables/src/dashmaparrayglobal.rs:115:39:
called `Option::unwrap()` on a `None` value
stack backtrace:
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mut_ptr.rs:1495:18:
unsafe precondition(s) violated: ptr::replace requires that the pointer argument is aligned and non-null
This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
stack backtrace:
thread caused non-unwinding panic. aborting.
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mut_ptr.rs:1495:18:
unsafe precondition(s) violated: ptr::replace requires that the pointer argument is aligned and non-null
This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
stack backtrace:
thread caused non-unwinding panic. aborting.
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mut_ptr.rs:1495:18:
unsafe precondition(s) violated: ptr::replace requires that the pointer argument is aligned and non-null
This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
stack backtrace:
thread caused non-unwinding panic. aborting.
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mut_ptr.rs:1495:18:
unsafe precondition(s) violated: ptr::replace requires that the pointer argument is aligned and non-null
This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
stack backtrace:
thread caused non-unwinding panic. aborting.
~/lind-wasm$ scripts/lind_run ipc-grate.cwasm ipc_test.cwasm
=== ipc grate test ===
[test_pipe_basic]
[test_pipe_large]
FAIL: read 4096 bytes total (errno=1)
FAIL: data matches (errno=0)
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs:1037:13:
unsafe precondition(s) violated: ptr::write requires that the pointer argument is aligned and non-null
This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
stack backtrace:
thread caused non-unwinding panic. aborting.
[test_pipe_dup]
FAIL: pipe still writable after closing one write end (errno=0)
FAIL: EOF after all write ends closed (errno=0)
[test_pipe_dup2]
[test_socketpair]
[test_unix_connect_accept]
PASS: server socket()
PASS: bind()
PASS: listen()
thread '<unnamed>' (16045690984833335023) panicked at /home/lind/lind-wasm/src/fdtables/src/dashmaparrayglobal.rs:96:5:
Known cageid in fdtable access
stack backtrace:
Non-deterministic output is caused by IPC-grate on each execution due to the following tests:
Example: