[INFO] fetching crate froggr 0.1.0...
[INFO] testing froggr-0.1.0 against 1.94.0 for beta-1.95-1
[INFO] extracting crate froggr 0.1.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate froggr 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate froggr 0.1.0
[INFO] tweaked toml for crates.io crate froggr 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate froggr 0.1.0 on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate froggr 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded is-terminal v0.4.13
[INFO] [stderr]   Downloaded hermit-abi v0.4.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.13
[INFO] [stderr]   Downloaded fuser v0.15.1
[INFO] [stderr]   Downloaded zerocopy v0.8.13
[INFO] [stderr]   Downloaded rustix v0.38.41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0259766bdba1c3b631c676a221c9dc2974ec616166eb78bffd306ada21983e3e
[INFO] running `Command { std: "docker" "start" "-a" "0259766bdba1c3b631c676a221c9dc2974ec616166eb78bffd306ada21983e3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0259766bdba1c3b631c676a221c9dc2974ec616166eb78bffd306ada21983e3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0259766bdba1c3b631c676a221c9dc2974ec616166eb78bffd306ada21983e3e", kill_on_drop: false }`
[INFO] [stdout] 0259766bdba1c3b631c676a221c9dc2974ec616166eb78bffd306ada21983e3e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 57045e91f7f03846c50c2ec46e3188deda227e98d3df9256de7a8e6589a765bc
[INFO] running `Command { std: "docker" "start" "-a" "57045e91f7f03846c50c2ec46e3188deda227e98d3df9256de7a8e6589a765bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling zerocopy v0.8.13
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling fuser v0.15.1
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling anyhow v1.0.94
[INFO] [stderr]    Compiling clap_builder v4.5.23
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling is-terminal v0.4.13
[INFO] [stderr]    Compiling zerocopy-derive v0.8.13
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling clap v4.5.23
[INFO] [stderr]    Compiling froggr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/modules/mount.rs:99:31
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:215:40
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:215:59
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:215:72
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/modules/proto.rs:283:38
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/modules/proto.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mode: OpenFlags,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oldtag`
[INFO] [stdout]    --> src/modules/proto.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldtag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectoryEntry` is never constructed
[INFO] [stdout]   --> src/modules/mount.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct DirectoryEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAPPEND` is never used
[INFO] [stdout]   --> src/modules/proto.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTEXCL` is never used
[INFO] [stdout]   --> src/modules/proto.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAUTH` is never used
[INFO] [stdout]   --> src/modules/proto.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/modules/mount.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.22s
[INFO] running `Command { std: "docker" "inspect" "57045e91f7f03846c50c2ec46e3188deda227e98d3df9256de7a8e6589a765bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57045e91f7f03846c50c2ec46e3188deda227e98d3df9256de7a8e6589a765bc", kill_on_drop: false }`
[INFO] [stdout] 57045e91f7f03846c50c2ec46e3188deda227e98d3df9256de7a8e6589a765bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c755a8e3a27c28ecd769cfeebcf66b922e859936132d1eda9e2355c7976cc942
[INFO] running `Command { std: "docker" "start" "-a" "c755a8e3a27c28ecd769cfeebcf66b922e859936132d1eda9e2355c7976cc942", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling tempfile v3.14.0
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.13
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling zerocopy v0.8.13
[INFO] [stderr]    Compiling fuser v0.15.1
[INFO] [stderr]    Compiling clap v4.5.23
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling froggr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/modules/mount.rs:99:31
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:215:40
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:215:59
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:215:72
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/modules/proto.rs:283:38
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/modules/proto.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mode: OpenFlags,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oldtag`
[INFO] [stdout]    --> src/modules/proto.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldtag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectoryEntry` is never constructed
[INFO] [stdout]   --> src/modules/mount.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct DirectoryEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAPPEND` is never used
[INFO] [stdout]   --> src/modules/proto.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTEXCL` is never used
[INFO] [stdout]   --> src/modules/proto.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAUTH` is never used
[INFO] [stdout]   --> src/modules/proto.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/modules/mount.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/modules/mount.rs:99:31
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:215:40
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:215:59
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:215:72
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/modules/proto.rs:283:38
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/modules/proto.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mode: OpenFlags,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oldtag`
[INFO] [stdout]    --> src/modules/proto.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldtag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectoryEntry` is never constructed
[INFO] [stdout]   --> src/modules/mount.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct DirectoryEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_test_manager` is never used
[INFO] [stdout]    --> src/modules/mount.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 |     fn setup_test_manager() -> (TempDir, FilesystemManager) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_temp_dir_with_files` is never used
[INFO] [stdout]    --> src/modules/mount.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 |     fn create_temp_dir_with_files(parent: &Path) -> Result<TempDir> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAPPEND` is never used
[INFO] [stdout]   --> src/modules/proto.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTEXCL` is never used
[INFO] [stdout]   --> src/modules/proto.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAUTH` is never used
[INFO] [stdout]   --> src/modules/proto.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/modules/mount.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 30.81s
[INFO] running `Command { std: "docker" "inspect" "c755a8e3a27c28ecd769cfeebcf66b922e859936132d1eda9e2355c7976cc942", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c755a8e3a27c28ecd769cfeebcf66b922e859936132d1eda9e2355c7976cc942", kill_on_drop: false }`
[INFO] [stdout] c755a8e3a27c28ecd769cfeebcf66b922e859936132d1eda9e2355c7976cc942
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] aa591a5cca92616a9fd70d1b3c72a2bb6b6623c6db774ba4b1fb426f2aac71a3
[INFO] running `Command { std: "docker" "start" "-a" "aa591a5cca92616a9fd70d1b3c72a2bb6b6623c6db774ba4b1fb426f2aac71a3", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `parent`
[INFO] [stderr]   --> src/modules/mount.rs:99:31
[INFO] [stderr]    |
[INFO] [stderr] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stderr]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `uname`
[INFO] [stderr]    --> src/modules/proto.rs:200:28
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stderr]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aname`
[INFO] [stderr]    --> src/modules/proto.rs:200:41
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stderr]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `afid`
[INFO] [stderr]    --> src/modules/proto.rs:200:54
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stderr]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `afid`
[INFO] [stderr]    --> src/modules/proto.rs:215:40
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stderr]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `uname`
[INFO] [stderr]    --> src/modules/proto.rs:215:59
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stderr]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aname`
[INFO] [stderr]    --> src/modules/proto.rs:215:72
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stderr]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flags`
[INFO] [stderr]    --> src/modules/proto.rs:283:38
[INFO] [stderr]     |
[INFO] [stderr] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stderr]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mode`
[INFO] [stderr]    --> src/modules/proto.rs:315:9
[INFO] [stderr]     |
[INFO] [stderr] 315 |         mode: OpenFlags,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/modules/proto.rs:375:13
[INFO] [stderr]     |
[INFO] [stderr] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/modules/proto.rs:401:13
[INFO] [stderr]     |
[INFO] [stderr] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/modules/proto.rs:523:13
[INFO] [stderr]     |
[INFO] [stderr] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `oldtag`
[INFO] [stderr]    --> src/modules/proto.rs:545:29
[INFO] [stderr]     |
[INFO] [stderr] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stderr]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldtag`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DirectoryEntry` is never constructed
[INFO] [stderr]   --> src/modules/mount.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 39 | struct DirectoryEntry {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QTAPPEND` is never used
[INFO] [stderr]   --> src/modules/proto.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QTEXCL` is never used
[INFO] [stderr]   --> src/modules/proto.rs:23:7
[INFO] [stderr]    |
[INFO] [stderr] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QTAUTH` is never used
[INFO] [stderr]   --> src/modules/proto.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/modules/mount.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:3:9
[INFO] [stderr]    |
[INFO] [stderr]  3 | #![deny(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `froggr` (lib) generated 18 warnings (run `cargo fix --lib -p froggr` to apply 13 suggestions)
[INFO] [stderr] warning: function `setup_test_manager` is never used
[INFO] [stderr]    --> src/modules/mount.rs:425:8
[INFO] [stderr]     |
[INFO] [stderr] 425 |     fn setup_test_manager() -> (TempDir, FilesystemManager) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_temp_dir_with_files` is never used
[INFO] [stderr]    --> src/modules/mount.rs:432:8
[INFO] [stderr]     |
[INFO] [stderr] 432 |     fn create_temp_dir_with_files(parent: &Path) -> Result<TempDir> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `froggr` (lib test) generated 20 warnings (18 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/froggr-bf4fbc4c2f75d380)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test modules::namespace::tests::test_list_namespace ... ok
[INFO] [stdout] test modules::namespace::tests::test_namespace_manager_creation ... ok
[INFO] [stdout] test modules::proto::tests::test_create_filesystem ... ok
[INFO] [stdout] test modules::proto::tests::test_directory_listing ... ok
[INFO] [stdout] test modules::proto::tests::test_empty_file ... ok
[INFO] [stdout] test modules::proto::tests::test_file_content ... ok
[INFO] [stdout] test modules::proto::tests::test_file_attributes ... ok
[INFO] [stdout] test modules::proto::tests::test_file_lookup ... ok
[INFO] [stdout] test modules::proto::tests::test_root_directory_attributes ... ok
[INFO] [stdout] test modules::namespace::tests::test_bind_modes has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "aa591a5cca92616a9fd70d1b3c72a2bb6b6623c6db774ba4b1fb426f2aac71a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa591a5cca92616a9fd70d1b3c72a2bb6b6623c6db774ba4b1fb426f2aac71a3", kill_on_drop: false }`
[INFO] [stdout] aa591a5cca92616a9fd70d1b3c72a2bb6b6623c6db774ba4b1fb426f2aac71a3
