[INFO] fetching crate pink-sidevm-macro 0.1.1...
[INFO] testing pink-sidevm-macro-0.1.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate pink-sidevm-macro 0.1.1 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate pink-sidevm-macro 0.1.1
[INFO] finished tweaking crates.io crate pink-sidevm-macro 0.1.1
[INFO] tweaked toml for crates.io crate pink-sidevm-macro 0.1.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate pink-sidevm-macro 0.1.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 31 packages to highest compatible versions
[INFO] [stderr]       Adding heck v0.4.1 (available: v0.5.0)
[INFO] [stderr]       Adding proc-macro-crate v1.3.1 (available: v3.5.0)
[INFO] [stderr]       Adding syn v1.0.109 (available: v3.0.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustfmt-snippet v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96
[INFO] running `Command { std: "docker" "start" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling pink-sidevm-macro v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 7.89s
[INFO] running `Command { std: "docker" "inspect" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling console v0.16.6
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling rustfmt-snippet v0.1.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling pink-sidevm-macro v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling insta v1.49.0
[INFO] [stdout] warning: use of deprecated macro `insta::assert_display_snapshot`: use assert_snapshot!() instead
[INFO] [stdout]   --> src/tests.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     insta::assert_display_snapshot!(rustfmt_snippet::rustfmt_token_stream(&stream).unwrap())
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `insta::assert_display_snapshot`: use assert_snapshot!() instead
[INFO] [stdout]   --> src/tests.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     insta::assert_display_snapshot!(rustfmt_snippet::rustfmt_token_stream(&stream).unwrap())
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 5.99s
[INFO] running `Command { std: "docker" "inspect" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `insta::assert_display_snapshot`: use assert_snapshot!() instead
[INFO] [stderr]   --> src/tests.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     insta::assert_display_snapshot!(rustfmt_snippet::rustfmt_token_stream(&stream).unwrap())
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `insta::assert_display_snapshot`: use assert_snapshot!() instead
[INFO] [stderr]   --> src/tests.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     insta::assert_display_snapshot!(rustfmt_snippet::rustfmt_token_stream(&stream).unwrap())
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `pink-sidevm-macro` (lib test) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/pink_sidevm_macro-be022e3d321e0196)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr] error: 'rustfmt' is not installed for the toolchain '1.99.0-beta.8-x86_64-unknown-linux-gnu'.
[INFO] [stderr] help: run `rustup component add --toolchain 1.99.0-beta.8-x86_64-unknown-linux-gnu rustfmt` to install it
[INFO] [stderr] error: 'rustfmt' is not installed for the toolchain '1.99.0-beta.8-x86_64-unknown-linux-gnu'.
[INFO] [stderr] help: run `rustup component add --toolchain 1.99.0-beta.8-x86_64-unknown-linux-gnu rustfmt` to install it
[INFO] [stdout] test tests::test_main ... FAILED
[INFO] [stdout] test tests::test_ocall ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_main stdout ----
[INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] [stdout] Snapshot file: src/snapshots/pink_sidevm_macro__tests__main.snap
[INFO] [stdout] Snapshot: main
[INFO] [stdout] Source: src/tests.rs:28
[INFO] [stdout] ────────────────────────────────────────────────────────────────────────────────
[INFO] [stdout] Expression: rustfmt_snippet::rustfmt_token_stream(&stream).unwrap()
[INFO] [stdout] ────────────────────────────────────────────────────────────────────────────────
[INFO] [stdout] -old snapshot
[INFO] [stdout] +new results
[INFO] [stdout] ────────────┬───────────────────────────────────────────────────────────────────
[INFO] [stdout]     1       │-#[no_mangle]
[INFO] [stdout]     2       │-fn sidevm_main_future() -> std::pin::Pin<std::boxed::Box<dyn std::future::Future<Output = ()>>> {
[INFO] [stdout]     3       │-    async fn the_main() {
[INFO] [stdout]     4       │-        sleep(1).await
[INFO] [stdout]     5       │-    }
[INFO] [stdout]     6       │-    Box::pin(the_main())
[INFO] [stdout]     7       │-}
[INFO] [stdout] ────────────┴───────────────────────────────────────────────────────────────────
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_main' (314) panicked at src/tests.rs:28:5:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/pink_sidevm_macro__tests__main.snap.new")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x799d792a1821 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x799d792a1821 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x799d792a1821 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x799d792a1821 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x799d792e8aea - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x799d792e8aea - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x799d792b27cc - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x799d792b27cc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x799d7926b1a6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x799d7926b1a6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x799d792922a9 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x654db7c2b810 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]   12:     0x799d792925d2 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   13:     0x799d792925d2 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   14:     0x799d7926b252 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:688:13
[INFO] [stdout]   15:     0x799d792628a9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   16:     0x799d7926cb5d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   17:     0x799d792e957c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   18:     0x799d792e9262 - core[df12db4294e9bfd3]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/result.rs:1871:5
[INFO] [stdout]   19:     0x654db7b2c946 - pink_sidevm_macro[f6f00b48ffa7ef81]::tests::test_main
[INFO] [stdout]   20:     0x654db7b22849 - <pink_sidevm_macro[f6f00b48ffa7ef81]::tests::test_main::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   21:     0x654db7c1eafb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   22:     0x654db7c2c165 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   23:     0x654db7c25a24 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   24:     0x654db7c2f2c2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   25:     0x799d7929ddf9 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   26:     0x799d7929ddf9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   27:     0x799d78ffadfa - <unknown>
[INFO] [stdout]   28:     0x799d7908e3d4 - clone
[INFO] [stdout]   29:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_ocall stdout ----
[INFO] [stdout] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] [stdout] Snapshot file: src/snapshots/pink_sidevm_macro__tests__ocall.snap
[INFO] [stdout] Snapshot: ocall
[INFO] [stdout] Source: src/tests.rs:18
[INFO] [stdout] ────────────────────────────────────────────────────────────────────────────────
[INFO] [stdout] Expression: rustfmt_snippet::rustfmt_token_stream(&stream).unwrap()
[INFO] [stdout] ────────────────────────────────────────────────────────────────────────────────
[INFO] [stdout] -old snapshot
[INFO] [stdout] +new results
[INFO] [stdout] ────────────┬───────────────────────────────────────────────────────────────────
[INFO] [stdout]     1       │-pub trait Ocall {
[INFO] [stdout]     2       │-    fn call_slow(&mut self, a: i32, b: i32) -> i32;
[INFO] [stdout]     3       │-    fn call_fi(&mut self, a: i32, b: i32) -> i32;
[INFO] [stdout]     4       │-    fn call_fo(&mut self, a: i32, b: i32) -> i32;
[INFO] [stdout]     5       │-    fn poll_fi_fo(&mut self, a: i32, b: i32) -> i32;
[INFO] [stdout]     6       │-}
[INFO] [stdout]     7       │-pub mod ocall_guest {
[INFO] [stdout]     8       │-    use super::*;
[INFO] [stdout]     9       │-    pub fn call_slow(a: i32, b: i32) -> i32 {
[INFO] [stdout]    10       │-        unsafe {
[INFO] [stdout]    11       │-            let inputs = (a, b);
[INFO] [stdout]    12       │-            let mut input_buf = Buffer::default();
[INFO] [stdout]    13       │-            Encode::encode_to(&inputs, &mut input_buf);
[INFO] [stdout]    14       │-            let len = input_buf.len() as IntPtr;
[INFO] [stdout]    15       │-            let ret = do_ocall(101, input_buf.as_ptr() as IntPtr, len, 0, 0);
[INFO] [stdout]    16       │-            let len = <Result<i32> as RetDecode>::decode_ret(ret)?;
[INFO] [stdout]    17       │-            if len < 0 {
[INFO] [stdout]    18       │-                panic!("ocall returned an error");
[INFO] [stdout]    19       │-            }
[INFO] [stdout]    20       │-            let mut buf = alloc_buffer(len as _);
[INFO] [stdout]    21       │-            let ret = do_ocall_fast_return(0, buf.as_mut_ptr() as IntPtr, len as IntPtr, 0, 0);
[INFO] [stdout]    22       │-            let ret = <Result<i32> as RetDecode>::decode_ret(ret)?;
[INFO] [stdout]    23       │-            if ret != len {
[INFO] [stdout]    24       │-                panic!("ocall get return length mismatch");
[INFO] [stdout]    25       │-            }
[INFO] [stdout]    26       │-            Ok(Decode::decode(&mut buf.as_ref()).expect("Failed to decode ocall return value"))
[INFO] [stdout]    27       │-        }
[INFO] [stdout]    28       │-    }
[INFO] [stdout]    29       │-    pub fn call_fi(a: i32, b: i32) -> i32 {
[INFO] [stdout]    30       │-        unsafe {
[INFO] [stdout]    31       │-            let stack = StackedArgs::empty();
[INFO] [stdout]    32       │-            let stack = stack.push_arg(a);
[INFO] [stdout]    33       │-            let stack = stack.push_arg(b);
[INFO] [stdout]    34       │-            let args = stack.dump();
[INFO] [stdout]    35       │-            let ret = do_ocall(103, args[0], args[1], args[2], args[3]);
[INFO] [stdout]    36       │-            let len = <Result<i32> as RetDecode>::decode_ret(ret)?;
[INFO] [stdout]    37       │-            if len < 0 {
[INFO] [stdout]    38       │-                panic!("ocall returned an error");
[INFO] [stdout]    39       │-            }
[INFO] [stdout]    40       │-            let mut buf = alloc_buffer(len as _);
[INFO] [stdout]    41       │-            let ret = do_ocall_fast_return(0, buf.as_mut_ptr() as IntPtr, len as IntPtr, 0, 0);
[INFO] [stdout]    42       │-            let ret = <Result<i32> as RetDecode>::decode_ret(ret)?;
[INFO] [stdout]    43       │-            if ret != len {
[INFO] [stdout]    44       │-                panic!("ocall get return length mismatch");
[INFO] [stdout]    45       │-            }
[INFO] [stdout]    46       │-            Ok(Decode::decode(&mut buf.as_ref()).expect("Failed to decode ocall return value"))
[INFO] [stdout]    47       │-        }
[INFO] [stdout]    48       │-    }
[INFO] [stdout]    49       │-    pub fn call_fo(a: i32, b: i32) -> i32 {
[INFO] [stdout]    50       │-        unsafe {
[INFO] [stdout]    51       │-            let inputs = (a, b);
[INFO] [stdout]    52       │-            let mut input_buf = Buffer::default();
[INFO] [stdout]    53       │-            Encode::encode_to(&inputs, &mut input_buf);
[INFO] [stdout]    54       │-            let len = input_buf.len() as IntPtr;
[INFO] [stdout]    55       │-            let ret = do_ocall_fast_return(104, input_buf.as_ptr() as IntPtr, len, 0, 0);
[INFO] [stdout]    56       │-            <Result<i32> as RetDecode>::decode_ret(ret).and_then(I32Convertible::from_i32)
[INFO] [stdout]    57       │-        }
[INFO] [stdout]    58       │-    }
[INFO] [stdout]    59       │-    pub fn poll_fi_fo(a: i32, b: i32) -> i32 {
[INFO] [stdout]    60       │-        unsafe {
[INFO] [stdout]    61       │-            let stack = StackedArgs::empty();
[INFO] [stdout]    62       │-            let stack = stack.push_arg(a);
[INFO] [stdout]    63       │-            let stack = stack.push_arg(b);
[INFO] [stdout]    64       │-            let args = stack.dump();
[INFO] [stdout]    65       │-            let ret = do_ocall_fast_return(102, args[0], args[1], args[2], args[3]);
[INFO] [stdout]    66       │-            <Result<i32> as RetDecode>::decode_ret(ret).and_then(I32Convertible::from_i32)
[INFO] [stdout]    67       │-        }
[INFO] [stdout]    68       │-    }
[INFO] [stdout]    69       │-}
[INFO] [stdout]    70       │-pub fn dispatch_call_fast_return<Env: Ocall + OcallEnv, Vm: VmMemory>(
[INFO] [stdout]    71       │-    env: &mut Env,
[INFO] [stdout]    72       │-    vm: &Vm,
[INFO] [stdout]    73       │-    id: i32,
[INFO] [stdout]    74       │-    p0: IntPtr,
[INFO] [stdout]    75       │-    p1: IntPtr,
[INFO] [stdout]    76       │-    p2: IntPtr,
[INFO] [stdout]    77       │-    p3: IntPtr,
[INFO] [stdout]    78       │-) -> Result<i32> {
[INFO] [stdout]    79       │-    match id {
[INFO] [stdout]    80       │-        0 => {
[INFO] [stdout]    81       │-            let buffer = env.take_return().ok_or(OcallError::NotFound)?;
[INFO] [stdout]    82       │-            let len = p1 as usize;
[INFO] [stdout]    83       │-            if buffer.len() != len {
[INFO] [stdout]    84       │-                return Err(OcallError::InvalidParameter);
[INFO] [stdout]    85       │-            }
[INFO] [stdout]    86       │-            vm.copy_to_vm(&buffer, p0)?;
[INFO] [stdout]    87       │-            Ok(len as i32)
[INFO] [stdout]    88       │-        }
[INFO] [stdout]    89       │-        104 => {
[INFO] [stdout]    90       │-            let (a, b) = {
[INFO] [stdout]    91       │-                let mut buf = vm.slice_from_vm(p0, p1)?;
[INFO] [stdout]    92       │-                Decode::decode(&mut buf).or(Err(OcallError::InvalidParameter))?
[INFO] [stdout]    93       │-            };
[INFO] [stdout]    94       │-            env.call_fo(a, b).map(|x| x.to_i32())
[INFO] [stdout]    95       │-        }
[INFO] [stdout]    96       │-        102 => {
[INFO] [stdout]    97       │-            let stack = StackedArgs::load(&[p0, p1, p2, p3]).ok_or(OcallError::InvalidParameter)?;
[INFO] [stdout]    98       │-            let (b, stack) = stack.pop_arg(vm)?;
[INFO] [stdout]    99       │-            let (a, stack) = stack.pop_arg(vm)?;
[INFO] [stdout]   100       │-            let _: StackedArgs<()> = stack;
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]   101       │-            env.poll_fi_fo(a, b).map(|x| x.to_i32())
[INFO] [stdout]   102       │-        }
[INFO] [stdout]   103       │-        _ => Err(OcallError::UnknownCallNumber),
[INFO] [stdout]   104       │-    }
[INFO] [stdout]   105       │-}
[INFO] [stdout]   106       │-pub fn dispatch_call<Env: Ocall + OcallEnv, Vm: VmMemory>(
[INFO] [stdout]   107       │-    env: &mut Env,
[INFO] [stdout]   108       │-    vm: &Vm,
[INFO] [stdout]   109       │-    id: i32,
[INFO] [stdout]   110       │-    p0: IntPtr,
[INFO] [stdout]   111       │-    p1: IntPtr,
[INFO] [stdout]   112       │-    p2: IntPtr,
[INFO] [stdout]   113       │-    p3: IntPtr,
[INFO] [stdout]   114       │-) -> Result<i32> {
[INFO] [stdout]   115       │-    Ok(match id {
[INFO] [stdout]   116       │-        101 => {
[INFO] [stdout]   117       │-            let (a, b) = {
[INFO] [stdout]   118       │-                let mut buf = vm.slice_from_vm(p0, p1)?;
[INFO] [stdout]   119       │-                Decode::decode(&mut buf).or(Err(OcallError::InvalidParameter))?
[INFO] [stdout]   120       │-            };
[INFO] [stdout]   121       │-            let ret = env.call_slow(a, b);
[INFO] [stdout]   122       │-            env.put_return(ret?.encode()) as _
[INFO] [stdout]   123       │-        }
[INFO] [stdout]   124       │-        103 => {
[INFO] [stdout]   125       │-            let stack = StackedArgs::load(&[p0, p1, p2, p3]).ok_or(OcallError::InvalidParameter)?;
[INFO] [stdout]   126       │-            let (b, stack) = stack.pop_arg(vm)?;
[INFO] [stdout]   127       │-            let (a, stack) = stack.pop_arg(vm)?;
[INFO] [stdout]   128       │-            let _: StackedArgs<()> = stack;
[INFO] [stdout]   129       │-            let ret = env.call_fi(a, b);
[INFO] [stdout]   130       │-            env.put_return(ret?.encode()) as _
[INFO] [stdout]   131       │-        }
[INFO] [stdout]   132       │-        _ => return Err(OcallError::UnknownCallNumber),
[INFO] [stdout]   133       │-    })
[INFO] [stdout]   134       │-}
[INFO] [stdout]   135       │-pub fn ocall_id2name(id: i32) -> &'static str {
[INFO] [stdout]   136       │-    match id {
[INFO] [stdout]   137       │-        0 => "get_return",
[INFO] [stdout]   138       │-        101i32 => "call_slow",
[INFO] [stdout]   139       │-        103i32 => "call_fi",
[INFO] [stdout]   140       │-        104i32 => "call_fo",
[INFO] [stdout]   141       │-        102i32 => "poll_fi_fo",
[INFO] [stdout]   142       │-        _ => "unknown",
[INFO] [stdout]   143       │-    }
[INFO] [stdout]   144       │-}
[INFO] [stdout] ────────────┴───────────────────────────────────────────────────────────────────
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_ocall' (315) panicked at src/tests.rs:18:5:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: FileIo(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }, "/opt/rustwide/workdir/src/snapshots/pink_sidevm_macro__tests__ocall.snap.new")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x799d792a1821 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x799d792a1821 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x799d792a1821 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x799d792a1821 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x799d792e8aea - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x799d792e8aea - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x799d792b27cc - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x799d792b27cc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x799d7926b1a6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x799d7926b1a6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x799d792922a9 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x654db7c2b810 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]   12:     0x799d792925d2 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   13:     0x799d792925d2 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   14:     0x799d7926b252 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:688:13
[INFO] [stdout]   15:     0x799d792628a9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   16:     0x799d7926cb5d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   17:     0x799d792e957c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   18:     0x799d792e9262 - core[df12db4294e9bfd3]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/result.rs:1871:5
[INFO] [stdout]   19:     0x654db7b2c445 - pink_sidevm_macro[f6f00b48ffa7ef81]::tests::test_ocall
[INFO] [stdout]   20:     0x654db7b22829 - <pink_sidevm_macro[f6f00b48ffa7ef81]::tests::test_ocall::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   21:     0x654db7c1eafb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   22:     0x654db7c2c165 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   23:     0x654db7c25a24 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   24:     0x654db7c2f2c2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   25:     0x799d7929ddf9 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   26:     0x799d7929ddf9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   27:     0x799d78ffadfa - <unknown>
[INFO] [stdout]   28:     0x799d7908e3d4 - clone
[INFO] [stdout]   29:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_main
[INFO] [stdout]     tests::test_ocall
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96", kill_on_drop: false }`
[INFO] [stdout] 7d467bc4b7d0bc29845acc267e18f587388856749dde4ad4259ac978b77e0d96
