[INFO] cloning repository https://github.com/zh-explorer/pwnio
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zh-explorer/pwnio" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzh-explorer%2Fpwnio", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzh-explorer%2Fpwnio'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fe7fa9c414a2795a1830aa149f93697458973f5c
[INFO] checking zh-explorer/pwnio against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzh-explorer%2Fpwnio" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zh-explorer/pwnio
[INFO] finished tweaking git repo https://github.com/zh-explorer/pwnio
[INFO] tweaked toml for git repo https://github.com/zh-explorer/pwnio written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zh-explorer/pwnio on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zh-explorer/pwnio already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 86e5cdcfbd79594ef8e9e6076b27a6fb4c566827c0b25704f224164ba20c545b
[INFO] running `Command { std: "docker" "start" "-a" "86e5cdcfbd79594ef8e9e6076b27a6fb4c566827c0b25704f224164ba20c545b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86e5cdcfbd79594ef8e9e6076b27a6fb4c566827c0b25704f224164ba20c545b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86e5cdcfbd79594ef8e9e6076b27a6fb4c566827c0b25704f224164ba20c545b", kill_on_drop: false }`
[INFO] [stdout] 86e5cdcfbd79594ef8e9e6076b27a6fb4c566827c0b25704f224164ba20c545b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9c3b9415395333fbb4105e1db3bd5ef10fb04cd06173642010b9c1f81fc94921
[INFO] running `Command { std: "docker" "start" "-a" "9c3b9415395333fbb4105e1db3bd5ef10fb04cd06173642010b9c1f81fc94921", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling proc-macro2 v1.0.49
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling cc v1.0.78
[INFO] [stderr]     Checking once_cell v1.17.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.5
[INFO] [stderr]     Checking bytes v1.3.0
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling tokio v1.23.0
[INFO] [stderr]     Checking itoa v1.0.5
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling serde_derive v1.0.152
[INFO] [stderr]    Compiling openssl v0.10.45
[INFO] [stderr]     Checking futures-sink v0.3.25
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling futures-channel v0.3.25
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling serde_json v1.0.91
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]     Checking ryu v1.0.12
[INFO] [stderr]    Compiling async-trait v0.1.60
[INFO] [stderr]    Compiling anyhow v1.0.68
[INFO] [stderr]     Checking ipnet v2.7.0
[INFO] [stderr]     Checking http v0.2.8
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling openssl-sys v0.9.80
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling tokio-macros v1.8.2
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]     Checking tokio-util v0.7.4
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking h2 v0.3.15
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking hyper v0.14.23
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.13
[INFO] [stderr]     Checking pwnio v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Rng`, `distributions::Alphanumeric`, and `thread_rng`
[INFO] [stdout]  --> src/util/pwn_util.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{thread_rng, Rng, distributions::Alphanumeric};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `distributions::Alphanumeric`, and `thread_rng`
[INFO] [stdout]  --> src/util/pwn_util.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{thread_rng, Rng, distributions::Alphanumeric};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]    --> src/task/pwn_task.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         Some(task) => {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `er`
[INFO] [stdout]   --> src/main.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |             Err(er) => break,
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_er`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `task_status` is never used
[INFO] [stdout]   --> src/task/pwn_task.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Task {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn task_status(self: &Self) -> TaskStatus;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vm_name` is never read
[INFO] [stdout]  --> src/task/vm_task.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Vm {
[INFO] [stdout]   |        -- field in this struct
[INFO] [stdout] 7 |     vm_name: String,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]   --> src/util/pwn_util.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Pow {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `err` and `msg` are never read
[INFO] [stdout]   --> src/util/pwn_util.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct TeamInfo {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 51 |     err: Option<String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 52 |     msg: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeamInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `create_time` is never read
[INFO] [stdout]   --> src/util/pwn_util.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct TeamData {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     create_time: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeamData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             stream.write_all(b"thx for wait, not you can do challenge\n").await;
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let _ = stream.write_all(b"thx for wait, not you can do challenge\n").await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             stream.write_all(message.as_bytes()).await;
[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] 34 |             let _ = stream.write_all(message.as_bytes()).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                     stream.write_all(b"talk to this port is use less.\n").await;
[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] 49 |                     let _ = stream.write_all(b"talk to this port is use less.\n").await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     stream.write_all(msg.as_bytes()).await;
[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] 50 |                     let _ = stream.write_all(msg.as_bytes()).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         wait_queue(&mut stream, recevier).await;
[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] 100 |         let _ = wait_queue(&mut stream, recevier).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     stream.write_all(message.clone().as_bytes()).await;
[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] 127 |     let _ = stream.write_all(message.clone().as_bytes()).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/task/pwn_task.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         task.shutdown().await;
[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] 80 |         let _ = task.shutdown().await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/task/pwn_task.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     sender.send(task).await;
[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] 95 |                     let _ = sender.send(task).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/task/pwn_task.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         sig_tx.send(true).await; // push one signal to start loop
[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] 109 |         let _ = sig_tx.send(true).await; // push one signal to start loop
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/task/pwn_task.rs:126:29
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...                   sender.send(tasks.pop().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] 126 |                             let _ = sender.send(tasks.pop().unwrap());
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/task/pwn_task.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 sig_tx.send(true).await;
[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] 142 |                 let _ = sig_tx.send(true).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/task/vm_task.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     VM_POOL.as_ref().unwrap()
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/task/vm_task.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             pool = match &VM_POOL {
[INFO] [stdout]    |                          ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 88 |             pool = match &raw const VM_POOL {
[INFO] [stdout]    |                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/pwn_util.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             tx.send(self.waited.len() as u64 +1).await;
[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] 101 |             let _ = tx.send(self.waited.len() as u64 +1).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/pwn_util.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             tx.send(0).await;
[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] 112 |             let _ = tx.send(0).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/pwn_util.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 t.send(i).await;
[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] 115 |                 let _ = t.send(i).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/io/io_forward.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         stop_signal.send(true);
[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] 63 |         let _ = stop_signal.send(true);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]    --> src/task/pwn_task.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         Some(task) => {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `er`
[INFO] [stdout]   --> src/main.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |             Err(er) => break,
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_er`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `task_status` is never used
[INFO] [stdout]   --> src/task/pwn_task.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Task {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn task_status(self: &Self) -> TaskStatus;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vm_name` is never read
[INFO] [stdout]  --> src/task/vm_task.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Vm {
[INFO] [stdout]   |        -- field in this struct
[INFO] [stdout] 7 |     vm_name: String,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]   --> src/util/pwn_util.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Pow {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `err` and `msg` are never read
[INFO] [stdout]   --> src/util/pwn_util.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct TeamInfo {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 51 |     err: Option<String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 52 |     msg: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeamInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `create_time` is never read
[INFO] [stdout]   --> src/util/pwn_util.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct TeamData {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     create_time: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeamData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             stream.write_all(b"thx for wait, not you can do challenge\n").await;
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let _ = stream.write_all(b"thx for wait, not you can do challenge\n").await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             stream.write_all(message.as_bytes()).await;
[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] 34 |             let _ = stream.write_all(message.as_bytes()).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                     stream.write_all(b"talk to this port is use less.\n").await;
[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] 49 |                     let _ = stream.write_all(b"talk to this port is use less.\n").await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     stream.write_all(msg.as_bytes()).await;
[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] 50 |                     let _ = stream.write_all(msg.as_bytes()).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         wait_queue(&mut stream, recevier).await;
[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] 100 |         let _ = wait_queue(&mut stream, recevier).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     stream.write_all(message.clone().as_bytes()).await;
[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] 127 |     let _ = stream.write_all(message.clone().as_bytes()).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/task/pwn_task.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         task.shutdown().await;
[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] 80 |         let _ = task.shutdown().await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/task/pwn_task.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     sender.send(task).await;
[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] 95 |                     let _ = sender.send(task).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/task/pwn_task.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         sig_tx.send(true).await; // push one signal to start loop
[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] 109 |         let _ = sig_tx.send(true).await; // push one signal to start loop
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/task/pwn_task.rs:126:29
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...                   sender.send(tasks.pop().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] 126 |                             let _ = sender.send(tasks.pop().unwrap());
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/task/pwn_task.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 sig_tx.send(true).await;
[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] 142 |                 let _ = sig_tx.send(true).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/task/vm_task.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     VM_POOL.as_ref().unwrap()
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/task/vm_task.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |             pool = match &VM_POOL {
[INFO] [stdout]    |                          ^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 88 |             pool = match &raw const VM_POOL {
[INFO] [stdout]    |                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/pwn_util.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             tx.send(self.waited.len() as u64 +1).await;
[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] 101 |             let _ = tx.send(self.waited.len() as u64 +1).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/pwn_util.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             tx.send(0).await;
[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] 112 |             let _ = tx.send(0).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/util/pwn_util.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 t.send(i).await;
[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] 115 |                 let _ = t.send(i).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/io/io_forward.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         stop_signal.send(true);
[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] 63 |         let _ = stop_signal.send(true);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.25s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.45
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "9c3b9415395333fbb4105e1db3bd5ef10fb04cd06173642010b9c1f81fc94921", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c3b9415395333fbb4105e1db3bd5ef10fb04cd06173642010b9c1f81fc94921", kill_on_drop: false }`
[INFO] [stdout] 9c3b9415395333fbb4105e1db3bd5ef10fb04cd06173642010b9c1f81fc94921
