Nov 28 06:23:50.665 INFO checking donniemattingly/fingerprint against master#0b9f19dff1347e29bf4362ab5a8fab84b43023b5 for pr-56074 Nov 28 06:23:50.665 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56074/worker-7/master#0b9f19dff1347e29bf4362ab5a8fab84b43023b5:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-7/pr-56074/master#0b9f19dff1347e29bf4362ab5a8fab84b43023b5:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +0b9f19dff1347e29bf4362ab5a8fab84b43023b5-alt check --frozen --all --all-targets" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Nov 28 06:23:50.953 INFO [stdout] dbab0cdd1ac7c98eee2db233a5fd1234edb5fb69b0e40b1c9a8f51de6eb063ce Nov 28 06:23:50.956 INFO running `"docker" "start" "-a" "dbab0cdd1ac7c98eee2db233a5fd1234edb5fb69b0e40b1c9a8f51de6eb063ce"` Nov 28 06:23:52.355 INFO [stderr] usermod: no changes Nov 28 06:23:52.696 INFO [stderr] Checking sha1 v0.6.0 Nov 28 06:23:52.696 INFO [stderr] Checking goertzel v0.2.0 Nov 28 06:23:52.697 INFO [stderr] Checking hound v3.3.1 Nov 28 06:23:52.697 INFO [stderr] Checking num_cpus v1.8.0 Nov 28 06:23:52.697 INFO [stderr] Checking time v0.1.39 Nov 28 06:23:52.697 INFO [stderr] Checking log v0.4.1 Nov 28 06:23:52.697 INFO [stderr] Checking multimap v0.4.0 Nov 28 06:23:52.698 INFO [stderr] Checking rand v0.3.22 Nov 28 06:23:55.191 INFO [stderr] Checking num-bigint v0.1.43 Nov 28 06:23:55.353 INFO [stderr] Checking rustfft v2.0.0 Nov 28 06:23:55.419 INFO [stderr] Checking serde_yaml v0.7.3 Nov 28 06:23:56.441 INFO [stderr] Checking png v0.11.0 Nov 28 06:23:56.790 INFO [stderr] Checking miniz-sys v0.1.10 Nov 28 06:23:56.873 INFO [stderr] Checking threadpool v1.7.1 Nov 28 06:23:57.606 INFO [stderr] Checking serde-value v0.5.1 Nov 28 06:23:58.835 INFO [stderr] Checking rayon-core v1.4.0 Nov 28 06:23:59.481 INFO [stderr] Checking nalgebra v0.13.1 Nov 28 06:24:00.362 INFO [stderr] Checking flate2 v1.0.1 Nov 28 06:24:06.410 INFO [stderr] Checking rayon v1.0.0 Nov 28 06:24:07.433 INFO [stderr] Checking num-rational v0.1.42 Nov 28 06:24:09.912 INFO [stderr] Checking num v0.1.42 Nov 28 06:24:11.068 INFO [stderr] Checking nalgebra v0.5.1 Nov 28 06:24:11.068 INFO [stderr] Checking chrono v0.4.0 Nov 28 06:24:11.068 INFO [stderr] Checking stopwatch v0.0.7 Nov 28 06:24:11.068 INFO [stderr] Checking streaming-stats v0.1.28 Nov 28 06:24:18.252 INFO [stderr] Checking log4rs v0.8.0 Nov 28 06:24:18.772 INFO [stderr] Checking jpeg-decoder v0.1.14 Nov 28 06:24:25.665 INFO [stderr] Checking image v0.18.0 Nov 28 06:24:32.196 INFO [stderr] Checking apodize v0.2.0 Nov 28 06:24:52.372 INFO [stderr] Checking fingerprint v0.1.0 (/source) Nov 28 06:24:56.776 INFO [stderr] warning: unused import: `std::collections::HashMap` Nov 28 06:24:56.776 INFO [stderr] --> src/main.rs:14:5 Nov 28 06:24:56.776 INFO [stderr] | Nov 28 06:24:56.777 INFO [stderr] 14 | use std::collections::HashMap; Nov 28 06:24:56.777 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:56.777 INFO [stderr] | Nov 28 06:24:56.777 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 06:24:56.777 INFO [stderr] Nov 28 06:24:56.777 INFO [stderr] warning: unused import: `std::collections::HashSet` Nov 28 06:24:56.777 INFO [stderr] --> src/hash.rs:5:5 Nov 28 06:24:56.777 INFO [stderr] | Nov 28 06:24:56.777 INFO [stderr] 5 | use std::collections::HashSet; Nov 28 06:24:56.777 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:56.777 INFO [stderr] Nov 28 06:24:56.777 INFO [stderr] warning: unnecessary parentheses around `if` condition Nov 28 06:24:56.777 INFO [stderr] --> src/main.rs:81:12 Nov 28 06:24:56.777 INFO [stderr] | Nov 28 06:24:56.777 INFO [stderr] 81 | if (diff != cur) { Nov 28 06:24:56.777 INFO [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses Nov 28 06:24:56.777 INFO [stderr] | Nov 28 06:24:56.777 INFO [stderr] = note: #[warn(unused_parens)] on by default Nov 28 06:24:56.777 INFO [stderr] Nov 28 06:24:56.777 INFO [stderr] warning: unnecessary parentheses around `if` condition Nov 28 06:24:56.777 INFO [stderr] --> src/main.rs:82:16 Nov 28 06:24:56.777 INFO [stderr] | Nov 28 06:24:56.777 INFO [stderr] 82 | if (cur_count > 10) { Nov 28 06:24:56.777 INFO [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses Nov 28 06:24:56.777 INFO [stderr] Nov 28 06:24:57.868 INFO [stderr] warning: unused variable: `peaks_len` Nov 28 06:24:57.869 INFO [stderr] --> src/hash.rs:116:9 Nov 28 06:24:57.869 INFO [stderr] | Nov 28 06:24:57.869 INFO [stderr] 116 | let peaks_len = peaks.len(); Nov 28 06:24:57.869 INFO [stderr] | ^^^^^^^^^ help: consider using `_peaks_len` instead Nov 28 06:24:57.869 INFO [stderr] | Nov 28 06:24:57.869 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 06:24:57.869 INFO [stderr] Nov 28 06:24:57.869 INFO [stderr] warning: unused variable: `peak` Nov 28 06:24:57.869 INFO [stderr] --> src/hash.rs:126:13 Nov 28 06:24:57.869 INFO [stderr] | Nov 28 06:24:57.869 INFO [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { Nov 28 06:24:57.869 INFO [stderr] | ^^^^ help: consider using `_peak` instead Nov 28 06:24:57.869 INFO [stderr] Nov 28 06:24:57.869 INFO [stderr] warning: unused variable: `y` Nov 28 06:24:57.869 INFO [stderr] --> src/hash.rs:162:9 Nov 28 06:24:57.869 INFO [stderr] | Nov 28 06:24:57.869 INFO [stderr] 162 | let y = rand::random::(); Nov 28 06:24:57.869 INFO [stderr] | ^ help: consider using `_y` instead Nov 28 06:24:57.869 INFO [stderr] Nov 28 06:24:57.869 INFO [stderr] warning: unused variable: `offsets2` Nov 28 06:24:57.869 INFO [stderr] --> src/main.rs:65:13 Nov 28 06:24:57.869 INFO [stderr] | Nov 28 06:24:57.869 INFO [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); Nov 28 06:24:57.869 INFO [stderr] | ^^^^^^^^ help: consider using `_offsets2` instead Nov 28 06:24:57.869 INFO [stderr] Nov 28 06:24:57.896 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:57.896 INFO [stderr] --> src/main.rs:25:9 Nov 28 06:24:57.896 INFO [stderr] | Nov 28 06:24:57.896 INFO [stderr] 25 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:57.896 INFO [stderr] | ----^^ Nov 28 06:24:57.896 INFO [stderr] | | Nov 28 06:24:57.896 INFO [stderr] | help: remove this `mut` Nov 28 06:24:57.896 INFO [stderr] | Nov 28 06:24:57.896 INFO [stderr] = note: #[warn(unused_mut)] on by default Nov 28 06:24:57.896 INFO [stderr] Nov 28 06:24:57.992 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:57.992 INFO [stderr] --> src/main.rs:44:9 Nov 28 06:24:57.992 INFO [stderr] | Nov 28 06:24:57.992 INFO [stderr] 44 | let mut dups = 0; Nov 28 06:24:57.992 INFO [stderr] | ----^^^^ Nov 28 06:24:57.992 INFO [stderr] | | Nov 28 06:24:57.992 INFO [stderr] | help: remove this `mut` Nov 28 06:24:57.992 INFO [stderr] Nov 28 06:24:57.992 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:57.992 INFO [stderr] --> src/main.rs:65:9 Nov 28 06:24:57.992 INFO [stderr] | Nov 28 06:24:57.992 INFO [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); Nov 28 06:24:57.992 INFO [stderr] | ----^^^^^^^^ Nov 28 06:24:57.992 INFO [stderr] | | Nov 28 06:24:57.992 INFO [stderr] | help: remove this `mut` Nov 28 06:24:57.992 INFO [stderr] Nov 28 06:24:58.056 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.056 INFO [stderr] --> src/spectrogram.rs:62:13 Nov 28 06:24:58.056 INFO [stderr] | Nov 28 06:24:58.056 INFO [stderr] 62 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.056 INFO [stderr] | ----^^ Nov 28 06:24:58.056 INFO [stderr] | | Nov 28 06:24:58.056 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.056 INFO [stderr] Nov 28 06:24:58.088 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.088 INFO [stderr] --> src/spectrogram.rs:109:9 Nov 28 06:24:58.088 INFO [stderr] | Nov 28 06:24:58.088 INFO [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); Nov 28 06:24:58.088 INFO [stderr] | ----^^^^^^^^ Nov 28 06:24:58.088 INFO [stderr] | | Nov 28 06:24:58.088 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.088 INFO [stderr] Nov 28 06:24:58.160 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.160 INFO [stderr] --> src/spectrogram.rs:183:9 Nov 28 06:24:58.160 INFO [stderr] | Nov 28 06:24:58.160 INFO [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; Nov 28 06:24:58.160 INFO [stderr] | ----^^^ Nov 28 06:24:58.160 INFO [stderr] | | Nov 28 06:24:58.160 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.160 INFO [stderr] Nov 28 06:24:58.160 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.160 INFO [stderr] --> src/spectrogram.rs:184:9 Nov 28 06:24:58.160 INFO [stderr] | Nov 28 06:24:58.160 INFO [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); Nov 28 06:24:58.160 INFO [stderr] | ----^^^^^^ Nov 28 06:24:58.160 INFO [stderr] | | Nov 28 06:24:58.160 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.160 INFO [stderr] Nov 28 06:24:58.184 INFO [stderr] warning: unused import: `std::collections::HashMap` Nov 28 06:24:58.184 INFO [stderr] --> src/main.rs:14:5 Nov 28 06:24:58.184 INFO [stderr] | Nov 28 06:24:58.184 INFO [stderr] 14 | use std::collections::HashMap; Nov 28 06:24:58.184 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.184 INFO [stderr] | Nov 28 06:24:58.184 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 06:24:58.184 INFO [stderr] Nov 28 06:24:58.184 INFO [stderr] warning: unused import: `std::path::PathBuf` Nov 28 06:24:58.184 INFO [stderr] --> src/spectrogram.rs:234:5 Nov 28 06:24:58.184 INFO [stderr] | Nov 28 06:24:58.184 INFO [stderr] 234 | use std::path::PathBuf; Nov 28 06:24:58.184 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.184 INFO [stderr] Nov 28 06:24:58.184 INFO [stderr] warning: unused import: `std::collections::HashSet` Nov 28 06:24:58.184 INFO [stderr] --> src/hash.rs:5:5 Nov 28 06:24:58.184 INFO [stderr] | Nov 28 06:24:58.184 INFO [stderr] 5 | use std::collections::HashSet; Nov 28 06:24:58.184 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.184 INFO [stderr] Nov 28 06:24:58.185 INFO [stderr] warning: unused import: `std::path::PathBuf` Nov 28 06:24:58.185 INFO [stderr] --> src/hash.rs:197:5 Nov 28 06:24:58.185 INFO [stderr] | Nov 28 06:24:58.185 INFO [stderr] 197 | use std::path::PathBuf; Nov 28 06:24:58.185 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.185 INFO [stderr] Nov 28 06:24:58.185 INFO [stderr] warning: unnecessary parentheses around `if` condition Nov 28 06:24:58.185 INFO [stderr] --> src/main.rs:81:12 Nov 28 06:24:58.185 INFO [stderr] | Nov 28 06:24:58.185 INFO [stderr] 81 | if (diff != cur) { Nov 28 06:24:58.185 INFO [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses Nov 28 06:24:58.185 INFO [stderr] | Nov 28 06:24:58.185 INFO [stderr] = note: #[warn(unused_parens)] on by default Nov 28 06:24:58.185 INFO [stderr] Nov 28 06:24:58.185 INFO [stderr] warning: unnecessary parentheses around `if` condition Nov 28 06:24:58.185 INFO [stderr] --> src/main.rs:82:16 Nov 28 06:24:58.185 INFO [stderr] | Nov 28 06:24:58.185 INFO [stderr] 82 | if (cur_count > 10) { Nov 28 06:24:58.185 INFO [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses Nov 28 06:24:58.185 INFO [stderr] Nov 28 06:24:58.216 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.216 INFO [stderr] --> src/hash.rs:61:9 Nov 28 06:24:58.216 INFO [stderr] | Nov 28 06:24:58.216 INFO [stderr] 61 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.216 INFO [stderr] | ----^^ Nov 28 06:24:58.216 INFO [stderr] | | Nov 28 06:24:58.216 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.216 INFO [stderr] Nov 28 06:24:58.224 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.224 INFO [stderr] --> src/hash.rs:113:9 Nov 28 06:24:58.224 INFO [stderr] | Nov 28 06:24:58.224 INFO [stderr] 113 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.224 INFO [stderr] | ----^^ Nov 28 06:24:58.224 INFO [stderr] | | Nov 28 06:24:58.224 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.224 INFO [stderr] Nov 28 06:24:58.224 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.224 INFO [stderr] --> src/hash.rs:119:9 Nov 28 06:24:58.224 INFO [stderr] | Nov 28 06:24:58.224 INFO [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); Nov 28 06:24:58.224 INFO [stderr] | ----^^^^^^ Nov 28 06:24:58.224 INFO [stderr] | | Nov 28 06:24:58.224 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.224 INFO [stderr] Nov 28 06:24:58.236 INFO [stderr] warning: function is never used: `gen_spectrogram` Nov 28 06:24:58.236 INFO [stderr] --> src/main.rs:33:1 Nov 28 06:24:58.236 INFO [stderr] | Nov 28 06:24:58.236 INFO [stderr] 33 | fn gen_spectrogram>(wav: P, image: P) { Nov 28 06:24:58.236 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.236 INFO [stderr] | Nov 28 06:24:58.236 INFO [stderr] = note: #[warn(dead_code)] on by default Nov 28 06:24:58.236 INFO [stderr] Nov 28 06:24:58.236 INFO [stderr] warning: function is never used: `test_fingerprinting` Nov 28 06:24:58.236 INFO [stderr] --> src/main.rs:39:1 Nov 28 06:24:58.236 INFO [stderr] | Nov 28 06:24:58.236 INFO [stderr] 39 | fn test_fingerprinting() { Nov 28 06:24:58.236 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.236 INFO [stderr] Nov 28 06:24:58.436 INFO [stderr] warning: unused import: `self::stopwatch::Stopwatch` Nov 28 06:24:58.436 INFO [stderr] --> src/lib.rs:8:5 Nov 28 06:24:58.436 INFO [stderr] | Nov 28 06:24:58.436 INFO [stderr] 8 | use self::stopwatch::Stopwatch; Nov 28 06:24:58.436 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.460 INFO [stderr] | Nov 28 06:24:58.460 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 06:24:58.460 INFO [stderr] Nov 28 06:24:58.460 INFO [stderr] warning: unused import: `std::collections::HashMap` Nov 28 06:24:58.460 INFO [stderr] --> src/lib.rs:14:5 Nov 28 06:24:58.460 INFO [stderr] | Nov 28 06:24:58.460 INFO [stderr] 14 | use std::collections::HashMap; Nov 28 06:24:58.460 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.460 INFO [stderr] Nov 28 06:24:58.460 INFO [stderr] warning: unused import: `multimap::MultiMap` Nov 28 06:24:58.460 INFO [stderr] --> src/lib.rs:18:5 Nov 28 06:24:58.460 INFO [stderr] | Nov 28 06:24:58.460 INFO [stderr] 18 | use multimap::MultiMap; Nov 28 06:24:58.461 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.461 INFO [stderr] Nov 28 06:24:58.461 INFO [stderr] warning: unused import: `std::path::PathBuf` Nov 28 06:24:58.461 INFO [stderr] --> src/spectrogram.rs:234:5 Nov 28 06:24:58.461 INFO [stderr] | Nov 28 06:24:58.461 INFO [stderr] 234 | use std::path::PathBuf; Nov 28 06:24:58.461 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.461 INFO [stderr] Nov 28 06:24:58.461 INFO [stderr] warning: unused import: `std::collections::HashSet` Nov 28 06:24:58.461 INFO [stderr] --> src/hash.rs:5:5 Nov 28 06:24:58.461 INFO [stderr] | Nov 28 06:24:58.461 INFO [stderr] 5 | use std::collections::HashSet; Nov 28 06:24:58.461 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.461 INFO [stderr] Nov 28 06:24:58.461 INFO [stderr] warning: unused import: `std::path::PathBuf` Nov 28 06:24:58.461 INFO [stderr] --> src/hash.rs:197:5 Nov 28 06:24:58.461 INFO [stderr] | Nov 28 06:24:58.461 INFO [stderr] 197 | use std::path::PathBuf; Nov 28 06:24:58.461 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.461 INFO [stderr] Nov 28 06:24:58.764 INFO [stderr] warning: unused variable: `peaks_len` Nov 28 06:24:58.764 INFO [stderr] --> src/hash.rs:116:9 Nov 28 06:24:58.764 INFO [stderr] | Nov 28 06:24:58.764 INFO [stderr] 116 | let peaks_len = peaks.len(); Nov 28 06:24:58.764 INFO [stderr] | ^^^^^^^^^ help: consider using `_peaks_len` instead Nov 28 06:24:58.764 INFO [stderr] | Nov 28 06:24:58.764 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 06:24:58.764 INFO [stderr] Nov 28 06:24:58.764 INFO [stderr] warning: unused variable: `peak` Nov 28 06:24:58.764 INFO [stderr] --> src/hash.rs:126:13 Nov 28 06:24:58.764 INFO [stderr] | Nov 28 06:24:58.764 INFO [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { Nov 28 06:24:58.764 INFO [stderr] | ^^^^ help: consider using `_peak` instead Nov 28 06:24:58.764 INFO [stderr] Nov 28 06:24:58.764 INFO [stderr] warning: unused variable: `y` Nov 28 06:24:58.764 INFO [stderr] --> src/hash.rs:162:9 Nov 28 06:24:58.764 INFO [stderr] | Nov 28 06:24:58.765 INFO [stderr] 162 | let y = rand::random::(); Nov 28 06:24:58.765 INFO [stderr] | ^ help: consider using `_y` instead Nov 28 06:24:58.765 INFO [stderr] Nov 28 06:24:58.765 INFO [stderr] warning: unused variable: `offsets2` Nov 28 06:24:58.765 INFO [stderr] --> src/main.rs:65:13 Nov 28 06:24:58.765 INFO [stderr] | Nov 28 06:24:58.765 INFO [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); Nov 28 06:24:58.765 INFO [stderr] | ^^^^^^^^ help: consider using `_offsets2` instead Nov 28 06:24:58.765 INFO [stderr] Nov 28 06:24:58.765 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.765 INFO [stderr] --> src/main.rs:25:9 Nov 28 06:24:58.765 INFO [stderr] | Nov 28 06:24:58.765 INFO [stderr] 25 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.765 INFO [stderr] | ----^^ Nov 28 06:24:58.765 INFO [stderr] | | Nov 28 06:24:58.765 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.765 INFO [stderr] | Nov 28 06:24:58.765 INFO [stderr] = note: #[warn(unused_mut)] on by default Nov 28 06:24:58.765 INFO [stderr] Nov 28 06:24:58.784 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.784 INFO [stderr] --> src/main.rs:44:9 Nov 28 06:24:58.784 INFO [stderr] | Nov 28 06:24:58.784 INFO [stderr] 44 | let mut dups = 0; Nov 28 06:24:58.784 INFO [stderr] | ----^^^^ Nov 28 06:24:58.784 INFO [stderr] | | Nov 28 06:24:58.784 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.784 INFO [stderr] Nov 28 06:24:58.784 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.784 INFO [stderr] --> src/main.rs:65:9 Nov 28 06:24:58.784 INFO [stderr] | Nov 28 06:24:58.784 INFO [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); Nov 28 06:24:58.784 INFO [stderr] | ----^^^^^^^^ Nov 28 06:24:58.784 INFO [stderr] | | Nov 28 06:24:58.784 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.784 INFO [stderr] Nov 28 06:24:58.796 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.796 INFO [stderr] --> src/spectrogram.rs:62:13 Nov 28 06:24:58.796 INFO [stderr] | Nov 28 06:24:58.796 INFO [stderr] 62 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.796 INFO [stderr] | ----^^ Nov 28 06:24:58.796 INFO [stderr] | | Nov 28 06:24:58.796 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.796 INFO [stderr] Nov 28 06:24:58.797 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.797 INFO [stderr] --> src/spectrogram.rs:109:9 Nov 28 06:24:58.797 INFO [stderr] | Nov 28 06:24:58.797 INFO [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); Nov 28 06:24:58.797 INFO [stderr] | ----^^^^^^^^ Nov 28 06:24:58.797 INFO [stderr] | | Nov 28 06:24:58.797 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.797 INFO [stderr] Nov 28 06:24:58.816 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.816 INFO [stderr] --> src/spectrogram.rs:183:9 Nov 28 06:24:58.816 INFO [stderr] | Nov 28 06:24:58.816 INFO [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; Nov 28 06:24:58.816 INFO [stderr] | ----^^^ Nov 28 06:24:58.816 INFO [stderr] | | Nov 28 06:24:58.816 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.816 INFO [stderr] Nov 28 06:24:58.816 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.816 INFO [stderr] --> src/spectrogram.rs:184:9 Nov 28 06:24:58.816 INFO [stderr] | Nov 28 06:24:58.816 INFO [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); Nov 28 06:24:58.816 INFO [stderr] | ----^^^^^^ Nov 28 06:24:58.816 INFO [stderr] | | Nov 28 06:24:58.816 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.816 INFO [stderr] Nov 28 06:24:58.828 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.828 INFO [stderr] --> src/hash.rs:61:9 Nov 28 06:24:58.828 INFO [stderr] | Nov 28 06:24:58.828 INFO [stderr] 61 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.828 INFO [stderr] | ----^^ Nov 28 06:24:58.828 INFO [stderr] | | Nov 28 06:24:58.828 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.828 INFO [stderr] Nov 28 06:24:58.836 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.836 INFO [stderr] --> src/hash.rs:113:9 Nov 28 06:24:58.836 INFO [stderr] | Nov 28 06:24:58.836 INFO [stderr] 113 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.836 INFO [stderr] | ----^^ Nov 28 06:24:58.836 INFO [stderr] | | Nov 28 06:24:58.836 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.836 INFO [stderr] Nov 28 06:24:58.836 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.836 INFO [stderr] --> src/hash.rs:119:9 Nov 28 06:24:58.836 INFO [stderr] | Nov 28 06:24:58.836 INFO [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); Nov 28 06:24:58.836 INFO [stderr] | ----^^^^^^ Nov 28 06:24:58.836 INFO [stderr] | | Nov 28 06:24:58.836 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.836 INFO [stderr] Nov 28 06:24:58.840 INFO [stderr] warning: function is never used: `gen_spectrogram` Nov 28 06:24:58.840 INFO [stderr] --> src/main.rs:33:1 Nov 28 06:24:58.840 INFO [stderr] | Nov 28 06:24:58.840 INFO [stderr] 33 | fn gen_spectrogram>(wav: P, image: P) { Nov 28 06:24:58.840 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.840 INFO [stderr] | Nov 28 06:24:58.840 INFO [stderr] = note: #[warn(dead_code)] on by default Nov 28 06:24:58.840 INFO [stderr] Nov 28 06:24:58.840 INFO [stderr] warning: function is never used: `test_fingerprinting` Nov 28 06:24:58.840 INFO [stderr] --> src/main.rs:39:1 Nov 28 06:24:58.840 INFO [stderr] | Nov 28 06:24:58.840 INFO [stderr] 39 | fn test_fingerprinting() { Nov 28 06:24:58.840 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:58.840 INFO [stderr] Nov 28 06:24:58.911 INFO [stderr] warning: unused variable: `peaks_len` Nov 28 06:24:58.911 INFO [stderr] --> src/hash.rs:116:9 Nov 28 06:24:58.911 INFO [stderr] | Nov 28 06:24:58.911 INFO [stderr] 116 | let peaks_len = peaks.len(); Nov 28 06:24:58.911 INFO [stderr] | ^^^^^^^^^ help: consider using `_peaks_len` instead Nov 28 06:24:58.911 INFO [stderr] | Nov 28 06:24:58.911 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 06:24:58.911 INFO [stderr] Nov 28 06:24:58.911 INFO [stderr] warning: unused variable: `peak` Nov 28 06:24:58.911 INFO [stderr] --> src/hash.rs:126:13 Nov 28 06:24:58.911 INFO [stderr] | Nov 28 06:24:58.911 INFO [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { Nov 28 06:24:58.911 INFO [stderr] | ^^^^ help: consider using `_peak` instead Nov 28 06:24:58.911 INFO [stderr] Nov 28 06:24:58.911 INFO [stderr] warning: unused variable: `y` Nov 28 06:24:58.911 INFO [stderr] --> src/hash.rs:162:9 Nov 28 06:24:58.911 INFO [stderr] | Nov 28 06:24:58.911 INFO [stderr] 162 | let y = rand::random::(); Nov 28 06:24:58.911 INFO [stderr] | ^ help: consider using `_y` instead Nov 28 06:24:58.911 INFO [stderr] Nov 28 06:24:58.911 INFO [stderr] warning: unused variable: `path` Nov 28 06:24:58.912 INFO [stderr] --> src/lib.rs:53:39 Nov 28 06:24:58.912 INFO [stderr] | Nov 28 06:24:58.912 INFO [stderr] 53 | pub extern "C" fn rust_compute_hashes(path: *const c_char) -> int32_t { Nov 28 06:24:58.912 INFO [stderr] | ^^^^ help: consider using `_path` instead Nov 28 06:24:58.912 INFO [stderr] Nov 28 06:24:58.943 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.943 INFO [stderr] --> src/spectrogram.rs:62:13 Nov 28 06:24:58.943 INFO [stderr] | Nov 28 06:24:58.943 INFO [stderr] 62 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.943 INFO [stderr] | ----^^ Nov 28 06:24:58.943 INFO [stderr] | | Nov 28 06:24:58.943 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.943 INFO [stderr] | Nov 28 06:24:58.943 INFO [stderr] = note: #[warn(unused_mut)] on by default Nov 28 06:24:58.943 INFO [stderr] Nov 28 06:24:58.943 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.943 INFO [stderr] --> src/spectrogram.rs:109:9 Nov 28 06:24:58.943 INFO [stderr] | Nov 28 06:24:58.943 INFO [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); Nov 28 06:24:58.943 INFO [stderr] | ----^^^^^^^^ Nov 28 06:24:58.943 INFO [stderr] | | Nov 28 06:24:58.943 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.943 INFO [stderr] Nov 28 06:24:58.960 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.960 INFO [stderr] --> src/spectrogram.rs:183:9 Nov 28 06:24:58.960 INFO [stderr] | Nov 28 06:24:58.960 INFO [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; Nov 28 06:24:58.960 INFO [stderr] | ----^^^ Nov 28 06:24:58.960 INFO [stderr] | | Nov 28 06:24:58.960 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.960 INFO [stderr] Nov 28 06:24:58.960 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.960 INFO [stderr] --> src/spectrogram.rs:184:9 Nov 28 06:24:58.960 INFO [stderr] | Nov 28 06:24:58.960 INFO [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); Nov 28 06:24:58.960 INFO [stderr] | ----^^^^^^ Nov 28 06:24:58.960 INFO [stderr] | | Nov 28 06:24:58.960 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.960 INFO [stderr] Nov 28 06:24:58.977 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.977 INFO [stderr] --> src/hash.rs:61:9 Nov 28 06:24:58.977 INFO [stderr] | Nov 28 06:24:58.977 INFO [stderr] 61 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.977 INFO [stderr] | ----^^ Nov 28 06:24:58.977 INFO [stderr] | | Nov 28 06:24:58.977 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.977 INFO [stderr] Nov 28 06:24:58.984 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.984 INFO [stderr] --> src/hash.rs:113:9 Nov 28 06:24:58.984 INFO [stderr] | Nov 28 06:24:58.984 INFO [stderr] 113 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:58.984 INFO [stderr] | ----^^ Nov 28 06:24:58.984 INFO [stderr] | | Nov 28 06:24:58.984 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.984 INFO [stderr] Nov 28 06:24:58.984 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:58.984 INFO [stderr] --> src/hash.rs:119:9 Nov 28 06:24:58.984 INFO [stderr] | Nov 28 06:24:58.984 INFO [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); Nov 28 06:24:58.984 INFO [stderr] | ----^^^^^^ Nov 28 06:24:58.984 INFO [stderr] | | Nov 28 06:24:58.984 INFO [stderr] | help: remove this `mut` Nov 28 06:24:58.984 INFO [stderr] Nov 28 06:24:58.992 INFO [stderr] warning: unnecessary `unsafe` block Nov 28 06:24:58.992 INFO [stderr] --> src/lib.rs:69:5 Nov 28 06:24:58.992 INFO [stderr] | Nov 28 06:24:58.992 INFO [stderr] 69 | unsafe { transformed[0] } Nov 28 06:24:58.992 INFO [stderr] | ^^^^^^ unnecessary `unsafe` block Nov 28 06:24:58.992 INFO [stderr] | Nov 28 06:24:58.992 INFO [stderr] = note: #[warn(unused_unsafe)] on by default Nov 28 06:24:58.992 INFO [stderr] Nov 28 06:24:59.758 INFO [stderr] warning: unused import: `self::stopwatch::Stopwatch` Nov 28 06:24:59.764 INFO [stderr] --> src/lib.rs:8:5 Nov 28 06:24:59.764 INFO [stderr] | Nov 28 06:24:59.764 INFO [stderr] 8 | use self::stopwatch::Stopwatch; Nov 28 06:24:59.764 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:59.764 INFO [stderr] | Nov 28 06:24:59.764 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 06:24:59.764 INFO [stderr] Nov 28 06:24:59.764 INFO [stderr] warning: unused import: `std::collections::HashMap` Nov 28 06:24:59.764 INFO [stderr] --> src/lib.rs:14:5 Nov 28 06:24:59.764 INFO [stderr] | Nov 28 06:24:59.764 INFO [stderr] 14 | use std::collections::HashMap; Nov 28 06:24:59.764 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:59.764 INFO [stderr] Nov 28 06:24:59.764 INFO [stderr] warning: unused import: `multimap::MultiMap` Nov 28 06:24:59.764 INFO [stderr] --> src/lib.rs:18:5 Nov 28 06:24:59.764 INFO [stderr] | Nov 28 06:24:59.764 INFO [stderr] 18 | use multimap::MultiMap; Nov 28 06:24:59.764 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Nov 28 06:24:59.764 INFO [stderr] Nov 28 06:24:59.764 INFO [stderr] warning: unused import: `std::collections::HashSet` Nov 28 06:24:59.764 INFO [stderr] --> src/hash.rs:5:5 Nov 28 06:24:59.764 INFO [stderr] | Nov 28 06:24:59.764 INFO [stderr] 5 | use std::collections::HashSet; Nov 28 06:24:59.764 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 06:24:59.764 INFO [stderr] Nov 28 06:24:59.968 INFO [stderr] warning: unused variable: `peaks_len` Nov 28 06:24:59.968 INFO [stderr] --> src/hash.rs:116:9 Nov 28 06:24:59.968 INFO [stderr] | Nov 28 06:24:59.968 INFO [stderr] 116 | let peaks_len = peaks.len(); Nov 28 06:24:59.968 INFO [stderr] | ^^^^^^^^^ help: consider using `_peaks_len` instead Nov 28 06:24:59.968 INFO [stderr] | Nov 28 06:24:59.968 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 06:24:59.968 INFO [stderr] Nov 28 06:24:59.968 INFO [stderr] warning: unused variable: `peak` Nov 28 06:24:59.968 INFO [stderr] --> src/hash.rs:126:13 Nov 28 06:24:59.968 INFO [stderr] | Nov 28 06:24:59.968 INFO [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { Nov 28 06:24:59.968 INFO [stderr] | ^^^^ help: consider using `_peak` instead Nov 28 06:24:59.968 INFO [stderr] Nov 28 06:24:59.968 INFO [stderr] warning: unused variable: `y` Nov 28 06:24:59.968 INFO [stderr] --> src/hash.rs:162:9 Nov 28 06:24:59.968 INFO [stderr] | Nov 28 06:24:59.968 INFO [stderr] 162 | let y = rand::random::(); Nov 28 06:24:59.968 INFO [stderr] | ^ help: consider using `_y` instead Nov 28 06:24:59.968 INFO [stderr] Nov 28 06:24:59.968 INFO [stderr] warning: unused variable: `path` Nov 28 06:24:59.968 INFO [stderr] --> src/lib.rs:53:39 Nov 28 06:24:59.968 INFO [stderr] | Nov 28 06:24:59.968 INFO [stderr] 53 | pub extern "C" fn rust_compute_hashes(path: *const c_char) -> int32_t { Nov 28 06:24:59.968 INFO [stderr] | ^^^^ help: consider using `_path` instead Nov 28 06:24:59.968 INFO [stderr] Nov 28 06:24:59.987 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:59.988 INFO [stderr] --> src/spectrogram.rs:62:13 Nov 28 06:24:59.988 INFO [stderr] | Nov 28 06:24:59.989 INFO [stderr] 62 | let mut sw = Stopwatch::start_new(); Nov 28 06:24:59.989 INFO [stderr] | ----^^ Nov 28 06:24:59.989 INFO [stderr] | | Nov 28 06:24:59.989 INFO [stderr] | help: remove this `mut` Nov 28 06:24:59.989 INFO [stderr] | Nov 28 06:24:59.989 INFO [stderr] = note: #[warn(unused_mut)] on by default Nov 28 06:24:59.990 INFO [stderr] Nov 28 06:24:59.995 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:24:59.995 INFO [stderr] --> src/spectrogram.rs:109:9 Nov 28 06:24:59.995 INFO [stderr] | Nov 28 06:24:59.995 INFO [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); Nov 28 06:24:59.995 INFO [stderr] | ----^^^^^^^^ Nov 28 06:24:59.995 INFO [stderr] | | Nov 28 06:24:59.995 INFO [stderr] | help: remove this `mut` Nov 28 06:24:59.995 INFO [stderr] Nov 28 06:25:00.012 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:25:00.012 INFO [stderr] --> src/spectrogram.rs:183:9 Nov 28 06:25:00.012 INFO [stderr] | Nov 28 06:25:00.012 INFO [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; Nov 28 06:25:00.012 INFO [stderr] | ----^^^ Nov 28 06:25:00.012 INFO [stderr] | | Nov 28 06:25:00.013 INFO [stderr] | help: remove this `mut` Nov 28 06:25:00.013 INFO [stderr] Nov 28 06:25:00.013 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:25:00.013 INFO [stderr] --> src/spectrogram.rs:184:9 Nov 28 06:25:00.013 INFO [stderr] | Nov 28 06:25:00.013 INFO [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); Nov 28 06:25:00.013 INFO [stderr] | ----^^^^^^ Nov 28 06:25:00.013 INFO [stderr] | | Nov 28 06:25:00.013 INFO [stderr] | help: remove this `mut` Nov 28 06:25:00.013 INFO [stderr] Nov 28 06:25:00.037 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:25:00.037 INFO [stderr] --> src/hash.rs:61:9 Nov 28 06:25:00.037 INFO [stderr] | Nov 28 06:25:00.037 INFO [stderr] 61 | let mut sw = Stopwatch::start_new(); Nov 28 06:25:00.037 INFO [stderr] | ----^^ Nov 28 06:25:00.037 INFO [stderr] | | Nov 28 06:25:00.037 INFO [stderr] | help: remove this `mut` Nov 28 06:25:00.037 INFO [stderr] Nov 28 06:25:00.051 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:25:00.051 INFO [stderr] --> src/hash.rs:113:9 Nov 28 06:25:00.051 INFO [stderr] | Nov 28 06:25:00.051 INFO [stderr] 113 | let mut sw = Stopwatch::start_new(); Nov 28 06:25:00.051 INFO [stderr] | ----^^ Nov 28 06:25:00.051 INFO [stderr] | | Nov 28 06:25:00.051 INFO [stderr] | help: remove this `mut` Nov 28 06:25:00.051 INFO [stderr] Nov 28 06:25:00.051 INFO [stderr] warning: variable does not need to be mutable Nov 28 06:25:00.052 INFO [stderr] --> src/hash.rs:119:9 Nov 28 06:25:00.052 INFO [stderr] | Nov 28 06:25:00.052 INFO [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); Nov 28 06:25:00.052 INFO [stderr] | ----^^^^^^ Nov 28 06:25:00.052 INFO [stderr] | | Nov 28 06:25:00.052 INFO [stderr] | help: remove this `mut` Nov 28 06:25:00.052 INFO [stderr] Nov 28 06:25:00.058 INFO [stderr] warning: unnecessary `unsafe` block Nov 28 06:25:00.058 INFO [stderr] --> src/lib.rs:69:5 Nov 28 06:25:00.058 INFO [stderr] | Nov 28 06:25:00.058 INFO [stderr] 69 | unsafe { transformed[0] } Nov 28 06:25:00.058 INFO [stderr] | ^^^^^^ unnecessary `unsafe` block Nov 28 06:25:00.058 INFO [stderr] | Nov 28 06:25:00.058 INFO [stderr] = note: #[warn(unused_unsafe)] on by default Nov 28 06:25:00.058 INFO [stderr] Nov 28 06:25:00.157 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 07s Nov 28 06:25:00.180 INFO [stderr] su: No module specific data is present Nov 28 06:25:01.268 INFO running `"docker" "inspect" "dbab0cdd1ac7c98eee2db233a5fd1234edb5fb69b0e40b1c9a8f51de6eb063ce"` Nov 28 06:25:01.544 INFO running `"docker" "rm" "-f" "dbab0cdd1ac7c98eee2db233a5fd1234edb5fb69b0e40b1c9a8f51de6eb063ce"` Nov 28 06:25:01.752 INFO [stdout] dbab0cdd1ac7c98eee2db233a5fd1234edb5fb69b0e40b1c9a8f51de6eb063ce