[INFO] cloning repository https://github.com/Hagi013/toy-container [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hagi013/toy-container" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-container", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-container'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c00a54a4836c9fbf2581f4a360cb22a1dad29b1e [INFO] testing Hagi013/toy-container against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHagi013%2Ftoy-container" "/workspace/builds/worker-39/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-39/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Hagi013/toy-container on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Hagi013/toy-container [INFO] finished tweaking git repo https://github.com/Hagi013/toy-container [INFO] tweaked toml for git repo https://github.com/Hagi013/toy-container written to /workspace/builds/worker-39/source/Cargo.toml [INFO] crate git repo https://github.com/Hagi013/toy-container already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6df239fecb04bf35b3f5b41430936c369804ef954f26d4b75122d3a060cb1ae9 [INFO] running `Command { std: "docker" "start" "-a" "6df239fecb04bf35b3f5b41430936c369804ef954f26d4b75122d3a060cb1ae9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6df239fecb04bf35b3f5b41430936c369804ef954f26d4b75122d3a060cb1ae9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6df239fecb04bf35b3f5b41430936c369804ef954f26d4b75122d3a060cb1ae9", kill_on_drop: false }` [INFO] [stdout] 6df239fecb04bf35b3f5b41430936c369804ef954f26d4b75122d3a060cb1ae9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 602d93825d7b7b855d03c106e427b7ee5107d9469939a15a4a26c63dd3d6f60f [INFO] running `Command { std: "docker" "start" "-a" "602d93825d7b7b855d03c106e427b7ee5107d9469939a15a4a26c63dd3d6f60f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Compiling anyhow v1.0.31 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling toy-container v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/tracer_1.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 214 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 214 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stderr` [INFO] [stdout] --> src/container_pivot.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/container_pivot.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/container_pivot.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/container_pivot.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chdir` [INFO] [stdout] --> src/escaping_chroot.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::unistd::{Pid, chroot, chdir, mkdir}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `escaping_chroot::escape_chroot` [INFO] [stdout] --> src/container_pivot.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use escaping_chroot::escape_chroot; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stderr` [INFO] [stdout] --> src/container_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/container_1.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/container_1.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/container_1.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 30 | / loop { [INFO] [stdout] 31 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 32 | | spawn_sh("id", self_pid); [INFO] [stdout] 33 | | spawn_sh("ipcs", self_pid); [INFO] [stdout] ... | [INFO] [stdout] 41 | | // spawn_sh("ls -a ..", self_pid); [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 43 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/container_1.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 57 | / loop { [INFO] [stdout] 58 | | exec_sh("uname -n", root_pid); [INFO] [stdout] 59 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 60 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 61 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pid`, `chdir`, `chroot`, `mkdir`, `pivot_root`, `sethostname` [INFO] [stdout] --> src/main.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/container_pivot.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 49 | / loop { [INFO] [stdout] 50 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 51 | | spawn_sh("id", self_pid); [INFO] [stdout] 52 | | spawn_sh("ipcs", self_pid); [INFO] [stdout] ... | [INFO] [stdout] 60 | | spawn_sh("ls -a .", self_pid); [INFO] [stdout] 61 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 62 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/container_pivot.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 76 | / loop { [INFO] [stdout] 77 | | exec_sh("uname -n", root_pid); [INFO] [stdout] 78 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 80 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/print_emulator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/print_emulator.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/print_emulator.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 209 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 209 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/mirror.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/mirror.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Stderr` [INFO] [stdout] --> src/executor_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/mirror.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 199 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 199 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/executor_1.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/executor_1.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/executor_1.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/executor_1.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Stderr` [INFO] [stdout] --> src/execution_multi_trace_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Child` [INFO] [stdout] --> src/execution_multi_trace_1.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::{Command, Stdio, Child}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `File`, `set_permissions` [INFO] [stdout] --> src/execution_multi_trace_1.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, `symlink` [INFO] [stdout] --> src/execution_multi_trace_1.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd`, `FromRawFd` [INFO] [stdout] --> src/execution_multi_trace_1.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/execution_multi_trace_1.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/tracer_1.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/tracer_1.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/tracer_1.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/tracer_1.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/tracer_1.rs:175:41 [INFO] [stdout] | [INFO] [stdout] 175 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/tracer_1.rs:91:93 [INFO] [stdout] | [INFO] [stdout] 91 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/tracer_1.rs:198:31 [INFO] [stdout] | [INFO] [stdout] 198 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/tracer_1.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/tracer_1.rs:242:33 [INFO] [stdout] | [INFO] [stdout] 242 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/container_1.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/execution_multi_trace_1.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/execution_multi_trace_1.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/execution_multi_trace_1.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/execution_multi_trace_1.rs:567:9 [INFO] [stdout] | [INFO] [stdout] 567 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 567 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 567 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_1.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Stderr` [INFO] [stdout] --> src/execution_trace_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_1.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Stderr` [INFO] [stdout] --> src/execution_trace_2.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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 imports: `FileType`, `File`, `set_permissions` [INFO] [stdout] --> src/execution_trace_2.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/execution_trace_1.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, `symlink` [INFO] [stdout] --> src/execution_trace_2.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd`, `FromRawFd` [INFO] [stdout] --> src/execution_trace_2.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/execution_trace_1.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/execution_trace_2.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/execution_trace_1.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/execution_trace_2.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/execution_trace_1.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/execution_trace_2.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/execution_trace_2.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/execution_trace_1.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/execution_trace_1.rs:17:25 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/execution_trace_2.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | (regs.rdx / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 395 - (regs.rdx / (std::mem::size_of::() as u64)) [INFO] [stdout] 395 + regs.rdx / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 254 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/executor_1.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 110 | / loop { [INFO] [stdout] 111 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 112 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 113 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/executor_1.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 128 | / loop { [INFO] [stdout] 129 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 130 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 131 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/container_pivot.rs:176:4 [INFO] [stdout] | [INFO] [stdout] 176 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `escape_chroot` [INFO] [stdout] --> src/escaping_chroot.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn escape_chroot(pid: Pid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `emulate_flag` is assigned to, but never used [INFO] [stdout] --> src/mirror.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: consider using `_emulate_flag` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/mirror.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | emulate_flag = match handle_syscall(pid, status, regs, prev_orig_rax, root_pid) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/mirror.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/mirror.rs:88:25 [INFO] [stdout] | [INFO] [stdout] 88 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/mirror.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | let event = ptrace::get_event(pid).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/mirror.rs:107:49 [INFO] [stdout] | [INFO] [stdout] 107 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/mirror.rs:162:41 [INFO] [stdout] | [INFO] [stdout] 162 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `siginfo` [INFO] [stdout] --> src/mirror.rs:165:25 [INFO] [stdout] | [INFO] [stdout] 165 | let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid_num` [INFO] [stdout] --> src/mirror.rs:166:25 [INFO] [stdout] | [INFO] [stdout] 166 | let pid_num: i64 = ptrace::get_event(pid)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/mirror.rs:82:73 [INFO] [stdout] | [INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/mirror.rs:82:93 [INFO] [stdout] | [INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/mirror.rs:183:31 [INFO] [stdout] | [INFO] [stdout] 183 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_pivot.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/mirror.rs:225:28 [INFO] [stdout] | [INFO] [stdout] 225 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/mirror.rs:225:33 [INFO] [stdout] | [INFO] [stdout] 225 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_pivot.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_pivot.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:102:25 [INFO] [stdout] | [INFO] [stdout] 102 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:103:25 [INFO] [stdout] | [INFO] [stdout] 103 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:128:21 [INFO] [stdout] | [INFO] [stdout] 128 | fetch_signal(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/print_emulator.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end_status` [INFO] [stdout] --> src/print_emulator.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | let end_status = ptrace::wait_pid(pid).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_status` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/print_emulator.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/print_emulator.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:132:25 [INFO] [stdout] | [INFO] [stdout] 132 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/print_emulator.rs:111:29 [INFO] [stdout] | [INFO] [stdout] 111 | let event = ptrace::get_event(pid).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:133:25 [INFO] [stdout] | [INFO] [stdout] 133 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/print_emulator.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/print_emulator.rs:170:41 [INFO] [stdout] | [INFO] [stdout] 170 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `siginfo` [INFO] [stdout] --> src/print_emulator.rs:173:25 [INFO] [stdout] | [INFO] [stdout] 173 | let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid_num` [INFO] [stdout] --> src/print_emulator.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | let pid_num: i64 = ptrace::get_event(pid)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/print_emulator.rs:94:93 [INFO] [stdout] | [INFO] [stdout] 94 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | ptrace::cont(waited_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/print_emulator.rs:193:31 [INFO] [stdout] | [INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/print_emulator.rs:237:28 [INFO] [stdout] | [INFO] [stdout] 237 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/print_emulator.rs:237:33 [INFO] [stdout] | [INFO] [stdout] 237 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/print_emulator.rs:242:46 [INFO] [stdout] | [INFO] [stdout] 242 | fn emulate(pid: Pid, regs: user_regs_struct, prev_orig_rax: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/execution_multi_trace_1.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 134 | / loop { [INFO] [stdout] 135 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 136 | | // spawn_sh("ls -a", self_pid); [INFO] [stdout] 137 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 138 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/execution_trace_1.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 115 | / loop { [INFO] [stdout] 116 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 117 | | // spawn_sh("ls -a", self_pid); [INFO] [stdout] 118 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 119 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mirror.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/mirror.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/executor_1.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/executor_1.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let root_pid = getpid(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu` [INFO] [stdout] --> src/ptrace.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn sysemu(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu_single` [INFO] [stdout] --> src/ptrace.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `handle_syscall_before_exit` [INFO] [stdout] --> src/print_emulator.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/execution_trace_2.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 132 | / loop { [INFO] [stdout] 133 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 134 | | // spawn_sh("ls -a", self_pid); [INFO] [stdout] 135 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 136 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/execution_trace_1.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 140 | / loop { [INFO] [stdout] 141 | | let status: WaitStatus = ptrace::wait_pid(pid).unwrap(); [INFO] [stdout] 142 | | println!("status: {:?}", status); [INFO] [stdout] 143 | | let regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 199 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 200 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 201 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:94:25 [INFO] [stdout] | [INFO] [stdout] 94 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | fetch_signal(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | ptrace::cont(waited_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 105 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | fetch_signal(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:136:25 [INFO] [stdout] | [INFO] [stdout] 136 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | ptrace::cont(waited_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/executor_1.rs:225:4 [INFO] [stdout] | [INFO] [stdout] 225 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/execution_trace_1.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/execution_trace_1.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let root_pid = getpid(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `is_enter_stop` is never read [INFO] [stdout] --> src/execution_trace_1.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | let mut is_enter_stop: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `is_enter_stop` is never read [INFO] [stdout] --> src/execution_trace_1.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | is_enter_stop = false; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/execution_multi_trace_1.rs:561:5 [INFO] [stdout] | [INFO] [stdout] 520 | / match status { [INFO] [stdout] 521 | | WaitStatus::PtraceEvent(pid, sig, int) => { [INFO] [stdout] 522 | | match sig { [INFO] [stdout] 523 | | signal::SIGTRAP => { [INFO] [stdout] ... | [INFO] [stdout] 559 | | }, [INFO] [stdout] 560 | | } [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 561 | Ok(Some(false)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | / mount::( [INFO] [stdout] 241 | | Some(source_path), [INFO] [stdout] 242 | | target_path.as_path(), [INFO] [stdout] 243 | | Some("ext4"), [INFO] [stdout] 244 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 245 | | None, [INFO] [stdout] 246 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/execution_multi_trace_1.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/execution_multi_trace_1.rs:2:50 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/execution_multi_trace_1.rs:458:19 [INFO] [stdout] | [INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/execution_multi_trace_1.rs:458:73 [INFO] [stdout] | [INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/execution_multi_trace_1.rs:458:93 [INFO] [stdout] | [INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/execution_multi_trace_1.rs:521:43 [INFO] [stdout] | [INFO] [stdout] 521 | WaitStatus::PtraceEvent(pid, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/execution_trace_2.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/execution_trace_2.rs:2:50 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `regs` [INFO] [stdout] --> src/execution_trace_2.rs:230:21 [INFO] [stdout] | [INFO] [stdout] 230 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_regs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/execution_trace_2.rs:367:19 [INFO] [stdout] | [INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/execution_trace_2.rs:367:73 [INFO] [stdout] | [INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/execution_trace_2.rs:367:93 [INFO] [stdout] | [INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/execution_trace_1.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:193:21 [INFO] [stdout] | [INFO] [stdout] 193 | let mut contents = fs::read_to_string(read_guard.as_path()).unwrap(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `detach` [INFO] [stdout] --> src/ptrace.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn detach(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option` [INFO] [stdout] --> src/ptrace.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn set_emulate_option(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wait_all` [INFO] [stdout] --> src/ptrace.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn wait_all() -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `syscall_step` [INFO] [stdout] --> src/ptrace.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn syscall_step(pid: Pid) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `setregs` [INFO] [stdout] --> src/ptrace.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn setregs(pid: Pid, urs: user_regs_struct) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu` [INFO] [stdout] --> src/ptrace.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn sysemu(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu_single` [INFO] [stdout] --> src/ptrace.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_event` [INFO] [stdout] --> src/ptrace.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn get_event(pid: Pid) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_siginfo` [INFO] [stdout] --> src/ptrace.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn get_siginfo(pid: Pid) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | ptrace::set_tracesysgood(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | / mount::( [INFO] [stdout] 311 | | Some(source_path), [INFO] [stdout] 312 | | target_path.as_path(), [INFO] [stdout] 313 | | Some("ext4"), [INFO] [stdout] 314 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 315 | | None, [INFO] [stdout] 316 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_trace_2.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/execution_trace_2.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | let mut contents = fs::read_to_string(read_guard.as_path()).unwrap(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_trace_2.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:544:17 [INFO] [stdout] | [INFO] [stdout] 544 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/execution_multi_trace_1.rs:421:4 [INFO] [stdout] | [INFO] [stdout] 421 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `make_fifo` [INFO] [stdout] --> src/execution_multi_trace_1.rs:446:4 [INFO] [stdout] | [INFO] [stdout] 446 | fn make_fifo(file_path: &str, mode: Mode) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/execution_trace_2.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `make_fifo` [INFO] [stdout] --> src/execution_trace_2.rs:355:4 [INFO] [stdout] | [INFO] [stdout] 355 | fn make_fifo(file_path: &str, mode: Mode) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option` [INFO] [stdout] --> src/ptrace.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn set_emulate_option(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | handle_trap(pid, child_status); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:436:5 [INFO] [stdout] | [INFO] [stdout] 436 | / mount::( [INFO] [stdout] 437 | | Some(source_path), [INFO] [stdout] 438 | | target_path.as_path(), [INFO] [stdout] 439 | | Some("ext4"), [INFO] [stdout] 440 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 441 | | None, [INFO] [stdout] 442 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:471:21 [INFO] [stdout] | [INFO] [stdout] 471 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:507:17 [INFO] [stdout] | [INFO] [stdout] 507 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | ptrace::setregs(pid, child_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_event` [INFO] [stdout] --> src/ptrace.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn get_event(pid: Pid) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | ptrace::set_tracesysgood(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:216:17 [INFO] [stdout] | [INFO] [stdout] 216 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:320:13 [INFO] [stdout] | [INFO] [stdout] 320 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | / mount::( [INFO] [stdout] 346 | | Some(source_path), [INFO] [stdout] 347 | | target_path.as_path(), [INFO] [stdout] 348 | | Some("ext4"), [INFO] [stdout] 349 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 350 | | None, [INFO] [stdout] 351 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:377:21 [INFO] [stdout] | [INFO] [stdout] 377 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:413:17 [INFO] [stdout] | [INFO] [stdout] 413 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:421:17 [INFO] [stdout] | [INFO] [stdout] 421 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 40 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 49 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.32s [INFO] running `Command { std: "docker" "inspect" "602d93825d7b7b855d03c106e427b7ee5107d9469939a15a4a26c63dd3d6f60f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "602d93825d7b7b855d03c106e427b7ee5107d9469939a15a4a26c63dd3d6f60f", kill_on_drop: false }` [INFO] [stdout] 602d93825d7b7b855d03c106e427b7ee5107d9469939a15a4a26c63dd3d6f60f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 822a1e46eecb3607e9847816eddf20ade8e94b3b85023c4487c20ed1325cefa6 [INFO] running `Command { std: "docker" "start" "-a" "822a1e46eecb3607e9847816eddf20ade8e94b3b85023c4487c20ed1325cefa6", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling toy-container v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `BufReader`, `Stderr` [INFO] [stdout] --> src/executor_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/executor_1.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/executor_1.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/executor_1.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/executor_1.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pid`, `chdir`, `chroot`, `mkdir`, `pivot_root`, `sethostname` [INFO] [stdout] --> src/main.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Stderr` [INFO] [stdout] --> src/execution_trace_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/execution_trace_1.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/execution_trace_1.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/execution_trace_1.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/execution_trace_1.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/execution_trace_1.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/execution_trace_1.rs:17:25 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Stderr` [INFO] [stdout] --> src/execution_multi_trace_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Child` [INFO] [stdout] --> src/execution_multi_trace_1.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::{Command, Stdio, Child}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `File`, `set_permissions` [INFO] [stdout] --> src/execution_multi_trace_1.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, `symlink` [INFO] [stdout] --> src/execution_multi_trace_1.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd`, `FromRawFd` [INFO] [stdout] --> src/execution_multi_trace_1.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/execution_multi_trace_1.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/execution_multi_trace_1.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/execution_multi_trace_1.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/execution_multi_trace_1.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/execution_multi_trace_1.rs:567:9 [INFO] [stdout] | [INFO] [stdout] 567 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 567 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 567 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/executor_1.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 110 | / loop { [INFO] [stdout] 111 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 112 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 113 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/executor_1.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 128 | / loop { [INFO] [stdout] 129 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 130 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 131 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stderr` [INFO] [stdout] --> src/container_pivot.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/execution_trace_1.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 115 | / loop { [INFO] [stdout] 116 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 117 | | // spawn_sh("ls -a", self_pid); [INFO] [stdout] 118 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 119 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/container_pivot.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/container_pivot.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/container_pivot.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chdir` [INFO] [stdout] --> src/escaping_chroot.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::unistd::{Pid, chroot, chdir, mkdir}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `escaping_chroot::escape_chroot` [INFO] [stdout] --> src/container_pivot.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use escaping_chroot::escape_chroot; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/container_pivot.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 49 | / loop { [INFO] [stdout] 50 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 51 | | spawn_sh("id", self_pid); [INFO] [stdout] 52 | | spawn_sh("ipcs", self_pid); [INFO] [stdout] ... | [INFO] [stdout] 60 | | spawn_sh("ls -a .", self_pid); [INFO] [stdout] 61 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 62 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/container_pivot.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 76 | / loop { [INFO] [stdout] 77 | | exec_sh("uname -n", root_pid); [INFO] [stdout] 78 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 80 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/execution_trace_1.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 140 | / loop { [INFO] [stdout] 141 | | let status: WaitStatus = ptrace::wait_pid(pid).unwrap(); [INFO] [stdout] 142 | | println!("status: {:?}", status); [INFO] [stdout] 143 | | let regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 199 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 200 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 201 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/executor_1.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/executor_1.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let root_pid = getpid(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/execution_trace_1.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/execution_trace_1.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let root_pid = getpid(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `is_enter_stop` is never read [INFO] [stdout] --> src/execution_trace_1.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | let mut is_enter_stop: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `is_enter_stop` is never read [INFO] [stdout] --> src/execution_trace_1.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | is_enter_stop = false; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stderr` [INFO] [stdout] --> src/container_1.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/mirror.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/execution_multi_trace_1.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 134 | / loop { [INFO] [stdout] 135 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 136 | | // spawn_sh("ls -a", self_pid); [INFO] [stdout] 137 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 138 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `set_permissions` [INFO] [stdout] --> src/container_1.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stdout] --> src/container_1.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/mirror.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/mirror.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 199 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 199 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/executor_1.rs:225:4 [INFO] [stdout] | [INFO] [stdout] 225 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/container_1.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 30 | / loop { [INFO] [stdout] 31 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 32 | | spawn_sh("id", self_pid); [INFO] [stdout] 33 | | spawn_sh("ipcs", self_pid); [INFO] [stdout] ... | [INFO] [stdout] 41 | | // spawn_sh("ls -a ..", self_pid); [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 43 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/container_1.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 57 | / loop { [INFO] [stdout] 58 | | exec_sh("uname -n", root_pid); [INFO] [stdout] 59 | | sleep(Duration::from_secs(3)); [INFO] [stdout] 60 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 61 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/tracer_1.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 214 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 214 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/execution_trace_1.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `detach` [INFO] [stdout] --> src/ptrace.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn detach(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option` [INFO] [stdout] --> src/ptrace.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn set_emulate_option(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `wait_all` [INFO] [stdout] --> src/ptrace.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn wait_all() -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `syscall_step` [INFO] [stdout] --> src/ptrace.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn syscall_step(pid: Pid) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `setregs` [INFO] [stdout] --> src/ptrace.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn setregs(pid: Pid, urs: user_regs_struct) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu` [INFO] [stdout] --> src/ptrace.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn sysemu(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/container_pivot.rs:176:4 [INFO] [stdout] | [INFO] [stdout] 176 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `escape_chroot` [INFO] [stdout] --> src/escaping_chroot.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn escape_chroot(pid: Pid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu_single` [INFO] [stdout] --> src/ptrace.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_event` [INFO] [stdout] --> src/ptrace.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn get_event(pid: Pid) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_siginfo` [INFO] [stdout] --> src/ptrace.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn get_siginfo(pid: Pid) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/executor_1.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | / mount::( [INFO] [stdout] 241 | | Some(source_path), [INFO] [stdout] 242 | | target_path.as_path(), [INFO] [stdout] 243 | | Some("ext4"), [INFO] [stdout] 244 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 245 | | None, [INFO] [stdout] 246 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | ptrace::set_tracesysgood(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_1.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | / mount::( [INFO] [stdout] 311 | | Some(source_path), [INFO] [stdout] 312 | | target_path.as_path(), [INFO] [stdout] 313 | | Some("ext4"), [INFO] [stdout] 314 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 315 | | None, [INFO] [stdout] 316 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_pivot.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_pivot.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Stderr` [INFO] [stdout] --> src/execution_trace_2.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_pivot.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `emulate_flag` is assigned to, but never used [INFO] [stdout] --> src/mirror.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: consider using `_emulate_flag` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/mirror.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | emulate_flag = match handle_syscall(pid, status, regs, prev_orig_rax, root_pid) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/mirror.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/mirror.rs:88:25 [INFO] [stdout] | [INFO] [stdout] 88 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/mirror.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | let event = ptrace::get_event(pid).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/mirror.rs:107:49 [INFO] [stdout] | [INFO] [stdout] 107 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/mirror.rs:162:41 [INFO] [stdout] | [INFO] [stdout] 162 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `siginfo` [INFO] [stdout] --> src/mirror.rs:165:25 [INFO] [stdout] | [INFO] [stdout] 165 | let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid_num` [INFO] [stdout] --> src/mirror.rs:166:25 [INFO] [stdout] | [INFO] [stdout] 166 | let pid_num: i64 = ptrace::get_event(pid)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/mirror.rs:82:73 [INFO] [stdout] | [INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/mirror.rs:82:93 [INFO] [stdout] | [INFO] [stdout] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/mirror.rs:183:31 [INFO] [stdout] | [INFO] [stdout] 183 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/mirror.rs:225:28 [INFO] [stdout] | [INFO] [stdout] 225 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `File`, `set_permissions` [INFO] [stdout] --> src/execution_trace_2.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/mirror.rs:225:33 [INFO] [stdout] | [INFO] [stdout] 225 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, `symlink` [INFO] [stdout] --> src/execution_trace_2.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd`, `FromRawFd` [INFO] [stdout] --> src/execution_trace_2.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/execution_trace_2.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chroot` [INFO] [stdout] --> src/execution_trace_2.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/execution_trace_2.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockReadGuard` [INFO] [stdout] --> src/execution_trace_2.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/execution_multi_trace_1.rs:561:5 [INFO] [stdout] | [INFO] [stdout] 520 | / match status { [INFO] [stdout] 521 | | WaitStatus::PtraceEvent(pid, sig, int) => { [INFO] [stdout] 522 | | match sig { [INFO] [stdout] 523 | | signal::SIGTRAP => { [INFO] [stdout] ... | [INFO] [stdout] 559 | | }, [INFO] [stdout] 560 | | } [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 561 | Ok(Some(false)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/execution_trace_2.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | (regs.rdx / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 395 - (regs.rdx / (std::mem::size_of::() as u64)) [INFO] [stdout] 395 + regs.rdx / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/execution_multi_trace_1.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/execution_multi_trace_1.rs:2:50 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/execution_multi_trace_1.rs:458:19 [INFO] [stdout] | [INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/execution_multi_trace_1.rs:458:73 [INFO] [stdout] | [INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/execution_multi_trace_1.rs:458:93 [INFO] [stdout] | [INFO] [stdout] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/execution_multi_trace_1.rs:521:43 [INFO] [stdout] | [INFO] [stdout] 521 | WaitStatus::PtraceEvent(pid, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mirror.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/mirror.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu` [INFO] [stdout] --> src/ptrace.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn sysemu(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sysemu_single` [INFO] [stdout] --> src/ptrace.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:193:21 [INFO] [stdout] | [INFO] [stdout] 193 | let mut contents = fs::read_to_string(read_guard.as_path()).unwrap(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:94:25 [INFO] [stdout] | [INFO] [stdout] 94 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | fetch_signal(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/mirror.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | ptrace::cont(waited_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/container_1.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/execution_trace_2.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 132 | / loop { [INFO] [stdout] 133 | | // sleep(Duration::from_secs(3)); [INFO] [stdout] 134 | | // spawn_sh("ls -a", self_pid); [INFO] [stdout] 135 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 136 | return 0 as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:544:17 [INFO] [stdout] | [INFO] [stdout] 544 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_multi_trace_1.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/execution_multi_trace_1.rs:421:4 [INFO] [stdout] | [INFO] [stdout] 421 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `make_fifo` [INFO] [stdout] --> src/execution_multi_trace_1.rs:446:4 [INFO] [stdout] | [INFO] [stdout] 446 | fn make_fifo(file_path: &str, mode: Mode) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/tracer_1.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/tracer_1.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/tracer_1.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_1.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/container_1.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/tracer_1.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/tracer_1.rs:175:41 [INFO] [stdout] | [INFO] [stdout] 175 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/tracer_1.rs:91:93 [INFO] [stdout] | [INFO] [stdout] 91 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/tracer_1.rs:198:31 [INFO] [stdout] | [INFO] [stdout] 198 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/tracer_1.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/tracer_1.rs:242:33 [INFO] [stdout] | [INFO] [stdout] 242 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | handle_trap(pid, child_status); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:436:5 [INFO] [stdout] | [INFO] [stdout] 436 | / mount::( [INFO] [stdout] 437 | | Some(source_path), [INFO] [stdout] 438 | | target_path.as_path(), [INFO] [stdout] 439 | | Some("ext4"), [INFO] [stdout] 440 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 441 | | None, [INFO] [stdout] 442 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:471:21 [INFO] [stdout] | [INFO] [stdout] 471 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:507:17 [INFO] [stdout] | [INFO] [stdout] 507 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_multi_trace_1.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | ptrace::setregs(pid, child_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/execution_trace_2.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/execution_trace_2.rs:2:50 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `regs` [INFO] [stdout] --> src/execution_trace_2.rs:230:21 [INFO] [stdout] | [INFO] [stdout] 230 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_regs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/execution_trace_2.rs:367:19 [INFO] [stdout] | [INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/execution_trace_2.rs:367:73 [INFO] [stdout] | [INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/execution_trace_2.rs:367:93 [INFO] [stdout] | [INFO] [stdout] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tracer_1.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 254 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_trace_2.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/execution_trace_2.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | let mut contents = fs::read_to_string(read_guard.as_path()).unwrap(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/execution_trace_2.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dir` [INFO] [stdout] --> src/execution_trace_2.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn dir(path: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `make_fifo` [INFO] [stdout] --> src/execution_trace_2.rs:355:4 [INFO] [stdout] | [INFO] [stdout] 355 | fn make_fifo(file_path: &str, mode: Mode) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option` [INFO] [stdout] --> src/ptrace.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn set_emulate_option(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_event` [INFO] [stdout] --> src/ptrace.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn get_event(pid: Pid) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | chdir("/root"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | prepare_bash(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | ptrace::set_tracesysgood(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:216:17 [INFO] [stdout] | [INFO] [stdout] 216 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:320:13 [INFO] [stdout] | [INFO] [stdout] 320 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | / mount::( [INFO] [stdout] 346 | | Some(source_path), [INFO] [stdout] 347 | | target_path.as_path(), [INFO] [stdout] 348 | | Some("ext4"), [INFO] [stdout] 349 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 350 | | None, [INFO] [stdout] 351 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:102:25 [INFO] [stdout] | [INFO] [stdout] 102 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:103:25 [INFO] [stdout] | [INFO] [stdout] 103 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:128:21 [INFO] [stdout] | [INFO] [stdout] 128 | fetch_signal(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:132:25 [INFO] [stdout] | [INFO] [stdout] 132 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:133:25 [INFO] [stdout] | [INFO] [stdout] 133 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:377:21 [INFO] [stdout] | [INFO] [stdout] 377 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:413:17 [INFO] [stdout] | [INFO] [stdout] 413 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/execution_trace_2.rs:421:17 [INFO] [stdout] | [INFO] [stdout] 421 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | ptrace::cont(waited_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/tracer_1.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tracer_1.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/print_emulator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/print_emulator.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/print_emulator.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | (count / (std::mem::size_of::() as u64)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 209 - (count / (std::mem::size_of::() as u64)) [INFO] [stdout] 209 + count / (std::mem::size_of::() as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/print_emulator.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end_status` [INFO] [stdout] --> src/print_emulator.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | let end_status = ptrace::wait_pid(pid).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_status` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `emulate_flag` is never read [INFO] [stdout] --> src/print_emulator.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | emulate_flag = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/print_emulator.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/print_emulator.rs:111:29 [INFO] [stdout] | [INFO] [stdout] 111 | let event = ptrace::get_event(pid).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/print_emulator.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int` [INFO] [stdout] --> src/print_emulator.rs:170:41 [INFO] [stdout] | [INFO] [stdout] 170 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `siginfo` [INFO] [stdout] --> src/print_emulator.rs:173:25 [INFO] [stdout] | [INFO] [stdout] 173 | let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid_num` [INFO] [stdout] --> src/print_emulator.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | let pid_num: i64 = ptrace::get_event(pid)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_pid` [INFO] [stdout] --> src/print_emulator.rs:94:93 [INFO] [stdout] | [INFO] [stdout] 94 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/print_emulator.rs:193:31 [INFO] [stdout] | [INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pid` [INFO] [stdout] --> src/print_emulator.rs:237:28 [INFO] [stdout] | [INFO] [stdout] 237 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/print_emulator.rs:237:33 [INFO] [stdout] | [INFO] [stdout] 237 | WaitStatus::Exited(pid, code) => true, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_orig_rax` [INFO] [stdout] --> src/print_emulator.rs:242:46 [INFO] [stdout] | [INFO] [stdout] 242 | fn emulate(pid: Pid, regs: user_regs_struct, prev_orig_rax: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/print_emulator.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `handle_syscall_before_exit` [INFO] [stdout] --> src/print_emulator.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `traceme` [INFO] [stdout] --> src/ptrace.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn traceme() -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cont` [INFO] [stdout] --> src/ptrace.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_tracesysgood` [INFO] [stdout] --> src/ptrace.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_emulate_option_simple` [INFO] [stdout] --> src/ptrace.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pokeuser` [INFO] [stdout] --> src/ptrace.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ptrace::set_emulate_option(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 105 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | fetch_signal(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | ptrace::attach(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:136:25 [INFO] [stdout] | [INFO] [stdout] 136 | ptrace::set_emulate_option(event_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | ptrace::detach(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | ptrace::cont(waited_pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | ptrace::setregs(pid, new_regs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | ptrace::sysemu_single(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/print_emulator.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | ptrace::sysemu(pid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | ptrace::syscall(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | ptrace::step(pid, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / Errno::result( [INFO] [stdout] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stdout] 104 | | ) [INFO] [stdout] 105 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ptrace.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | / Errno::result( [INFO] [stdout] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | / Errno::result( [INFO] [stdout] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stdout] 121 | | ) [INFO] [stdout] 122 | | .map(drop); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 40 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 49 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 7.34s [INFO] running `Command { std: "docker" "inspect" "822a1e46eecb3607e9847816eddf20ade8e94b3b85023c4487c20ed1325cefa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "822a1e46eecb3607e9847816eddf20ade8e94b3b85023c4487c20ed1325cefa6", kill_on_drop: false }` [INFO] [stdout] 822a1e46eecb3607e9847816eddf20ade8e94b3b85023c4487c20ed1325cefa6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4d829ce5f6fcad25645b873700642405c289b154f590cdaa177d98f43445d281 [INFO] running `Command { std: "docker" "start" "-a" "4d829ce5f6fcad25645b873700642405c289b154f590cdaa177d98f43445d281", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/print_emulator.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/print_emulator.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/print_emulator.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | (count / (std::mem::size_of::() as u64)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 209 - (count / (std::mem::size_of::() as u64)) [INFO] [stderr] 209 + count / (std::mem::size_of::() as u64) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: value assigned to `emulate_flag` is never read [INFO] [stderr] --> src/print_emulator.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut emulate_flag = false; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end_status` [INFO] [stderr] --> src/print_emulator.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | let end_status = ptrace::wait_pid(pid).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_status` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `emulate_flag` is never read [INFO] [stderr] --> src/print_emulator.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | emulate_flag = false; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signal` [INFO] [stderr] --> src/print_emulator.rs:100:25 [INFO] [stderr] | [INFO] [stderr] 100 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/print_emulator.rs:111:29 [INFO] [stderr] | [INFO] [stderr] 111 | let event = ptrace::get_event(pid).unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/print_emulator.rs:123:49 [INFO] [stderr] | [INFO] [stderr] 123 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `int` [INFO] [stderr] --> src/print_emulator.rs:170:41 [INFO] [stderr] | [INFO] [stderr] 170 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `siginfo` [INFO] [stderr] --> src/print_emulator.rs:173:25 [INFO] [stderr] | [INFO] [stderr] 173 | let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid_num` [INFO] [stderr] --> src/print_emulator.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 175 | let pid_num: i64 = ptrace::get_event(pid)?; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root_pid` [INFO] [stderr] --> src/print_emulator.rs:94:93 [INFO] [stderr] | [INFO] [stderr] 94 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/print_emulator.rs:193:31 [INFO] [stderr] | [INFO] [stderr] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/print_emulator.rs:237:28 [INFO] [stderr] | [INFO] [stderr] 237 | WaitStatus::Exited(pid, code) => true, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/print_emulator.rs:237:33 [INFO] [stderr] | [INFO] [stderr] 237 | WaitStatus::Exited(pid, code) => true, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev_orig_rax` [INFO] [stderr] --> src/print_emulator.rs:242:46 [INFO] [stderr] | [INFO] [stderr] 242 | fn emulate(pid: Pid, regs: user_regs_struct, prev_orig_rax: u64) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/print_emulator.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stderr] --> src/print_emulator.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/print_emulator.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/print_emulator.rs:82:21 [INFO] [stderr] | [INFO] [stderr] 82 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/print_emulator.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `handle_syscall_before_exit` [INFO] [stderr] --> src/print_emulator.rs:193:4 [INFO] [stderr] | [INFO] [stderr] 193 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `traceme` [INFO] [stderr] --> src/ptrace.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn traceme() -> Result<()> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `cont` [INFO] [stderr] --> src/ptrace.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn cont(pid: Pid) -> Result<()> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `set_tracesysgood` [INFO] [stderr] --> src/ptrace.rs:28:8 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn set_tracesysgood(pid: Pid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `set_emulate_option_simple` [INFO] [stderr] --> src/ptrace.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn set_emulate_option_simple(pid: Pid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pokeuser` [INFO] [stderr] --> src/ptrace.rs:118:8 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn pokeuser(pid: Pid, addr: u64, data: u64) -> Result<()> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | ptrace::set_emulate_option(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 105 | ptrace::attach(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:106:25 [INFO] [stderr] | [INFO] [stderr] 106 | ptrace::set_emulate_option(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:131:21 [INFO] [stderr] | [INFO] [stderr] 131 | fetch_signal(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:135:25 [INFO] [stderr] | [INFO] [stderr] 135 | ptrace::attach(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:136:25 [INFO] [stderr] | [INFO] [stderr] 136 | ptrace::set_emulate_option(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | ptrace::detach(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:166:17 [INFO] [stderr] | [INFO] [stderr] 166 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | ptrace::cont(waited_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | ptrace::sysemu_single(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/print_emulator.rs:253:9 [INFO] [stderr] | [INFO] [stderr] 253 | ptrace::sysemu(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/ptrace.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | ptrace::syscall(pid, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/ptrace.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | ptrace::step(pid, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/ptrace.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | / Errno::result( [INFO] [stderr] 102 | | unsafe { libc::ptrace(31 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut::(), std::ptr::n... [INFO] [stderr] 104 | | ) [INFO] [stderr] 105 | | .map(drop); [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/ptrace.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | / Errno::result( [INFO] [stderr] 111 | | unsafe { libc::ptrace(32 as libc::c_uint, libc::pid_t::from(pid), std::ptr::null_mut::(), std::ptr::null_mut:: src/ptrace.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | / Errno::result( [INFO] [stderr] 120 | | unsafe { libc::ptrace(6 as libc::c_uint, libc::pid_t::from(pid), addr as *mut libc::c_void, data as *mut libc::c_void) } [INFO] [stderr] 121 | | ) [INFO] [stderr] 122 | | .map(drop); [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `BufWriter`, `Stderr` [INFO] [stderr] --> src/execution_multi_trace_1.rs:2:22 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Child` [INFO] [stderr] --> src/execution_multi_trace_1.rs:3:36 [INFO] [stderr] | [INFO] [stderr] 3 | use std::process::{Command, Stdio, Child}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileType`, `File`, `set_permissions` [INFO] [stderr] --> src/execution_multi_trace_1.rs:5:37 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, `symlink` [INFO] [stderr] --> src/execution_multi_trace_1.rs:6:25 [INFO] [stderr] | [INFO] [stderr] 6 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AsRawFd`, `FromRawFd` [INFO] [stderr] --> src/execution_multi_trace_1.rs:7:25 [INFO] [stderr] | [INFO] [stderr] 7 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/execution_multi_trace_1.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chroot` [INFO] [stderr] --> src/execution_multi_trace_1.rs:10:45 [INFO] [stderr] | [INFO] [stderr] 10 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/execution_multi_trace_1.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RwLockReadGuard` [INFO] [stderr] --> src/execution_multi_trace_1.rs:19:25 [INFO] [stderr] | [INFO] [stderr] 19 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/execution_multi_trace_1.rs:567:9 [INFO] [stderr] | [INFO] [stderr] 567 | (count / (std::mem::size_of::() as u64)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 567 - (count / (std::mem::size_of::() as u64)) [INFO] [stderr] 567 + count / (std::mem::size_of::() as u64) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/execution_multi_trace_1.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 134 | / loop { [INFO] [stderr] 135 | | // sleep(Duration::from_secs(3)); [INFO] [stderr] 136 | | // spawn_sh("ls -a", self_pid); [INFO] [stderr] 137 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 138 | return 0 as isize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/execution_multi_trace_1.rs:561:5 [INFO] [stderr] | [INFO] [stderr] 520 | / match status { [INFO] [stderr] 521 | | WaitStatus::PtraceEvent(pid, sig, int) => { [INFO] [stderr] 522 | | match sig { [INFO] [stderr] 523 | | signal::SIGTRAP => { [INFO] [stderr] ... | [INFO] [stderr] 559 | | }, [INFO] [stderr] 560 | | } [INFO] [stderr] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stderr] 561 | Ok(Some(false)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/execution_multi_trace_1.rs:2:41 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/execution_multi_trace_1.rs:2:50 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/execution_multi_trace_1.rs:458:19 [INFO] [stderr] | [INFO] [stderr] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev_orig_rax` [INFO] [stderr] --> src/execution_multi_trace_1.rs:458:73 [INFO] [stderr] | [INFO] [stderr] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root_pid` [INFO] [stderr] --> src/execution_multi_trace_1.rs:458:93 [INFO] [stderr] | [INFO] [stderr] 458 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `int` [INFO] [stderr] --> src/execution_multi_trace_1.rs:521:43 [INFO] [stderr] | [INFO] [stderr] 521 | WaitStatus::PtraceEvent(pid, sig, int) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/execution_multi_trace_1.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stderr] --> src/execution_multi_trace_1.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/execution_multi_trace_1.rs:193:21 [INFO] [stderr] | [INFO] [stderr] 193 | let mut contents = fs::read_to_string(read_guard.as_path()).unwrap(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/execution_multi_trace_1.rs:244:17 [INFO] [stderr] | [INFO] [stderr] 244 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/execution_multi_trace_1.rs:544:17 [INFO] [stderr] | [INFO] [stderr] 544 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/execution_multi_trace_1.rs:550:17 [INFO] [stderr] | [INFO] [stderr] 550 | let mut child_regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dir` [INFO] [stderr] --> src/execution_multi_trace_1.rs:421:4 [INFO] [stderr] | [INFO] [stderr] 421 | fn dir(path: &str) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_fifo` [INFO] [stderr] --> src/execution_multi_trace_1.rs:446:4 [INFO] [stderr] | [INFO] [stderr] 446 | fn make_fifo(file_path: &str, mode: Mode) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | chdir("/root"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | prepare_bash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | ptrace::set_emulate_option(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | handle_trap(pid, child_status); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | ptrace::sysemu_single(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | ptrace::sysemu(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:411:13 [INFO] [stderr] | [INFO] [stderr] 411 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:436:5 [INFO] [stderr] | [INFO] [stderr] 436 | / mount::( [INFO] [stderr] 437 | | Some(source_path), [INFO] [stderr] 438 | | target_path.as_path(), [INFO] [stderr] 439 | | Some("ext4"), [INFO] [stderr] 440 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stderr] 441 | | None, [INFO] [stderr] 442 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:471:21 [INFO] [stderr] | [INFO] [stderr] 471 | ptrace::detach(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:489:17 [INFO] [stderr] | [INFO] [stderr] 489 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:499:17 [INFO] [stderr] | [INFO] [stderr] 499 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:507:17 [INFO] [stderr] | [INFO] [stderr] 507 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_multi_trace_1.rs:552:13 [INFO] [stderr] | [INFO] [stderr] 552 | ptrace::setregs(pid, child_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused import: `Stderr` [INFO] [stderr] --> src/container_1.rs:2:22 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileType`, `set_permissions` [INFO] [stderr] --> src/container_1.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stderr] --> src/container_1.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/container_1.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 30 | / loop { [INFO] [stderr] 31 | | sleep(Duration::from_secs(3)); [INFO] [stderr] 32 | | spawn_sh("id", self_pid); [INFO] [stderr] 33 | | spawn_sh("ipcs", self_pid); [INFO] [stderr] ... | [INFO] [stderr] 41 | | // spawn_sh("ls -a ..", self_pid); [INFO] [stderr] 42 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 43 | return 0 as isize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/container_1.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 57 | / loop { [INFO] [stderr] 58 | | exec_sh("uname -n", root_pid); [INFO] [stderr] 59 | | sleep(Duration::from_secs(3)); [INFO] [stderr] 60 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 61 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dir` [INFO] [stderr] --> src/container_1.rs:156:4 [INFO] [stderr] | [INFO] [stderr] 156 | fn dir(path: &str) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/container_1.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | prepare_bash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/container_1.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `Stderr` [INFO] [stderr] --> src/executor_1.rs:2:22 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileType`, `set_permissions` [INFO] [stderr] --> src/executor_1.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stderr] --> src/executor_1.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chroot` [INFO] [stderr] --> src/executor_1.rs:8:45 [INFO] [stderr] | [INFO] [stderr] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RwLockReadGuard` [INFO] [stderr] --> src/executor_1.rs:14:25 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/executor_1.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 110 | / loop { [INFO] [stderr] 111 | | // sleep(Duration::from_secs(3)); [INFO] [stderr] 112 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 113 | return 0 as isize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/executor_1.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 128 | / loop { [INFO] [stderr] 129 | | sleep(Duration::from_secs(3)); [INFO] [stderr] 130 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 131 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/executor_1.rs:2:41 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root_pid` [INFO] [stderr] --> src/executor_1.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | let root_pid = getpid(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dir` [INFO] [stderr] --> src/executor_1.rs:225:4 [INFO] [stderr] | [INFO] [stderr] 225 | fn dir(path: &str) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/executor_1.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | chdir("/root"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/executor_1.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/executor_1.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | prepare_bash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/executor_1.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/executor_1.rs:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | / mount::( [INFO] [stderr] 241 | | Some(source_path), [INFO] [stderr] 242 | | target_path.as_path(), [INFO] [stderr] 243 | | Some("ext4"), [INFO] [stderr] 244 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stderr] 245 | | None, [INFO] [stderr] 246 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/mirror.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/mirror.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mirror.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | (count / (std::mem::size_of::() as u64)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 199 - (count / (std::mem::size_of::() as u64)) [INFO] [stderr] 199 + count / (std::mem::size_of::() as u64) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable `emulate_flag` is assigned to, but never used [INFO] [stderr] --> src/mirror.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut emulate_flag = false; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] = note: consider using `_emulate_flag` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `emulate_flag` is never read [INFO] [stderr] --> src/mirror.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | emulate_flag = match handle_syscall(pid, status, regs, prev_orig_rax, root_pid) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `emulate_flag` is never read [INFO] [stderr] --> src/mirror.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | emulate_flag = false; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signal` [INFO] [stderr] --> src/mirror.rs:88:25 [INFO] [stderr] | [INFO] [stderr] 88 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/mirror.rs:99:29 [INFO] [stderr] | [INFO] [stderr] 99 | let event = ptrace::get_event(pid).unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/mirror.rs:107:49 [INFO] [stderr] | [INFO] [stderr] 107 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `int` [INFO] [stderr] --> src/mirror.rs:162:41 [INFO] [stderr] | [INFO] [stderr] 162 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `siginfo` [INFO] [stderr] --> src/mirror.rs:165:25 [INFO] [stderr] | [INFO] [stderr] 165 | let siginfo: libc::siginfo_t = ptrace::get_siginfo(p).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_siginfo` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid_num` [INFO] [stderr] --> src/mirror.rs:166:25 [INFO] [stderr] | [INFO] [stderr] 166 | let pid_num: i64 = ptrace::get_event(pid)?; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pid_num` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev_orig_rax` [INFO] [stderr] --> src/mirror.rs:82:73 [INFO] [stderr] | [INFO] [stderr] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root_pid` [INFO] [stderr] --> src/mirror.rs:82:93 [INFO] [stderr] | [INFO] [stderr] 82 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/mirror.rs:183:31 [INFO] [stderr] | [INFO] [stderr] 183 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/mirror.rs:225:28 [INFO] [stderr] | [INFO] [stderr] 225 | WaitStatus::Exited(pid, code) => true, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/mirror.rs:225:33 [INFO] [stderr] | [INFO] [stderr] 225 | WaitStatus::Exited(pid, code) => true, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mirror.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stderr] --> src/mirror.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `traceme` [INFO] [stderr] --> src/ptrace.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn traceme() -> Result<()> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sysemu` [INFO] [stderr] --> src/ptrace.rs:100:8 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn sysemu(pid: Pid) -> Result<()> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sysemu_single` [INFO] [stderr] --> src/ptrace.rs:109:8 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn sysemu_single(pid: Pid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | ptrace::set_emulate_option(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:93:25 [INFO] [stderr] | [INFO] [stderr] 93 | ptrace::attach(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:94:25 [INFO] [stderr] | [INFO] [stderr] 94 | ptrace::set_emulate_option(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:115:21 [INFO] [stderr] | [INFO] [stderr] 115 | fetch_signal(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:119:25 [INFO] [stderr] | [INFO] [stderr] 119 | ptrace::attach(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:120:25 [INFO] [stderr] | [INFO] [stderr] 120 | ptrace::set_emulate_option(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | ptrace::detach(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:158:17 [INFO] [stderr] | [INFO] [stderr] 158 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/mirror.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | ptrace::cont(waited_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Pid`, `chdir`, `chroot`, `mkdir`, `pivot_root`, `sethostname` [INFO] [stderr] --> src/main.rs:1:19 [INFO] [stderr] | [INFO] [stderr] 1 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stderr] | ^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/tracer_1.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | (count / (std::mem::size_of::() as u64)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 214 - (count / (std::mem::size_of::() as u64)) [INFO] [stderr] 214 + count / (std::mem::size_of::() as u64) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: value assigned to `emulate_flag` is never read [INFO] [stderr] --> src/tracer_1.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut emulate_flag = false; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `emulate_flag` is never read [INFO] [stderr] --> src/tracer_1.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | emulate_flag = false; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signal` [INFO] [stderr] --> src/tracer_1.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | let signal: libc::siginfo_t = fetch_signal(pid).unwrap(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/tracer_1.rs:120:49 [INFO] [stderr] | [INFO] [stderr] 120 | ... WaitStatus::Stopped(pid, signal::SIGTRAP) => {}, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `int` [INFO] [stderr] --> src/tracer_1.rs:175:41 [INFO] [stderr] | [INFO] [stderr] 175 | WaitStatus::PtraceEvent(p, sig, int) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_int` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root_pid` [INFO] [stderr] --> src/tracer_1.rs:91:93 [INFO] [stderr] | [INFO] [stderr] 91 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/tracer_1.rs:198:31 [INFO] [stderr] | [INFO] [stderr] 198 | fn handle_syscall_before_exit(pid: Pid, status: WaitStatus, regs: user_regs_struct) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/tracer_1.rs:242:28 [INFO] [stderr] | [INFO] [stderr] 242 | WaitStatus::Exited(pid, code) => true, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/tracer_1.rs:242:33 [INFO] [stderr] | [INFO] [stderr] 242 | WaitStatus::Exited(pid, code) => true, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tracer_1.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stderr] --> src/tracer_1.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tracer_1.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tracer_1.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tracer_1.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | ptrace::set_emulate_option(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:102:25 [INFO] [stderr] | [INFO] [stderr] 102 | ptrace::attach(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:103:25 [INFO] [stderr] | [INFO] [stderr] 103 | ptrace::set_emulate_option(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:128:21 [INFO] [stderr] | [INFO] [stderr] 128 | fetch_signal(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:132:25 [INFO] [stderr] | [INFO] [stderr] 132 | ptrace::attach(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:133:25 [INFO] [stderr] | [INFO] [stderr] 133 | ptrace::set_emulate_option(event_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | ptrace::detach(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:163:17 [INFO] [stderr] | [INFO] [stderr] 163 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:204:17 [INFO] [stderr] | [INFO] [stderr] 204 | ptrace::cont(waited_pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:252:5 [INFO] [stderr] | [INFO] [stderr] 252 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | ptrace::sysemu_single(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/tracer_1.rs:261:9 [INFO] [stderr] | [INFO] [stderr] 261 | ptrace::sysemu(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `BufWriter`, `Stderr` [INFO] [stderr] --> src/execution_trace_2.rs:2:22 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileType`, `File`, `set_permissions` [INFO] [stderr] --> src/execution_trace_2.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir, OpenOptions, File}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `OpenOptionsExt`, `PermissionsExt`, `symlink` [INFO] [stderr] --> src/execution_trace_2.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | use std::os::unix::fs::{symlink, PermissionsExt, OpenOptionsExt}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AsRawFd`, `FromRawFd` [INFO] [stderr] --> src/execution_trace_2.rs:6:25 [INFO] [stderr] | [INFO] [stderr] 6 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/execution_trace_2.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chroot` [INFO] [stderr] --> src/execution_trace_2.rs:9:45 [INFO] [stderr] | [INFO] [stderr] 9 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/execution_trace_2.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RwLockReadGuard` [INFO] [stderr] --> src/execution_trace_2.rs:18:25 [INFO] [stderr] | [INFO] [stderr] 18 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard, Arc}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/execution_trace_2.rs:395:21 [INFO] [stderr] | [INFO] [stderr] 395 | (regs.rdx / (std::mem::size_of::() as u64)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 395 - (regs.rdx / (std::mem::size_of::() as u64)) [INFO] [stderr] 395 + regs.rdx / (std::mem::size_of::() as u64) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/execution_trace_2.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 132 | / loop { [INFO] [stderr] 133 | | // sleep(Duration::from_secs(3)); [INFO] [stderr] 134 | | // spawn_sh("ls -a", self_pid); [INFO] [stderr] 135 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 136 | return 0 as isize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/execution_trace_2.rs:2:41 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/execution_trace_2.rs:2:50 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead, Read, BufWriter}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `regs` [INFO] [stderr] --> src/execution_trace_2.rs:230:21 [INFO] [stderr] | [INFO] [stderr] 230 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_regs` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pid` [INFO] [stderr] --> src/execution_trace_2.rs:367:19 [INFO] [stderr] | [INFO] [stderr] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev_orig_rax` [INFO] [stderr] --> src/execution_trace_2.rs:367:73 [INFO] [stderr] | [INFO] [stderr] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_orig_rax` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root_pid` [INFO] [stderr] --> src/execution_trace_2.rs:367:93 [INFO] [stderr] | [INFO] [stderr] 367 | fn handle_syscall(pid: Pid, status: WaitStatus, regs: user_regs_struct, prev_orig_rax: u64, root_pid: Pid) -> Result> { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/execution_trace_2.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [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: variable does not need to be mutable [INFO] [stderr] --> src/execution_trace_2.rs:180:21 [INFO] [stderr] | [INFO] [stderr] 180 | let mut contents = fs::read_to_string(read_guard.as_path()).unwrap(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/execution_trace_2.rs:230:17 [INFO] [stderr] | [INFO] [stderr] 230 | let mut regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dir` [INFO] [stderr] --> src/execution_trace_2.rs:330:4 [INFO] [stderr] | [INFO] [stderr] 330 | fn dir(path: &str) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_fifo` [INFO] [stderr] --> src/execution_trace_2.rs:355:4 [INFO] [stderr] | [INFO] [stderr] 355 | fn make_fifo(file_path: &str, mode: Mode) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `set_emulate_option` [INFO] [stderr] --> src/ptrace.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn set_emulate_option(pid: Pid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_event` [INFO] [stderr] --> src/ptrace.rs:126:8 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn get_event(pid: Pid) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | chdir("/root"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | prepare_bash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:149:5 [INFO] [stderr] | [INFO] [stderr] 149 | ptrace::set_tracesysgood(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:216:17 [INFO] [stderr] | [INFO] [stderr] 216 | ptrace::sysemu_single(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:218:17 [INFO] [stderr] | [INFO] [stderr] 218 | ptrace::sysemu(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:320:13 [INFO] [stderr] | [INFO] [stderr] 320 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | / mount::( [INFO] [stderr] 346 | | Some(source_path), [INFO] [stderr] 347 | | target_path.as_path(), [INFO] [stderr] 348 | | Some("ext4"), [INFO] [stderr] 349 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stderr] 350 | | None, [INFO] [stderr] 351 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:377:21 [INFO] [stderr] | [INFO] [stderr] 377 | ptrace::detach(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:413:17 [INFO] [stderr] | [INFO] [stderr] 413 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_2.rs:421:17 [INFO] [stderr] | [INFO] [stderr] 421 | ptrace::setregs(pid, new_regs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `toy-container` (bin "print-emulator" test) generated 45 warnings [INFO] [stderr] warning: `toy-container` (bin "multi-trace-1" test) generated 49 warnings (9 duplicates) [INFO] [stderr] warning: `toy-container` (bin "container-1" test) generated 8 warnings [INFO] [stderr] warning: `toy-container` (bin "executor-1" test) generated 15 warnings [INFO] [stderr] warning: `toy-container` (bin "mirror" test) generated 40 warnings (8 duplicates) [INFO] [stderr] warning: `toy-container` (bin "main" test) generated 1 warning [INFO] [stderr] warning: `toy-container` (bin "tracer-1" test) generated 37 warnings (9 duplicates) [INFO] [stderr] warning: `toy-container` (bin "trace-2" test) generated 43 warnings (9 duplicates) [INFO] [stderr] warning: unused imports: `BufReader`, `Stderr` [INFO] [stderr] --> src/execution_trace_1.rs:2:22 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileType`, `set_permissions` [INFO] [stderr] --> src/execution_trace_1.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stderr] --> src/execution_trace_1.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/execution_trace_1.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chroot` [INFO] [stderr] --> src/execution_trace_1.rs:8:45 [INFO] [stderr] | [INFO] [stderr] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/execution_trace_1.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RwLockReadGuard` [INFO] [stderr] --> src/execution_trace_1.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/execution_trace_1.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 115 | / loop { [INFO] [stderr] 116 | | // sleep(Duration::from_secs(3)); [INFO] [stderr] 117 | | // spawn_sh("ls -a", self_pid); [INFO] [stderr] 118 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 119 | return 0 as isize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/execution_trace_1.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 140 | / loop { [INFO] [stderr] 141 | | let status: WaitStatus = ptrace::wait_pid(pid).unwrap(); [INFO] [stderr] 142 | | println!("status: {:?}", status); [INFO] [stderr] 143 | | let regs: user_regs_struct = ptrace::getregs(pid).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 199 | | // sleep(Duration::from_secs(3)); [INFO] [stderr] 200 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 201 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/execution_trace_1.rs:2:41 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr, BufReader, BufRead}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root_pid` [INFO] [stderr] --> src/execution_trace_1.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | let root_pid = getpid(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_pid` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `is_enter_stop` is never read [INFO] [stderr] --> src/execution_trace_1.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | let mut is_enter_stop: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `is_enter_stop` is never read [INFO] [stderr] --> src/execution_trace_1.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | is_enter_stop = false; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dir` [INFO] [stderr] --> src/execution_trace_1.rs:295:4 [INFO] [stderr] | [INFO] [stderr] 295 | fn dir(path: &str) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `detach` [INFO] [stderr] --> src/ptrace.rs:18:8 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn detach(pid: Pid) -> Result<()> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `wait_all` [INFO] [stderr] --> src/ptrace.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn wait_all() -> Result { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `syscall_step` [INFO] [stderr] --> src/ptrace.rs:83:8 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn syscall_step(pid: Pid) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `setregs` [INFO] [stderr] --> src/ptrace.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn setregs(pid: Pid, urs: user_regs_struct) -> Result<()> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_siginfo` [INFO] [stderr] --> src/ptrace.rs:131:8 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn get_siginfo(pid: Pid) -> Result { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_1.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | chdir("/root"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_1.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | mount_dir(&(&*MOUNT_DIR.read().unwrap()).as_ref().unwrap(), "target"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_1.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | prepare_bash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_1.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | ptrace::set_tracesysgood(pid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_1.rs:285:13 [INFO] [stderr] | [INFO] [stderr] 285 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/execution_trace_1.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 310 | / mount::( [INFO] [stderr] 311 | | Some(source_path), [INFO] [stderr] 312 | | target_path.as_path(), [INFO] [stderr] 313 | | Some("ext4"), [INFO] [stderr] 314 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stderr] 315 | | None, [INFO] [stderr] 316 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused import: `Stderr` [INFO] [stderr] --> src/container_pivot.rs:2:22 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Write, Stderr}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileType`, `set_permissions` [INFO] [stderr] --> src/container_pivot.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, copy, read_dir, FileType, set_permissions, remove_dir}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PermissionsExt`, `symlink` [INFO] [stderr] --> src/container_pivot.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | use std::os::unix::fs::{symlink, PermissionsExt}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chroot` [INFO] [stderr] --> src/container_pivot.rs:8:45 [INFO] [stderr] | [INFO] [stderr] 8 | use nix::unistd::{Pid, getpid, sethostname, chroot, chdir, mkdir, pivot_root}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chdir` [INFO] [stderr] --> src/escaping_chroot.rs:2:32 [INFO] [stderr] | [INFO] [stderr] 2 | use nix::unistd::{Pid, chroot, chdir, mkdir}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `escaping_chroot::escape_chroot` [INFO] [stderr] --> src/container_pivot.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use escaping_chroot::escape_chroot; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/container_pivot.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 49 | / loop { [INFO] [stderr] 50 | | sleep(Duration::from_secs(3)); [INFO] [stderr] 51 | | spawn_sh("id", self_pid); [INFO] [stderr] 52 | | spawn_sh("ipcs", self_pid); [INFO] [stderr] ... | [INFO] [stderr] 60 | | spawn_sh("ls -a .", self_pid); [INFO] [stderr] 61 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 62 | return 0 as isize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/container_pivot.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 76 | / loop { [INFO] [stderr] 77 | | exec_sh("uname -n", root_pid); [INFO] [stderr] 78 | | sleep(Duration::from_secs(3)); [INFO] [stderr] 79 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 80 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dir` [INFO] [stderr] --> src/container_pivot.rs:176:4 [INFO] [stderr] | [INFO] [stderr] 176 | fn dir(path: &str) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `escape_chroot` [INFO] [stderr] --> src/escaping_chroot.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn escape_chroot(pid: Pid) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/container_pivot.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | chdir("/root"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/container_pivot.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | prepare_bash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/container_pivot.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | copy_dir(entry.as_os_str().to_str().unwrap(), Path::new(target).join(entry.file_name().unwrap()).as_os_str().to_str().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `toy-container` (bin "trace-1" test) generated 38 warnings (13 duplicates) [INFO] [stderr] warning: `toy-container` (bin "container-pivot" test) generated 13 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.66s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/container_1-62c16aefaf85fe1a) [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 (/opt/rustwide/target/debug/deps/container_pivot-6c39da7cff78e1e3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/executor_1-84d44e382f493735) [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [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.01s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/main-02b6f20a97243811) [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 (/opt/rustwide/target/debug/deps/mirror-6cf5e211f2257222) [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/multi_trace_1-7253fc115f84bde1) [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] [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 (/opt/rustwide/target/debug/deps/print_emulator-54dcb232043c8a06) [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/trace_1-4fcd261574496c4d) [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] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/trace_2-7173a0b45b530edd) [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] [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 (/opt/rustwide/target/debug/deps/tracer_1-3a3cb5ce8be07121) [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" "4d829ce5f6fcad25645b873700642405c289b154f590cdaa177d98f43445d281", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d829ce5f6fcad25645b873700642405c289b154f590cdaa177d98f43445d281", kill_on_drop: false }` [INFO] [stdout] 4d829ce5f6fcad25645b873700642405c289b154f590cdaa177d98f43445d281