[INFO] cloning repository https://github.com/ljkeller/pitop [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ljkeller/pitop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fljkeller%2Fpitop", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fljkeller%2Fpitop'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9f601d6efdd1c87a1af636f13269ffffc48bd421 [INFO] testing ljkeller/pitop against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759-retry [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fljkeller%2Fpitop" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ljkeller/pitop [INFO] finished tweaking git repo https://github.com/ljkeller/pitop [INFO] tweaked toml for git repo https://github.com/ljkeller/pitop written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ljkeller/pitop on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ljkeller/pitop 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unicode-width v0.1.10 [INFO] [stderr] Downloaded windows-targets v0.48.1 [INFO] [stderr] Downloaded signal-hook-registry v1.4.1 [INFO] [stderr] Downloaded hermit-abi v0.3.1 [INFO] [stderr] Downloaded parking_lot_core v0.9.8 [INFO] [stderr] Downloaded signal-hook v0.3.15 [INFO] [stderr] Downloaded bitflags v2.3.3 [INFO] [stderr] Downloaded colorchoice v1.0.0 [INFO] [stderr] Downloaded itoa v1.0.6 [INFO] [stderr] Downloaded anstyle-query v1.0.0 [INFO] [stderr] Downloaded anstyle-parse v0.2.1 [INFO] [stderr] Downloaded rayon-core v1.11.0 [INFO] [stderr] Downloaded sysinfo v0.29.3 [INFO] [stderr] Downloaded serde v1.0.171 [INFO] [stderr] Downloaded crossbeam-channel v0.5.8 [INFO] [stderr] Downloaded clap_builder v4.3.19 [INFO] [stderr] Downloaded serde_derive v1.0.171 [INFO] [stderr] Downloaded serde_json v1.0.99 [INFO] [stderr] Downloaded libc v0.2.147 [INFO] [stderr] Downloaded core-foundation-sys v0.8.4 [INFO] [stderr] Downloaded once_cell v1.18.0 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.15 [INFO] [stderr] Downloaded rayon v1.7.0 [INFO] [stderr] Downloaded crossbeam-utils v0.8.16 [INFO] [stderr] Downloaded proc-macro2 v1.0.63 [INFO] [stderr] Downloaded quote v1.0.29 [INFO] [stderr] Downloaded syn v2.0.25 [INFO] [stderr] Downloaded unicode-ident v1.0.9 [INFO] [stderr] Downloaded getrandom v0.2.10 [INFO] [stderr] Downloaded crossterm_winapi v0.9.1 [INFO] [stderr] Downloaded lock_api v0.4.10 [INFO] [stderr] Downloaded anstyle-wincon v1.0.1 [INFO] [stderr] Downloaded rustix v0.38.7 [INFO] [stderr] Downloaded windows_aarch64_gnullvm v0.48.0 [INFO] [stderr] Downloaded windows_x86_64_gnullvm v0.48.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.48.0 [INFO] [stderr] Downloaded errno v0.3.2 [INFO] [stderr] Downloaded is-terminal v0.4.9 [INFO] [stderr] Downloaded clap_lex v0.5.0 [INFO] [stderr] Downloaded clap v4.3.19 [INFO] [stderr] Downloaded ryu v1.0.13 [INFO] [stderr] Downloaded ppv-lite86 v0.2.17 [INFO] [stderr] Downloaded log v0.4.19 [INFO] [stderr] Downloaded redox_syscall v0.3.5 [INFO] [stderr] Downloaded mio v0.8.8 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.48.0 [INFO] [stderr] Downloaded crossterm v0.25.0 [INFO] [stderr] Downloaded unicode-segmentation v1.10.1 [INFO] [stderr] Downloaded tui v0.19.0 [INFO] [stderr] Downloaded utf8parse v0.2.1 [INFO] [stderr] Downloaded anstream v0.3.2 [INFO] [stderr] Downloaded anstyle v1.0.1 [INFO] [stderr] Downloaded clap_derive v4.3.12 [INFO] [stderr] Downloaded windows_i686_gnu v0.48.0 [INFO] [stderr] Downloaded windows_i686_msvc v0.48.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.48.0 [INFO] [stderr] Downloaded either v1.8.1 [INFO] [stderr] Downloaded memoffset v0.9.0 [INFO] [stderr] Downloaded crossbeam-deque v0.8.3 [INFO] [stderr] Downloaded smallvec v1.10.0 [INFO] [stderr] Downloaded linux-raw-sys v0.4.5 [INFO] [stderr] Downloaded cc v1.0.81 [INFO] [stderr] Downloaded num_cpus v1.16.0 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d70942c2e82664228d37de0475262c8f784d792f1117140165fcb5a46e59edcc [INFO] running `Command { std: "docker" "start" "-a" "d70942c2e82664228d37de0475262c8f784d792f1117140165fcb5a46e59edcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d70942c2e82664228d37de0475262c8f784d792f1117140165fcb5a46e59edcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d70942c2e82664228d37de0475262c8f784d792f1117140165fcb5a46e59edcc", kill_on_drop: false }` [INFO] [stdout] d70942c2e82664228d37de0475262c8f784d792f1117140165fcb5a46e59edcc [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=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f84ea2787e4c19685efaacd12fa44c8fef42dafe05fbcc4aec7a45bf61df8454 [INFO] running `Command { std: "docker" "start" "-a" "f84ea2787e4c19685efaacd12fa44c8fef42dafe05fbcc4aec7a45bf61df8454", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.63 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling quote v1.0.29 [INFO] [stderr] Compiling unicode-ident v1.0.9 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling rustix v0.38.7 [INFO] [stderr] Compiling bitflags v2.3.3 [INFO] [stderr] Compiling linux-raw-sys v0.4.5 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling rayon-core v1.11.0 [INFO] [stderr] Compiling serde v1.0.171 [INFO] [stderr] Compiling signal-hook v0.3.15 [INFO] [stderr] Compiling log v0.4.19 [INFO] [stderr] Compiling smallvec v1.10.0 [INFO] [stderr] Compiling utf8parse v0.2.1 [INFO] [stderr] Compiling anstyle-query v1.0.0 [INFO] [stderr] Compiling colorchoice v1.0.0 [INFO] [stderr] Compiling anstyle-parse v0.2.1 [INFO] [stderr] Compiling serde_json v1.0.99 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling either v1.8.1 [INFO] [stderr] Compiling anstyle v1.0.1 [INFO] [stderr] Compiling clap_lex v0.5.0 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling ryu v1.0.13 [INFO] [stderr] Compiling itoa v1.0.6 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling unicode-width v0.1.10 [INFO] [stderr] Compiling unicode-segmentation v1.10.1 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling crossbeam-deque v0.8.3 [INFO] [stderr] Compiling syn v2.0.25 [INFO] [stderr] Compiling is-terminal v0.4.9 [INFO] [stderr] Compiling anstream v0.3.2 [INFO] [stderr] Compiling clap_builder v4.3.19 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.3 [INFO] [stderr] Compiling crossterm v0.25.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rayon v1.7.0 [INFO] [stderr] Compiling tui v0.19.0 [INFO] [stderr] Compiling tui_prototype v0.1.0 (/opt/rustwide/workdir/tui_prototype) [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> tui_prototype/src/main.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | Ok(loop { [INFO] [stdout] | _____^^_- [INFO] [stdout] | | | [INFO] [stdout] | | unreachable call [INFO] [stdout] 147 | | terminal.draw(|f| { [INFO] [stdout] 148 | | ui(f, app); [INFO] [stdout] 149 | | })?; [INFO] [stdout] ... | [INFO] [stdout] 162 | | terminal.clear()?; [INFO] [stdout] 163 | | }) [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling serde_derive v1.0.171 [INFO] [stderr] Compiling clap_derive v4.3.12 [INFO] [stderr] Compiling clap v4.3.19 [INFO] [stderr] Compiling sysinfo v0.29.3 [INFO] [stderr] Compiling util_bundle v0.1.0 (/opt/rustwide/workdir/util_bundle) [INFO] [stdout] warning: unused import: `Stdio` [INFO] [stdout] --> util_bundle/src/lib.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::{Command, Stdio}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling pi_server v0.1.0 (/opt/rustwide/workdir/pi_server) [INFO] [stderr] Compiling win_client v0.1.0 (/opt/rustwide/workdir/win_client) [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> pi_server/src/main.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> win_client/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::*` [INFO] [stdout] --> win_client/src/main.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, prelude::*, BufReader, Write}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> pi_server/src/terminal.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Ok(loop { [INFO] [stdout] | _____^^_- [INFO] [stdout] | | | [INFO] [stdout] | | unreachable call [INFO] [stdout] 20 | | terminal.draw(|f| { [INFO] [stdout] 21 | | draw_ui(f, app, &mut color_gen); [INFO] [stdout] 22 | | })?; [INFO] [stdout] ... | [INFO] [stdout] 42 | | terminal.clear()?; [INFO] [stdout] 43 | | }) [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> win_client/src/main.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 40 | / loop { [INFO] [stdout] 41 | | let bundle: UtilBundle = UtilBundle::from_refreshed_sys(&mut sys); [INFO] [stdout] 42 | | // println!("{}", serde_json::to_string_pretty(&bundle).unwrap()); [INFO] [stdout] 43 | | let json_bundle = serde_json::to_string(&bundle).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 54 | | thread::sleep(time::Duration::from_millis(POLLING_PERIOD_MILLIS)); [INFO] [stdout] 55 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 56 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> pi_server/src/main.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 37 | / loop { [INFO] [stdout] 38 | | let bytes_read = in_stream.read(&mut buf)?; [INFO] [stdout] 39 | | [INFO] [stdout] 40 | | if bytes_read == 0 { [INFO] [stdout] ... | [INFO] [stdout] 70 | | received_data.clear(); [INFO] [stdout] 71 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 74 | println!("exiting handle_sender"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> pi_server/src/ui.rs:114:18 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some((x, active_draw)) = gpu_power_draw { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> win_client/src/main.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | let mut reader = BufReader::new(&stream); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> win_client/src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut reader = BufReader::new(&stream); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pi_server/src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | out_stream.send(util_datapoint); [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] 66 | let _ = out_stream.send(util_datapoint); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pi_server/src/main.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | tui_handler.join().unwrap(); [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] 105 | let _ = tui_handler.join().unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s [INFO] running `Command { std: "docker" "inspect" "f84ea2787e4c19685efaacd12fa44c8fef42dafe05fbcc4aec7a45bf61df8454", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f84ea2787e4c19685efaacd12fa44c8fef42dafe05fbcc4aec7a45bf61df8454", kill_on_drop: false }` [INFO] [stdout] f84ea2787e4c19685efaacd12fa44c8fef42dafe05fbcc4aec7a45bf61df8454 [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=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 67eee576cf63601ba5ee9596b19abe560bddd80cc80edef1553b9bb3c30cc361 [INFO] running `Command { std: "docker" "start" "-a" "67eee576cf63601ba5ee9596b19abe560bddd80cc80edef1553b9bb3c30cc361", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling tui_prototype v0.1.0 (/opt/rustwide/workdir/tui_prototype) [INFO] [stdout] warning: unused import: `Stdio` [INFO] [stdout] --> util_bundle/src/lib.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::{Command, Stdio}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling util_bundle v0.1.0 (/opt/rustwide/workdir/util_bundle) [INFO] [stderr] Compiling pi_server v0.1.0 (/opt/rustwide/workdir/pi_server) [INFO] [stderr] Compiling win_client v0.1.0 (/opt/rustwide/workdir/win_client) [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> tui_prototype/src/main.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | Ok(loop { [INFO] [stdout] | _____^^_- [INFO] [stdout] | | | [INFO] [stdout] | | unreachable call [INFO] [stdout] 147 | | terminal.draw(|f| { [INFO] [stdout] 148 | | ui(f, app); [INFO] [stdout] 149 | | })?; [INFO] [stdout] ... | [INFO] [stdout] 162 | | terminal.clear()?; [INFO] [stdout] 163 | | }) [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stdio` [INFO] [stdout] --> util_bundle/src/lib.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::{Command, Stdio}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> win_client/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::*` [INFO] [stdout] --> win_client/src/main.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, prelude::*, BufReader, Write}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> pi_server/src/main.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> win_client/src/main.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 40 | / loop { [INFO] [stdout] 41 | | let bundle: UtilBundle = UtilBundle::from_refreshed_sys(&mut sys); [INFO] [stdout] 42 | | // println!("{}", serde_json::to_string_pretty(&bundle).unwrap()); [INFO] [stdout] 43 | | let json_bundle = serde_json::to_string(&bundle).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 54 | | thread::sleep(time::Duration::from_millis(POLLING_PERIOD_MILLIS)); [INFO] [stdout] 55 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 56 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> pi_server/src/terminal.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Ok(loop { [INFO] [stdout] | _____^^_- [INFO] [stdout] | | | [INFO] [stdout] | | unreachable call [INFO] [stdout] 20 | | terminal.draw(|f| { [INFO] [stdout] 21 | | draw_ui(f, app, &mut color_gen); [INFO] [stdout] 22 | | })?; [INFO] [stdout] ... | [INFO] [stdout] 42 | | terminal.clear()?; [INFO] [stdout] 43 | | }) [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> win_client/src/main.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | let mut reader = BufReader::new(&stream); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> win_client/src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut reader = BufReader::new(&stream); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> pi_server/src/main.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 37 | / loop { [INFO] [stdout] 38 | | let bytes_read = in_stream.read(&mut buf)?; [INFO] [stdout] 39 | | [INFO] [stdout] 40 | | if bytes_read == 0 { [INFO] [stdout] ... | [INFO] [stdout] 70 | | received_data.clear(); [INFO] [stdout] 71 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 74 | println!("exiting handle_sender"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> pi_server/src/ui.rs:114:18 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some((x, active_draw)) = gpu_power_draw { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pi_server/src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | out_stream.send(util_datapoint); [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] 66 | let _ = out_stream.send(util_datapoint); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pi_server/src/main.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | tui_handler.join().unwrap(); [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] 105 | let _ = tui_handler.join().unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.91s [INFO] running `Command { std: "docker" "inspect" "67eee576cf63601ba5ee9596b19abe560bddd80cc80edef1553b9bb3c30cc361", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "67eee576cf63601ba5ee9596b19abe560bddd80cc80edef1553b9bb3c30cc361", kill_on_drop: false }` [INFO] [stdout] 67eee576cf63601ba5ee9596b19abe560bddd80cc80edef1553b9bb3c30cc361 [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=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 706b80fc6951b97bbccde79ded43840fde9ec87f9ce8df7a001247ad2bc1134d [INFO] running `Command { std: "docker" "start" "-a" "706b80fc6951b97bbccde79ded43840fde9ec87f9ce8df7a001247ad2bc1134d", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] warning: unreachable call [INFO] [stderr] --> tui_prototype/src/main.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | Ok(loop { [INFO] [stderr] | _____^^_- [INFO] [stderr] | | | [INFO] [stderr] | | unreachable call [INFO] [stderr] 147 | | terminal.draw(|f| { [INFO] [stderr] 148 | | ui(f, app); [INFO] [stderr] 149 | | })?; [INFO] [stderr] ... | [INFO] [stderr] 162 | | terminal.clear()?; [INFO] [stderr] 163 | | }) [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `tui_prototype` (bin "tui_prototype" test) generated 1 warning [INFO] [stderr] warning: unused import: `Stdio` [INFO] [stderr] --> util_bundle/src/lib.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | use std::process::{Command, Stdio}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `util_bundle` (lib) generated 1 warning (run `cargo fix --lib -p util_bundle` to apply 1 suggestion) [INFO] [stderr] warning: `util_bundle` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> pi_server/src/main.rs:9:21 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::{Read, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable call [INFO] [stderr] --> pi_server/src/terminal.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Ok(loop { [INFO] [stderr] | _____^^_- [INFO] [stderr] | | | [INFO] [stderr] | | unreachable call [INFO] [stderr] 20 | | terminal.draw(|f| { [INFO] [stderr] 21 | | draw_ui(f, app, &mut color_gen); [INFO] [stderr] 22 | | })?; [INFO] [stderr] ... | [INFO] [stderr] 42 | | terminal.clear()?; [INFO] [stderr] 43 | | }) [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> pi_server/src/main.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 37 | / loop { [INFO] [stderr] 38 | | let bytes_read = in_stream.read(&mut buf)?; [INFO] [stderr] 39 | | [INFO] [stderr] 40 | | if bytes_read == 0 { [INFO] [stderr] ... | [INFO] [stderr] 70 | | received_data.clear(); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] ... [INFO] [stderr] 74 | println!("exiting handle_sender"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> pi_server/src/ui.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | if let Some((x, active_draw)) = gpu_power_draw { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> pi_server/src/main.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | out_stream.send(util_datapoint); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 66 | let _ = out_stream.send(util_datapoint); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> pi_server/src/main.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | tui_handler.join().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 105 | let _ = tui_handler.join().unwrap(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> win_client/src/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `prelude::*` [INFO] [stderr] --> win_client/src/main.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, prelude::*, BufReader, Write}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> win_client/src/main.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 40 | / loop { [INFO] [stderr] 41 | | let bundle: UtilBundle = UtilBundle::from_refreshed_sys(&mut sys); [INFO] [stderr] 42 | | // println!("{}", serde_json::to_string_pretty(&bundle).unwrap()); [INFO] [stderr] 43 | | let json_bundle = serde_json::to_string(&bundle).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 54 | | thread::sleep(time::Duration::from_millis(POLLING_PERIOD_MILLIS)); [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 56 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reader` [INFO] [stderr] --> win_client/src/main.rs:48:17 [INFO] [stderr] | [INFO] [stderr] 48 | let mut reader = BufReader::new(&stream); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> win_client/src/main.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut reader = BufReader::new(&stream); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `pi_server` (bin "pi_server" test) generated 6 warnings (run `cargo fix --bin "pi_server" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `win_client` (bin "win_client" test) generated 5 warnings (run `cargo fix --bin "win_client" --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pi_server-5286ad07750ae139) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tui_prototype-323f84997de96f5b) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/util_bundle-da486b1cecb9c707) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test tests::check_init ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/win_client-fb72b2abb3fa33fc) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests util_bundle [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "706b80fc6951b97bbccde79ded43840fde9ec87f9ce8df7a001247ad2bc1134d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "706b80fc6951b97bbccde79ded43840fde9ec87f9ce8df7a001247ad2bc1134d", kill_on_drop: false }` [INFO] [stdout] 706b80fc6951b97bbccde79ded43840fde9ec87f9ce8df7a001247ad2bc1134d