[INFO] cloning repository https://github.com/strexicious/believmr [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/strexicious/believmr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstrexicious%2Fbelievmr", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstrexicious%2Fbelievmr'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 72c33c3ddfd0364db1d600549c3074a6bd1732f8 [INFO] checking strexicious/believmr against master#22572d0994593197593e2a1b7b18d720a9a349a7 for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstrexicious%2Fbelievmr" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/strexicious/believmr on toolchain 22572d0994593197593e2a1b7b18d720a9a349a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/strexicious/believmr [INFO] finished tweaking git repo https://github.com/strexicious/believmr [INFO] tweaked toml for git repo https://github.com/strexicious/believmr written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/strexicious/believmr 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" "+22572d0994593197593e2a1b7b18d720a9a349a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 948ce18b1a7cbfa9ad97041d8af018f3e36529fb439c43dd0c6157a6d5e50ce3 [INFO] running `Command { std: "docker" "start" "-a" "948ce18b1a7cbfa9ad97041d8af018f3e36529fb439c43dd0c6157a6d5e50ce3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "948ce18b1a7cbfa9ad97041d8af018f3e36529fb439c43dd0c6157a6d5e50ce3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "948ce18b1a7cbfa9ad97041d8af018f3e36529fb439c43dd0c6157a6d5e50ce3", kill_on_drop: false }` [INFO] [stdout] 948ce18b1a7cbfa9ad97041d8af018f3e36529fb439c43dd0c6157a6d5e50ce3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c029c7220cadf7f91fcbbd38c56a06539e2f3de6f90b774773e033894a4037f9 [INFO] running `Command { std: "docker" "start" "-a" "c029c7220cadf7f91fcbbd38c56a06539e2f3de6f90b774773e033894a4037f9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling syn v0.15.42 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling serde v1.0.98 [INFO] [stderr] Compiling autocfg v0.1.5 [INFO] [stderr] Compiling bincode v1.1.4 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling serde_derive v1.0.98 [INFO] [stderr] Checking believmr v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `TcpListener` [INFO] [stdout] --> src/cluster/worker.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{TcpListener, TcpStream, ToSocketAddrs}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TcpListener` [INFO] [stdout] --> src/cluster/worker.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{TcpListener, TcpStream, ToSocketAddrs}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/worker.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> src/cluster/master.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Result, Error, ErrorKind, Read, Write}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/master.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `worker::*` [INFO] [stdout] --> src/cluster.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use worker::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `master::*` [INFO] [stdout] --> src/cluster.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use master::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/worker.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> src/cluster/master.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Result, Error, ErrorKind, Read, Write}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/master.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `worker::*` [INFO] [stdout] --> src/cluster.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use worker::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `master::*` [INFO] [stdout] --> src/cluster.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use master::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_mem` and `print_program` are never used [INFO] [stdout] --> src/engine.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Process { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn print_mem(&self, pos: u16, offset: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn print_program(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/engine/instr.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(u8), [INFO] [stdout] | ------------- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DecodeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Worker` is never constructed [INFO] [stdout] --> src/cluster/worker.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `register` is never used [INFO] [stdout] --> src/cluster/worker.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Worker { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 13 | pub fn register(id: usize, to: A) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Master` is never constructed [INFO] [stdout] --> src/cluster/master.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Master { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `listen_on` and `accept_workers` are never used [INFO] [stdout] --> src/cluster/master.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Master { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn listen_on(addr: A) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn accept_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MESSAGE_SIZE` is never used [INFO] [stdout] --> src/cluster/message.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const MESSAGE_SIZE: usize = mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `serialized` is never used [INFO] [stdout] --> src/cluster/message.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Message { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 13 | pub fn serialized(&self) -> [u8; MESSAGE_SIZE] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | host.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = host.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | host.flush(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 22 | let _ = host.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | worker.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 23 | let _ = worker.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | worker.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = worker.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_mem` and `print_program` are never used [INFO] [stdout] --> src/engine.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Process { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn print_mem(&self, pos: u16, offset: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn print_program(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/engine/instr.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(u8), [INFO] [stdout] | ------------- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DecodeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Worker` is never constructed [INFO] [stdout] --> src/cluster/worker.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `register` is never used [INFO] [stdout] --> src/cluster/worker.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Worker { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 13 | pub fn register(id: usize, to: A) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Master` is never constructed [INFO] [stdout] --> src/cluster/master.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Master { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `listen_on` and `accept_workers` are never used [INFO] [stdout] --> src/cluster/master.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Master { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn listen_on(addr: A) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn accept_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MESSAGE_SIZE` is never used [INFO] [stdout] --> src/cluster/message.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const MESSAGE_SIZE: usize = mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `serialized` is never used [INFO] [stdout] --> src/cluster/message.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Message { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 13 | pub fn serialized(&self) -> [u8; MESSAGE_SIZE] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | host.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = host.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | host.flush(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 22 | let _ = host.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | worker.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 23 | let _ = worker.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | worker.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = worker.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.91s [INFO] running `Command { std: "docker" "inspect" "c029c7220cadf7f91fcbbd38c56a06539e2f3de6f90b774773e033894a4037f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c029c7220cadf7f91fcbbd38c56a06539e2f3de6f90b774773e033894a4037f9", kill_on_drop: false }` [INFO] [stdout] c029c7220cadf7f91fcbbd38c56a06539e2f3de6f90b774773e033894a4037f9 [INFO] checking strexicious/believmr against try#6289438dbad80b1a0029c66dd3f6abf57c2c51be for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstrexicious%2Fbelievmr" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/strexicious/believmr on toolchain 6289438dbad80b1a0029c66dd3f6abf57c2c51be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/strexicious/believmr [INFO] finished tweaking git repo https://github.com/strexicious/believmr [INFO] tweaked toml for git repo https://github.com/strexicious/believmr written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/strexicious/believmr 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" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fb149bf665d659a99acb22fc853764ccd04563e151972d4b0b73d16c98eef2aa [INFO] running `Command { std: "docker" "start" "-a" "fb149bf665d659a99acb22fc853764ccd04563e151972d4b0b73d16c98eef2aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fb149bf665d659a99acb22fc853764ccd04563e151972d4b0b73d16c98eef2aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb149bf665d659a99acb22fc853764ccd04563e151972d4b0b73d16c98eef2aa", kill_on_drop: false }` [INFO] [stdout] fb149bf665d659a99acb22fc853764ccd04563e151972d4b0b73d16c98eef2aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 13fead16d918ffa76f651a2ee6edff9122d0b91290c8325f6d61cde9dd507eac [INFO] running `Command { std: "docker" "start" "-a" "13fead16d918ffa76f651a2ee6edff9122d0b91290c8325f6d61cde9dd507eac", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling syn v0.15.42 [INFO] [stderr] Compiling autocfg v0.1.5 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling serde v1.0.98 [INFO] [stderr] Compiling bincode v1.1.4 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling serde_derive v1.0.98 [INFO] [stderr] Checking believmr v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `TcpListener` [INFO] [stdout] --> src/cluster/worker.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{TcpListener, TcpStream, ToSocketAddrs}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/worker.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> src/cluster/master.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Result, Error, ErrorKind, Read, Write}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/master.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `worker::*` [INFO] [stdout] --> src/cluster.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use worker::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `master::*` [INFO] [stdout] --> src/cluster.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use master::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TcpListener` [INFO] [stdout] --> src/cluster/worker.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{TcpListener, TcpStream, ToSocketAddrs}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/worker.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> src/cluster/master.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Result, Error, ErrorKind, Read, Write}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/cluster/master.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `worker::*` [INFO] [stdout] --> src/cluster.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use worker::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `master::*` [INFO] [stdout] --> src/cluster.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use master::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_mem` and `print_program` are never used [INFO] [stdout] --> src/engine.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Process { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn print_mem(&self, pos: u16, offset: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn print_program(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/engine/instr.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(u8), [INFO] [stdout] | ------------- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DecodeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Worker` is never constructed [INFO] [stdout] --> src/cluster/worker.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `register` is never used [INFO] [stdout] --> src/cluster/worker.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Worker { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 13 | pub fn register(id: usize, to: A) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Master` is never constructed [INFO] [stdout] --> src/cluster/master.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Master { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `listen_on` and `accept_workers` are never used [INFO] [stdout] --> src/cluster/master.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Master { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn listen_on(addr: A) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn accept_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MESSAGE_SIZE` is never used [INFO] [stdout] --> src/cluster/message.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const MESSAGE_SIZE: usize = mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `serialized` is never used [INFO] [stdout] --> src/cluster/message.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Message { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 13 | pub fn serialized(&self) -> [u8; MESSAGE_SIZE] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | host.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = host.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | host.flush(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 22 | let _ = host.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | worker.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 23 | let _ = worker.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | worker.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = worker.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_mem` and `print_program` are never used [INFO] [stdout] --> src/engine.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Process { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn print_mem(&self, pos: u16, offset: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn print_program(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/engine/instr.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(u8), [INFO] [stdout] | ------------- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DecodeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | UnknownOpcode(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Worker` is never constructed [INFO] [stdout] --> src/cluster/worker.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `register` is never used [INFO] [stdout] --> src/cluster/worker.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Worker { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 13 | pub fn register(id: usize, to: A) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Master` is never constructed [INFO] [stdout] --> src/cluster/master.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Master { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `listen_on` and `accept_workers` are never used [INFO] [stdout] --> src/cluster/master.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Master { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn listen_on(addr: A) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn accept_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MESSAGE_SIZE` is never used [INFO] [stdout] --> src/cluster/message.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const MESSAGE_SIZE: usize = mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `serialized` is never used [INFO] [stdout] --> src/cluster/message.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Message { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 13 | pub fn serialized(&self) -> [u8; MESSAGE_SIZE] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | host.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = host.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/worker.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | host.flush(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 22 | let _ = host.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | worker.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 23 | let _ = worker.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cluster/master.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | worker.read_exact(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = worker.read_exact(&mut buffer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.54s [INFO] running `Command { std: "docker" "inspect" "13fead16d918ffa76f651a2ee6edff9122d0b91290c8325f6d61cde9dd507eac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13fead16d918ffa76f651a2ee6edff9122d0b91290c8325f6d61cde9dd507eac", kill_on_drop: false }` [INFO] [stdout] 13fead16d918ffa76f651a2ee6edff9122d0b91290c8325f6d61cde9dd507eac