[INFO] cloning repository https://github.com/adamreeve/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/adamreeve/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadamreeve%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadamreeve%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4d812b3240ac7cfbb96821fb64282ecce7a199e1 [INFO] testing adamreeve/rlox against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadamreeve%2Frlox" "/workspace/builds/worker-80/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-80/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/adamreeve/rlox on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/adamreeve/rlox [INFO] finished tweaking git repo https://github.com/adamreeve/rlox [INFO] tweaked toml for git repo https://github.com/adamreeve/rlox written to /workspace/builds/worker-80/source/Cargo.toml [INFO] crate git repo https://github.com/adamreeve/rlox already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 47e6db05c1235675f11975cd3a3253d969aebb145c53880c6518b0d39660a432 [INFO] running `Command { std: "docker" "start" "-a" "47e6db05c1235675f11975cd3a3253d969aebb145c53880c6518b0d39660a432", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "47e6db05c1235675f11975cd3a3253d969aebb145c53880c6518b0d39660a432", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47e6db05c1235675f11975cd3a3253d969aebb145c53880c6518b0d39660a432", kill_on_drop: false }` [INFO] [stdout] 47e6db05c1235675f11975cd3a3253d969aebb145c53880c6518b0d39660a432 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4966ba312708d140be8ee175977d1839bcef69779ff8110734ab19c56ce0a519 [INFO] running `Command { std: "docker" "start" "-a" "4966ba312708d140be8ee175977d1839bcef69779ff8110734ab19c56ce0a519", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.40 [INFO] [stderr] Compiling strsim v0.7.0 [INFO] [stderr] Compiling bitflags v1.0.3 [INFO] [stderr] Compiling byteorder v1.2.1 [INFO] [stderr] Compiling textwrap v0.9.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling enum-primitive-derive v0.1.2 [INFO] [stderr] Compiling atty v0.2.10 [INFO] [stderr] Compiling clap v2.31.2 [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | fn cause(&self) -> Option<&Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn cause(&self) -> Option<&Error> { [INFO] [stdout] 32 + fn cause(&self) -> Option<&dyn Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/scanner.rs:278:53 [INFO] [stdout] | [INFO] [stdout] 278 | fn is_some_where(x: Option, predicate: &Fn(T) -> bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 - fn is_some_where(x: Option, predicate: &Fn(T) -> bool) -> bool { [INFO] [stdout] 278 + fn is_some_where(x: Option, predicate: &dyn Fn(T) -> bool) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:28:60 [INFO] [stdout] | [INFO] [stdout] 28 | InterpretError::IoError(io_error) => &io_error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/compiler.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | self.error(err.description()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `StringInterner` [INFO] [stdout] --> src/string_interner.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct StringInterner { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/string_interner.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new() -> StringInterner { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `intern` [INFO] [stdout] --> src/string_interner.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn intern(&mut self, string: String) -> InternedString { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `resolve` [INFO] [stdout] --> src/string_interner.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn resolve(&self, symbol: InternedString) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_str` [INFO] [stdout] --> src/string_interner.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | fn from_str(string: &str) -> InternedStringRef { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.28s [INFO] running `Command { std: "docker" "inspect" "4966ba312708d140be8ee175977d1839bcef69779ff8110734ab19c56ce0a519", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4966ba312708d140be8ee175977d1839bcef69779ff8110734ab19c56ce0a519", kill_on_drop: false }` [INFO] [stdout] 4966ba312708d140be8ee175977d1839bcef69779ff8110734ab19c56ce0a519 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cd123447c02bcd99fa9b65f79b2e07e8f2c32cbd4a9425605809d0a598ea6992 [INFO] running `Command { std: "docker" "start" "-a" "cd123447c02bcd99fa9b65f79b2e07e8f2c32cbd4a9425605809d0a598ea6992", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/chunk.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | use std::io::{Cursor, Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | fn cause(&self) -> Option<&Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn cause(&self) -> Option<&Error> { [INFO] [stdout] 32 + fn cause(&self) -> Option<&dyn Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/scanner.rs:278:53 [INFO] [stdout] | [INFO] [stdout] 278 | fn is_some_where(x: Option, predicate: &Fn(T) -> bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 - fn is_some_where(x: Option, predicate: &Fn(T) -> bool) -> bool { [INFO] [stdout] 278 + fn is_some_where(x: Option, predicate: &dyn Fn(T) -> bool) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:28:60 [INFO] [stdout] | [INFO] [stdout] 28 | InterpretError::IoError(io_error) => &io_error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/compiler.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | self.error(err.description()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.29s [INFO] running `Command { std: "docker" "inspect" "cd123447c02bcd99fa9b65f79b2e07e8f2c32cbd4a9425605809d0a598ea6992", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd123447c02bcd99fa9b65f79b2e07e8f2c32cbd4a9425605809d0a598ea6992", kill_on_drop: false }` [INFO] [stdout] cd123447c02bcd99fa9b65f79b2e07e8f2c32cbd4a9425605809d0a598ea6992 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-80/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3bdf8df3c0a4b120b3dfdd3580a2c65f877a28b9953f0cfe62366c10fa9f4eb3 [INFO] running `Command { std: "docker" "start" "-a" "3bdf8df3c0a4b120b3dfdd3580a2c65f877a28b9953f0cfe62366c10fa9f4eb3", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/chunk.rs:51:27 [INFO] [stderr] | [INFO] [stderr] 51 | use std::io::{Cursor, Read, Write}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:32:32 [INFO] [stderr] | [INFO] [stderr] 32 | fn cause(&self) -> Option<&Error> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 - fn cause(&self) -> Option<&Error> { [INFO] [stderr] 32 + fn cause(&self) -> Option<&dyn Error> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scanner.rs:278:53 [INFO] [stderr] | [INFO] [stderr] 278 | fn is_some_where(x: Option, predicate: &Fn(T) -> bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 278 - fn is_some_where(x: Option, predicate: &Fn(T) -> bool) -> bool { [INFO] [stderr] 278 + fn is_some_where(x: Option, predicate: &dyn Fn(T) -> bool) -> bool { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:28:60 [INFO] [stderr] | [INFO] [stderr] 28 | InterpretError::IoError(io_error) => &io_error.description(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/compiler.rs:193:28 [INFO] [stderr] | [INFO] [stderr] 193 | self.error(err.description()); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rlox` (bin "rlox" test) generated 5 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.01s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rlox-5e7c4ded8b76829c) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test chunk::test::test_write_more_than_256_constants ... ok [INFO] [stdout] test chunk::test::test_write_constant ... ok [INFO] [stdout] test chunk::test::test_write_instruction ... ok [INFO] [stdout] test chunk::test::test_write_multiple_instruction ... ok [INFO] [stdout] test run_length_encoding::test::test_empty ... ok [INFO] [stdout] test run_length_encoding::test::test_iterate_complex ... ok [INFO] [stdout] test run_length_encoding::test::test_iterate_empty ... ok [INFO] [stdout] test run_length_encoding::test::test_iterate_run ... ok [INFO] [stdout] test run_length_encoding::test::test_iterate_single_item ... ok [INFO] [stdout] test run_length_encoding::test::test_store_complex ... ok [INFO] [stdout] test run_length_encoding::test::test_store_run ... ok [INFO] [stdout] test scanner::tests::test_incrementing_line_count ... ok [INFO] [stdout] test scanner::tests::test_parse_identifiers ... ok [INFO] [stdout] test scanner::tests::test_parse_keywords ... ok [INFO] [stdout] test scanner::tests::test_parsing_binary_numeric_expression ... ok [INFO] [stdout] test scanner::tests::test_skipping_whitespace_and_comments_before_eof ... ok [INFO] [stdout] test scanner::tests::test_skipping_whitespace_and_comments_before_more_tokens ... ok [INFO] [stdout] test string_interner::test::interned_string_equal ... ok [INFO] [stdout] test string_interner::test::interned_string_refs_equal ... ok [INFO] [stdout] test string_interner::test::interned_string_not_equal ... ok [INFO] [stdout] test scanner::tests::test_parsing_unary_expression ... ok [INFO] [stdout] test string_interner::test::interned_string_refs_hash_equal ... ok [INFO] [stdout] test scanner::tests::test_parse_multiple_characters ... ok [INFO] [stdout] test string_interner::test::interned_string_refs_hash_not_equal ... ok [INFO] [stdout] test scanner::tests::test_parse_single_characters ... ok [INFO] [stdout] test string_interner::test::interned_string_refs_not_equal ... ok [INFO] [stdout] test string_interner::test::interned_string_resolve ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3bdf8df3c0a4b120b3dfdd3580a2c65f877a28b9953f0cfe62366c10fa9f4eb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3bdf8df3c0a4b120b3dfdd3580a2c65f877a28b9953f0cfe62366c10fa9f4eb3", kill_on_drop: false }` [INFO] [stdout] 3bdf8df3c0a4b120b3dfdd3580a2c65f877a28b9953f0cfe62366c10fa9f4eb3