Oct 13 04:45:50.351 INFO testing optimizely/optimizelyd-maildir against master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513 for rustdoc-test-static-cling-1 Oct 13 04:45:50.351 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling-1/worker-4/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/target:rw,Z" "-v" "/mnt/big/crater/./work/local/test-source/worker-4/rustdoc-test-static-cling-1/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/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 +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt build --frozen" "-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"` Oct 13 04:45:51.013 INFO blam! b36db306fe132ad35b83a643d52685c44983955e5180a85238a0bf5d950974f7 Oct 13 04:45:51.015 INFO running `"docker" "start" "-a" "b36db306fe132ad35b83a643d52685c44983955e5180a85238a0bf5d950974f7"` Oct 13 04:45:52.078 INFO kablam! usermod: no changes Oct 13 04:45:52.247 INFO kablam! Compiling openssl v0.9.14 Oct 13 04:45:52.255 INFO kablam! Compiling serde v1.0.9 Oct 13 04:45:52.255 INFO kablam! Compiling iovec v0.1.0 Oct 13 04:45:52.255 INFO kablam! Compiling num_cpus v1.6.2 Oct 13 04:45:52.255 INFO kablam! Compiling rand v0.3.15 Oct 13 04:45:52.255 INFO kablam! Compiling time v0.1.37 Oct 13 04:45:52.255 INFO kablam! Compiling openssl-sys v0.9.14 Oct 13 04:45:52.275 INFO kablam! Compiling net2 v0.2.29 Oct 13 04:45:53.635 INFO kablam! Compiling unicode-bidi v0.3.3 Oct 13 04:45:55.871 INFO kablam! Compiling base64 v0.6.0 Oct 13 04:45:58.627 INFO kablam! Compiling bytes v0.4.4 Oct 13 04:45:58.636 INFO kablam! Compiling mio v0.6.9 Oct 13 04:45:58.647 INFO kablam! Compiling futures-cpupool v0.1.5 Oct 13 04:46:00.531 INFO kablam! Compiling uuid v0.4.0 Oct 13 04:46:00.872 INFO kablam! Compiling idna v0.1.2 Oct 13 04:46:06.010 INFO kablam! Compiling tokio-io v0.1.2 Oct 13 04:46:10.679 INFO kablam! Compiling tokio-core v0.1.8 Oct 13 04:46:12.467 INFO kablam! Compiling url v1.5.1 Oct 13 04:46:22.847 INFO kablam! Compiling tokio-proto v0.1.1 Oct 13 04:46:24.196 INFO kablam! Compiling native-tls v0.1.4 Oct 13 04:46:26.220 INFO kablam! Compiling tokio-tls v0.1.3 Oct 13 04:46:29.767 INFO kablam! Compiling hyper v0.11.0 Oct 13 04:46:30.071 INFO kablam! Compiling serde_json v1.0.2 Oct 13 04:46:43.779 INFO kablam! Compiling hyper-tls v0.1.2 Oct 13 04:46:45.043 INFO kablam! Compiling optimizelyd-maildir v0.1.0 (/source) Oct 13 04:46:46.207 INFO kablam! warning: unused import: `std::time::SystemTime` Oct 13 04:46:46.207 INFO kablam! --> src/maildirqueue.rs:7:5 Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! 7 | use std::time::SystemTime; Oct 13 04:46:46.207 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! = note: #[warn(unused_imports)] on by default Oct 13 04:46:46.207 INFO kablam! Oct 13 04:46:46.207 INFO kablam! warning: unused import: `std::os::raw::c_char` Oct 13 04:46:46.207 INFO kablam! --> src/jsonsender.rs:10:5 Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! 10 | use std::os::raw::c_char; Oct 13 04:46:46.207 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.207 INFO kablam! Oct 13 04:46:46.207 INFO kablam! warning: unused import: `std::io::BufReader` Oct 13 04:46:46.207 INFO kablam! --> src/jsonsender.rs:13:5 Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! 13 | use std::io::BufReader; Oct 13 04:46:46.207 INFO kablam! | ^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.207 INFO kablam! Oct 13 04:46:46.207 INFO kablam! warning: unused import: `std::io::prelude::*` Oct 13 04:46:46.207 INFO kablam! --> src/jsonsender.rs:14:5 Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! 14 | use std::io::prelude::*; Oct 13 04:46:46.207 INFO kablam! | ^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.207 INFO kablam! Oct 13 04:46:46.207 INFO kablam! warning: unused import: `jsonsender::hyper::Body` Oct 13 04:46:46.207 INFO kablam! --> src/jsonsender.rs:16:5 Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! 16 | use jsonsender::hyper::Body; Oct 13 04:46:46.207 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.207 INFO kablam! Oct 13 04:46:46.207 INFO kablam! warning: unused import: `jsonsender::hyper::Chunk` Oct 13 04:46:46.207 INFO kablam! --> src/jsonsender.rs:17:5 Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! 17 | use jsonsender::hyper::Chunk; Oct 13 04:46:46.207 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.207 INFO kablam! Oct 13 04:46:46.207 INFO kablam! warning: unused import: `self` Oct 13 04:46:46.207 INFO kablam! --> src/jsonsender.rs:21:15 Oct 13 04:46:46.207 INFO kablam! | Oct 13 04:46:46.207 INFO kablam! 21 | use std::io::{self, Write}; Oct 13 04:46:46.207 INFO kablam! | ^^^^ Oct 13 04:46:46.207 INFO kablam! Oct 13 04:46:46.207 INFO kablam! warning: unused import: `self::hyper::client::Response` Oct 13 04:46:46.208 INFO kablam! --> src/jsonsender.rs:25:5 Oct 13 04:46:46.208 INFO kablam! | Oct 13 04:46:46.208 INFO kablam! 25 | use self::hyper::client::Response; Oct 13 04:46:46.208 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.208 INFO kablam! Oct 13 04:46:46.208 INFO kablam! warning: unused import: `self::hyper::header::Headers` Oct 13 04:46:46.208 INFO kablam! --> src/jsonsender.rs:26:5 Oct 13 04:46:46.208 INFO kablam! | Oct 13 04:46:46.208 INFO kablam! 26 | use self::hyper::header::Headers; Oct 13 04:46:46.208 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.208 INFO kablam! Oct 13 04:46:46.208 INFO kablam! warning: unused import: `self::url::Url` Oct 13 04:46:46.208 INFO kablam! --> src/jsonsender.rs:27:5 Oct 13 04:46:46.208 INFO kablam! | Oct 13 04:46:46.208 INFO kablam! 27 | use self::url::Url; Oct 13 04:46:46.208 INFO kablam! | ^^^^^^^^^^^^^^ Oct 13 04:46:46.208 INFO kablam! Oct 13 04:46:46.208 INFO kablam! warning: unused import: `self::hyper::Uri` Oct 13 04:46:46.208 INFO kablam! --> src/jsonsender.rs:29:5 Oct 13 04:46:46.208 INFO kablam! | Oct 13 04:46:46.208 INFO kablam! 29 | use self::hyper::Uri; Oct 13 04:46:46.208 INFO kablam! | ^^^^^^^^^^^^^^^^ Oct 13 04:46:46.208 INFO kablam! Oct 13 04:46:46.208 INFO kablam! warning: unused import: `Error` Oct 13 04:46:46.208 INFO kablam! --> src/jsonsender.rs:32:31 Oct 13 04:46:46.208 INFO kablam! | Oct 13 04:46:46.208 INFO kablam! 32 | use self::serde_json::{Value, Error}; Oct 13 04:46:46.208 INFO kablam! | ^^^^^ Oct 13 04:46:46.208 INFO kablam! Oct 13 04:46:46.295 INFO kablam! warning: unreachable statement Oct 13 04:46:46.295 INFO kablam! --> src/main.rs:72:9 Oct 13 04:46:46.295 INFO kablam! | Oct 13 04:46:46.295 INFO kablam! 72 | println!("Decided to give up... no more in the queue"); Oct 13 04:46:46.295 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.295 INFO kablam! | Oct 13 04:46:46.295 INFO kablam! = note: #[warn(unreachable_code)] on by default Oct 13 04:46:46.299 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Oct 13 04:46:46.299 INFO kablam! Oct 13 04:46:46.431 INFO kablam! warning: variable does not need to be mutable Oct 13 04:46:46.431 INFO kablam! --> src/maildirqueue.rs:99:20 Oct 13 04:46:46.431 INFO kablam! | Oct 13 04:46:46.431 INFO kablam! 99 | if let Ok(mut entries) = fs::read_dir(new_path) { Oct 13 04:46:46.431 INFO kablam! | ----^^^^^^^ Oct 13 04:46:46.431 INFO kablam! | | Oct 13 04:46:46.431 INFO kablam! | help: remove this `mut` Oct 13 04:46:46.431 INFO kablam! | Oct 13 04:46:46.431 INFO kablam! = note: #[warn(unused_mut)] on by default Oct 13 04:46:46.431 INFO kablam! Oct 13 04:46:46.443 INFO kablam! warning: static item is never used: `RES` Oct 13 04:46:46.443 INFO kablam! --> src/maildirqueue.rs:17:1 Oct 13 04:46:46.443 INFO kablam! | Oct 13 04:46:46.443 INFO kablam! 17 | static RES: &'static str = "res"; // using the queue for a request/response area, give the user a place to move responses. Oct 13 04:46:46.443 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.443 INFO kablam! | Oct 13 04:46:46.443 INFO kablam! = note: #[warn(dead_code)] on by default Oct 13 04:46:46.443 INFO kablam! Oct 13 04:46:46.443 INFO kablam! warning: method is never used: `push` Oct 13 04:46:46.443 INFO kablam! --> src/maildirqueue.rs:84:5 Oct 13 04:46:46.443 INFO kablam! | Oct 13 04:46:46.443 INFO kablam! 84 | pub fn push(&self, request_body:&str) -> bool { Oct 13 04:46:46.443 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.443 INFO kablam! Oct 13 04:46:46.443 INFO kablam! warning: method is never used: `res` Oct 13 04:46:46.443 INFO kablam! --> src/maildirqueue.rs:93:5 Oct 13 04:46:46.443 INFO kablam! | Oct 13 04:46:46.443 INFO kablam! 93 | pub fn res(&self, request_body:&str) -> bool { Oct 13 04:46:46.443 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.443 INFO kablam! Oct 13 04:46:46.443 INFO kablam! warning: method `moveFile` should have a snake case name such as `move_file` Oct 13 04:46:46.443 INFO kablam! --> src/maildirqueue.rs:70:5 Oct 13 04:46:46.443 INFO kablam! | Oct 13 04:46:46.443 INFO kablam! 70 | / fn moveFile(&self, request_body:&str, from:&str, to:&str, suffix:Option<&str>) -> bool { Oct 13 04:46:46.443 INFO kablam! 71 | | let filename = format!("{}", Uuid::new_v4()) + if let Some(suf) = suffix { suf } else { "" }; Oct 13 04:46:46.443 INFO kablam! 72 | | let tmp_path = self.base_dir.clone().as_str().to_owned() + "/" + from + "/" + filename.as_str(); Oct 13 04:46:46.443 INFO kablam! 73 | | let new_path = self.base_dir.clone().as_str().to_owned() + "/" + to + "/" + filename.as_str(); Oct 13 04:46:46.443 INFO kablam! ... | Oct 13 04:46:46.443 INFO kablam! 82 | | true Oct 13 04:46:46.443 INFO kablam! 83 | | } Oct 13 04:46:46.443 INFO kablam! | |_____^ Oct 13 04:46:46.443 INFO kablam! | Oct 13 04:46:46.443 INFO kablam! = note: #[warn(non_snake_case)] on by default Oct 13 04:46:46.444 INFO kablam! Oct 13 04:46:46.444 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.444 INFO kablam! --> src/maildirqueue.rs:75:13 Oct 13 04:46:46.444 INFO kablam! | Oct 13 04:46:46.444 INFO kablam! 75 | f.write_all(request_body.as_bytes()); Oct 13 04:46:46.444 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.444 INFO kablam! | Oct 13 04:46:46.444 INFO kablam! = note: #[warn(unused_must_use)] on by default Oct 13 04:46:46.444 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.444 INFO kablam! Oct 13 04:46:46.444 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.444 INFO kablam! --> src/maildirqueue.rs:77:13 Oct 13 04:46:46.444 INFO kablam! | Oct 13 04:46:46.444 INFO kablam! 77 | f.sync_data(); Oct 13 04:46:46.444 INFO kablam! | ^^^^^^^^^^^^^^ Oct 13 04:46:46.444 INFO kablam! | Oct 13 04:46:46.444 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.444 INFO kablam! Oct 13 04:46:46.444 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.444 INFO kablam! --> src/maildirqueue.rs:80:9 Oct 13 04:46:46.444 INFO kablam! | Oct 13 04:46:46.444 INFO kablam! 80 | fs::rename(Path::new(&tmp_path), Path::new(&new_path)); // Rename from tmp to new Oct 13 04:46:46.444 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.445 INFO kablam! | Oct 13 04:46:46.445 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.445 INFO kablam! Oct 13 04:46:46.445 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.445 INFO kablam! --> src/maildirqueue.rs:121:20 Oct 13 04:46:46.445 INFO kablam! | Oct 13 04:46:46.445 INFO kablam! 121 | fs::rename(entry.path(), Path::new(&cur_path)); // Rename from new to cur directory Oct 13 04:46:46.445 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.445 INFO kablam! | Oct 13 04:46:46.446 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.446 INFO kablam! Oct 13 04:46:46.447 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.447 INFO kablam! --> src/maildirqueue.rs:126:25 Oct 13 04:46:46.447 INFO kablam! | Oct 13 04:46:46.447 INFO kablam! 126 | buf_reader.read_to_string(&mut contents); Oct 13 04:46:46.447 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.447 INFO kablam! | Oct 13 04:46:46.447 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.447 INFO kablam! Oct 13 04:46:46.447 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.447 INFO kablam! --> src/maildirqueue.rs:128:29 Oct 13 04:46:46.447 INFO kablam! | Oct 13 04:46:46.447 INFO kablam! 128 | fs::remove_file(&cur_path); Oct 13 04:46:46.447 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.447 INFO kablam! | Oct 13 04:46:46.447 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.447 INFO kablam! Oct 13 04:46:46.447 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.447 INFO kablam! --> src/maildirqueue.rs:132:29 Oct 13 04:46:46.447 INFO kablam! | Oct 13 04:46:46.447 INFO kablam! 132 | fs::remove_file(&cur_path); Oct 13 04:46:46.447 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.447 INFO kablam! | Oct 13 04:46:46.447 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.447 INFO kablam! Oct 13 04:46:46.448 INFO kablam! warning: method `sendJson` should have a snake case name such as `send_json` Oct 13 04:46:46.448 INFO kablam! --> src/jsonsender.rs:45:5 Oct 13 04:46:46.448 INFO kablam! | Oct 13 04:46:46.448 INFO kablam! 45 | / pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Oct 13 04:46:46.448 INFO kablam! 46 | | Oct 13 04:46:46.448 INFO kablam! 47 | | let mut core = Core::new().unwrap(); Oct 13 04:46:46.448 INFO kablam! 48 | | let handle = core.handle(); Oct 13 04:46:46.448 INFO kablam! ... | Oct 13 04:46:46.448 INFO kablam! 101 | | return Err("Problem sending request"); Oct 13 04:46:46.448 INFO kablam! 102 | | } Oct 13 04:46:46.448 INFO kablam! | |_____^ Oct 13 04:46:46.448 INFO kablam! Oct 13 04:46:46.448 INFO kablam! warning: variable `jsonString` should have a snake case name such as `json_string` Oct 13 04:46:46.448 INFO kablam! --> src/jsonsender.rs:45:28 Oct 13 04:46:46.448 INFO kablam! | Oct 13 04:46:46.448 INFO kablam! 45 | pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Oct 13 04:46:46.448 INFO kablam! | ^^^^^^^^^^ Oct 13 04:46:46.448 INFO kablam! Oct 13 04:46:46.449 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.449 INFO kablam! --> src/jsonsender.rs:82:33 Oct 13 04:46:46.449 INFO kablam! | Oct 13 04:46:46.449 INFO kablam! 82 | f.write_all(&bodyiter); Oct 13 04:46:46.449 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:46.449 INFO kablam! | Oct 13 04:46:46.449 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.449 INFO kablam! Oct 13 04:46:46.449 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:46.449 INFO kablam! --> src/jsonsender.rs:83:33 Oct 13 04:46:46.449 INFO kablam! | Oct 13 04:46:46.449 INFO kablam! 83 | f.sync_data(); Oct 13 04:46:46.449 INFO kablam! | ^^^^^^^^^^^^^^ Oct 13 04:46:46.450 INFO kablam! | Oct 13 04:46:46.450 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:46.450 INFO kablam! Oct 13 04:46:46.450 INFO kablam! warning: function `startServer` should have a snake case name such as `start_server` Oct 13 04:46:46.450 INFO kablam! --> src/main.rs:51:1 Oct 13 04:46:46.450 INFO kablam! | Oct 13 04:46:46.450 INFO kablam! 51 | / fn startServer(baseDir:&str) { Oct 13 04:46:46.450 INFO kablam! 52 | | let sender = Box::new(JsonSender::new()); Oct 13 04:46:46.450 INFO kablam! 53 | | let mail_dir_que = Box::new(MaildirQueue::new(baseDir.to_string())); Oct 13 04:46:46.450 INFO kablam! 54 | | if let Some(ref mail_dir_que) = mail_dir_que.init() { Oct 13 04:46:46.450 INFO kablam! ... | Oct 13 04:46:46.450 INFO kablam! 73 | | } Oct 13 04:46:46.450 INFO kablam! 74 | | } Oct 13 04:46:46.450 INFO kablam! | |_^ Oct 13 04:46:46.455 INFO kablam! Oct 13 04:46:46.455 INFO kablam! warning: variable `baseDir` should have a snake case name such as `base_dir` Oct 13 04:46:46.455 INFO kablam! --> src/main.rs:51:16 Oct 13 04:46:46.455 INFO kablam! | Oct 13 04:46:46.455 INFO kablam! 51 | fn startServer(baseDir:&str) { Oct 13 04:46:46.455 INFO kablam! | ^^^^^^^ Oct 13 04:46:46.455 INFO kablam! Oct 13 04:46:53.106 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 1m 01s Oct 13 04:46:53.118 INFO kablam! su: No module specific data is present Oct 13 04:46:54.229 INFO running `"docker" "rm" "-f" "b36db306fe132ad35b83a643d52685c44983955e5180a85238a0bf5d950974f7"` Oct 13 04:46:54.539 INFO blam! b36db306fe132ad35b83a643d52685c44983955e5180a85238a0bf5d950974f7 Oct 13 04:46:54.555 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling-1/worker-4/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/target:rw,Z" "-v" "/mnt/big/crater/./work/local/test-source/worker-4/rustdoc-test-static-cling-1/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/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 +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt test --frozen --no-run" "-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"` Oct 13 04:46:54.947 INFO blam! 5dd9e48ab484924933c928b58bc0146b7095d873346beae8b35b0a997fd2bad5 Oct 13 04:46:54.963 INFO running `"docker" "start" "-a" "5dd9e48ab484924933c928b58bc0146b7095d873346beae8b35b0a997fd2bad5"` Oct 13 04:46:56.710 INFO kablam! usermod: no changes Oct 13 04:46:56.941 INFO kablam! Compiling optimizelyd-maildir v0.1.0 (/source) Oct 13 04:46:58.279 INFO kablam! warning: unused import: `std::time::SystemTime` Oct 13 04:46:58.279 INFO kablam! --> src/maildirqueue.rs:7:5 Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! 7 | use std::time::SystemTime; Oct 13 04:46:58.279 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! = note: #[warn(unused_imports)] on by default Oct 13 04:46:58.279 INFO kablam! Oct 13 04:46:58.279 INFO kablam! warning: unused import: `std::os::raw::c_char` Oct 13 04:46:58.279 INFO kablam! --> src/jsonsender.rs:10:5 Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! 10 | use std::os::raw::c_char; Oct 13 04:46:58.279 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.279 INFO kablam! Oct 13 04:46:58.279 INFO kablam! warning: unused import: `std::io::BufReader` Oct 13 04:46:58.279 INFO kablam! --> src/jsonsender.rs:13:5 Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! 13 | use std::io::BufReader; Oct 13 04:46:58.279 INFO kablam! | ^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.279 INFO kablam! Oct 13 04:46:58.279 INFO kablam! warning: unused import: `std::io::prelude::*` Oct 13 04:46:58.279 INFO kablam! --> src/jsonsender.rs:14:5 Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! 14 | use std::io::prelude::*; Oct 13 04:46:58.279 INFO kablam! | ^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.279 INFO kablam! Oct 13 04:46:58.279 INFO kablam! warning: unused import: `jsonsender::hyper::Body` Oct 13 04:46:58.279 INFO kablam! --> src/jsonsender.rs:16:5 Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! 16 | use jsonsender::hyper::Body; Oct 13 04:46:58.279 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.279 INFO kablam! Oct 13 04:46:58.279 INFO kablam! warning: unused import: `jsonsender::hyper::Chunk` Oct 13 04:46:58.279 INFO kablam! --> src/jsonsender.rs:17:5 Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! 17 | use jsonsender::hyper::Chunk; Oct 13 04:46:58.279 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.279 INFO kablam! Oct 13 04:46:58.279 INFO kablam! warning: unused import: `self` Oct 13 04:46:58.279 INFO kablam! --> src/jsonsender.rs:21:15 Oct 13 04:46:58.279 INFO kablam! | Oct 13 04:46:58.279 INFO kablam! 21 | use std::io::{self, Write}; Oct 13 04:46:58.279 INFO kablam! | ^^^^ Oct 13 04:46:58.280 INFO kablam! Oct 13 04:46:58.280 INFO kablam! warning: unused import: `self::hyper::client::Response` Oct 13 04:46:58.280 INFO kablam! --> src/jsonsender.rs:25:5 Oct 13 04:46:58.280 INFO kablam! | Oct 13 04:46:58.280 INFO kablam! 25 | use self::hyper::client::Response; Oct 13 04:46:58.280 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.280 INFO kablam! Oct 13 04:46:58.280 INFO kablam! warning: unused import: `self::hyper::header::Headers` Oct 13 04:46:58.280 INFO kablam! --> src/jsonsender.rs:26:5 Oct 13 04:46:58.280 INFO kablam! | Oct 13 04:46:58.280 INFO kablam! 26 | use self::hyper::header::Headers; Oct 13 04:46:58.280 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.280 INFO kablam! Oct 13 04:46:58.280 INFO kablam! warning: unused import: `self::url::Url` Oct 13 04:46:58.280 INFO kablam! --> src/jsonsender.rs:27:5 Oct 13 04:46:58.280 INFO kablam! | Oct 13 04:46:58.280 INFO kablam! 27 | use self::url::Url; Oct 13 04:46:58.280 INFO kablam! | ^^^^^^^^^^^^^^ Oct 13 04:46:58.280 INFO kablam! Oct 13 04:46:58.280 INFO kablam! warning: unused import: `self::hyper::Uri` Oct 13 04:46:58.280 INFO kablam! --> src/jsonsender.rs:29:5 Oct 13 04:46:58.280 INFO kablam! | Oct 13 04:46:58.280 INFO kablam! 29 | use self::hyper::Uri; Oct 13 04:46:58.280 INFO kablam! | ^^^^^^^^^^^^^^^^ Oct 13 04:46:58.280 INFO kablam! Oct 13 04:46:58.280 INFO kablam! warning: unused import: `Error` Oct 13 04:46:58.280 INFO kablam! --> src/jsonsender.rs:32:31 Oct 13 04:46:58.280 INFO kablam! | Oct 13 04:46:58.280 INFO kablam! 32 | use self::serde_json::{Value, Error}; Oct 13 04:46:58.280 INFO kablam! | ^^^^^ Oct 13 04:46:58.280 INFO kablam! Oct 13 04:46:58.380 INFO kablam! warning: unreachable statement Oct 13 04:46:58.380 INFO kablam! --> src/main.rs:72:9 Oct 13 04:46:58.380 INFO kablam! | Oct 13 04:46:58.380 INFO kablam! 72 | println!("Decided to give up... no more in the queue"); Oct 13 04:46:58.380 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.380 INFO kablam! | Oct 13 04:46:58.380 INFO kablam! = note: #[warn(unreachable_code)] on by default Oct 13 04:46:58.380 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Oct 13 04:46:58.380 INFO kablam! Oct 13 04:46:58.503 INFO kablam! warning: variable does not need to be mutable Oct 13 04:46:58.503 INFO kablam! --> src/maildirqueue.rs:99:20 Oct 13 04:46:58.503 INFO kablam! | Oct 13 04:46:58.503 INFO kablam! 99 | if let Ok(mut entries) = fs::read_dir(new_path) { Oct 13 04:46:58.503 INFO kablam! | ----^^^^^^^ Oct 13 04:46:58.503 INFO kablam! | | Oct 13 04:46:58.503 INFO kablam! | help: remove this `mut` Oct 13 04:46:58.503 INFO kablam! | Oct 13 04:46:58.503 INFO kablam! = note: #[warn(unused_mut)] on by default Oct 13 04:46:58.503 INFO kablam! Oct 13 04:46:58.510 INFO kablam! warning: static item is never used: `RES` Oct 13 04:46:58.510 INFO kablam! --> src/maildirqueue.rs:17:1 Oct 13 04:46:58.510 INFO kablam! | Oct 13 04:46:58.510 INFO kablam! 17 | static RES: &'static str = "res"; // using the queue for a request/response area, give the user a place to move responses. Oct 13 04:46:58.510 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.510 INFO kablam! | Oct 13 04:46:58.510 INFO kablam! = note: #[warn(dead_code)] on by default Oct 13 04:46:58.510 INFO kablam! Oct 13 04:46:58.510 INFO kablam! warning: method is never used: `push` Oct 13 04:46:58.510 INFO kablam! --> src/maildirqueue.rs:84:5 Oct 13 04:46:58.510 INFO kablam! | Oct 13 04:46:58.510 INFO kablam! 84 | pub fn push(&self, request_body:&str) -> bool { Oct 13 04:46:58.510 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.510 INFO kablam! Oct 13 04:46:58.510 INFO kablam! warning: method is never used: `res` Oct 13 04:46:58.510 INFO kablam! --> src/maildirqueue.rs:93:5 Oct 13 04:46:58.510 INFO kablam! | Oct 13 04:46:58.510 INFO kablam! 93 | pub fn res(&self, request_body:&str) -> bool { Oct 13 04:46:58.510 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.510 INFO kablam! Oct 13 04:46:58.511 INFO kablam! warning: method `moveFile` should have a snake case name such as `move_file` Oct 13 04:46:58.511 INFO kablam! --> src/maildirqueue.rs:70:5 Oct 13 04:46:58.511 INFO kablam! | Oct 13 04:46:58.511 INFO kablam! 70 | / fn moveFile(&self, request_body:&str, from:&str, to:&str, suffix:Option<&str>) -> bool { Oct 13 04:46:58.511 INFO kablam! 71 | | let filename = format!("{}", Uuid::new_v4()) + if let Some(suf) = suffix { suf } else { "" }; Oct 13 04:46:58.511 INFO kablam! 72 | | let tmp_path = self.base_dir.clone().as_str().to_owned() + "/" + from + "/" + filename.as_str(); Oct 13 04:46:58.511 INFO kablam! 73 | | let new_path = self.base_dir.clone().as_str().to_owned() + "/" + to + "/" + filename.as_str(); Oct 13 04:46:58.511 INFO kablam! ... | Oct 13 04:46:58.511 INFO kablam! 82 | | true Oct 13 04:46:58.511 INFO kablam! 83 | | } Oct 13 04:46:58.511 INFO kablam! | |_____^ Oct 13 04:46:58.511 INFO kablam! | Oct 13 04:46:58.511 INFO kablam! = note: #[warn(non_snake_case)] on by default Oct 13 04:46:58.511 INFO kablam! Oct 13 04:46:58.511 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.511 INFO kablam! --> src/maildirqueue.rs:75:13 Oct 13 04:46:58.511 INFO kablam! | Oct 13 04:46:58.511 INFO kablam! 75 | f.write_all(request_body.as_bytes()); Oct 13 04:46:58.511 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.511 INFO kablam! | Oct 13 04:46:58.511 INFO kablam! = note: #[warn(unused_must_use)] on by default Oct 13 04:46:58.511 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.511 INFO kablam! Oct 13 04:46:58.511 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.511 INFO kablam! --> src/maildirqueue.rs:77:13 Oct 13 04:46:58.511 INFO kablam! | Oct 13 04:46:58.511 INFO kablam! 77 | f.sync_data(); Oct 13 04:46:58.511 INFO kablam! | ^^^^^^^^^^^^^^ Oct 13 04:46:58.511 INFO kablam! | Oct 13 04:46:58.511 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.511 INFO kablam! Oct 13 04:46:58.512 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.512 INFO kablam! --> src/maildirqueue.rs:80:9 Oct 13 04:46:58.512 INFO kablam! | Oct 13 04:46:58.512 INFO kablam! 80 | fs::rename(Path::new(&tmp_path), Path::new(&new_path)); // Rename from tmp to new Oct 13 04:46:58.512 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.512 INFO kablam! | Oct 13 04:46:58.512 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.512 INFO kablam! Oct 13 04:46:58.512 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.512 INFO kablam! --> src/maildirqueue.rs:121:20 Oct 13 04:46:58.512 INFO kablam! | Oct 13 04:46:58.512 INFO kablam! 121 | fs::rename(entry.path(), Path::new(&cur_path)); // Rename from new to cur directory Oct 13 04:46:58.512 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.512 INFO kablam! | Oct 13 04:46:58.512 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.512 INFO kablam! Oct 13 04:46:58.512 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.512 INFO kablam! --> src/maildirqueue.rs:126:25 Oct 13 04:46:58.512 INFO kablam! | Oct 13 04:46:58.512 INFO kablam! 126 | buf_reader.read_to_string(&mut contents); Oct 13 04:46:58.512 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.512 INFO kablam! | Oct 13 04:46:58.512 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.512 INFO kablam! Oct 13 04:46:58.514 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.514 INFO kablam! --> src/maildirqueue.rs:128:29 Oct 13 04:46:58.514 INFO kablam! | Oct 13 04:46:58.514 INFO kablam! 128 | fs::remove_file(&cur_path); Oct 13 04:46:58.514 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.514 INFO kablam! | Oct 13 04:46:58.514 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.514 INFO kablam! Oct 13 04:46:58.514 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.514 INFO kablam! --> src/maildirqueue.rs:132:29 Oct 13 04:46:58.514 INFO kablam! | Oct 13 04:46:58.514 INFO kablam! 132 | fs::remove_file(&cur_path); Oct 13 04:46:58.514 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.514 INFO kablam! | Oct 13 04:46:58.514 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.514 INFO kablam! Oct 13 04:46:58.514 INFO kablam! warning: method `sendJson` should have a snake case name such as `send_json` Oct 13 04:46:58.514 INFO kablam! --> src/jsonsender.rs:45:5 Oct 13 04:46:58.514 INFO kablam! | Oct 13 04:46:58.514 INFO kablam! 45 | / pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Oct 13 04:46:58.514 INFO kablam! 46 | | Oct 13 04:46:58.514 INFO kablam! 47 | | let mut core = Core::new().unwrap(); Oct 13 04:46:58.514 INFO kablam! 48 | | let handle = core.handle(); Oct 13 04:46:58.514 INFO kablam! ... | Oct 13 04:46:58.514 INFO kablam! 101 | | return Err("Problem sending request"); Oct 13 04:46:58.514 INFO kablam! 102 | | } Oct 13 04:46:58.514 INFO kablam! | |_____^ Oct 13 04:46:58.514 INFO kablam! Oct 13 04:46:58.515 INFO kablam! warning: variable `jsonString` should have a snake case name such as `json_string` Oct 13 04:46:58.515 INFO kablam! --> src/jsonsender.rs:45:28 Oct 13 04:46:58.515 INFO kablam! | Oct 13 04:46:58.515 INFO kablam! 45 | pub fn sendJson(&self, jsonString:&str, res_path:&str) -> Result { Oct 13 04:46:58.515 INFO kablam! | ^^^^^^^^^^ Oct 13 04:46:58.515 INFO kablam! Oct 13 04:46:58.515 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.515 INFO kablam! --> src/jsonsender.rs:82:33 Oct 13 04:46:58.515 INFO kablam! | Oct 13 04:46:58.515 INFO kablam! 82 | f.write_all(&bodyiter); Oct 13 04:46:58.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Oct 13 04:46:58.515 INFO kablam! | Oct 13 04:46:58.516 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.516 INFO kablam! Oct 13 04:46:58.516 INFO kablam! warning: unused `std::result::Result` which must be used Oct 13 04:46:58.516 INFO kablam! --> src/jsonsender.rs:83:33 Oct 13 04:46:58.516 INFO kablam! | Oct 13 04:46:58.516 INFO kablam! 83 | f.sync_data(); Oct 13 04:46:58.516 INFO kablam! | ^^^^^^^^^^^^^^ Oct 13 04:46:58.516 INFO kablam! | Oct 13 04:46:58.516 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 13 04:46:58.516 INFO kablam! Oct 13 04:46:58.516 INFO kablam! warning: function `startServer` should have a snake case name such as `start_server` Oct 13 04:46:58.516 INFO kablam! --> src/main.rs:51:1 Oct 13 04:46:58.516 INFO kablam! | Oct 13 04:46:58.516 INFO kablam! 51 | / fn startServer(baseDir:&str) { Oct 13 04:46:58.516 INFO kablam! 52 | | let sender = Box::new(JsonSender::new()); Oct 13 04:46:58.516 INFO kablam! 53 | | let mail_dir_que = Box::new(MaildirQueue::new(baseDir.to_string())); Oct 13 04:46:58.516 INFO kablam! 54 | | if let Some(ref mail_dir_que) = mail_dir_que.init() { Oct 13 04:46:58.516 INFO kablam! ... | Oct 13 04:46:58.516 INFO kablam! 73 | | } Oct 13 04:46:58.516 INFO kablam! 74 | | } Oct 13 04:46:58.516 INFO kablam! | |_^ Oct 13 04:46:58.516 INFO kablam! Oct 13 04:46:58.523 INFO kablam! warning: variable `baseDir` should have a snake case name such as `base_dir` Oct 13 04:46:58.523 INFO kablam! --> src/main.rs:51:16 Oct 13 04:46:58.523 INFO kablam! | Oct 13 04:46:58.523 INFO kablam! 51 | fn startServer(baseDir:&str) { Oct 13 04:46:58.523 INFO kablam! | ^^^^^^^ Oct 13 04:46:58.523 INFO kablam! Oct 13 04:46:59.215 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 2.46s Oct 13 04:46:59.220 INFO kablam! su: No module specific data is present Oct 13 04:47:00.223 INFO running `"docker" "rm" "-f" "5dd9e48ab484924933c928b58bc0146b7095d873346beae8b35b0a997fd2bad5"` Oct 13 04:47:00.547 INFO blam! 5dd9e48ab484924933c928b58bc0146b7095d873346beae8b35b0a997fd2bad5 Oct 13 04:47:00.553 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling-1/worker-4/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/target:rw,Z" "-v" "/mnt/big/crater/./work/local/test-source/worker-4/rustdoc-test-static-cling-1/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/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 +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt test --frozen" "-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"` Oct 13 04:47:00.956 INFO blam! 9a39611b3ebea5bec47a240dc99f5c3b259006849765c2df6e9c2da3d983410a Oct 13 04:47:00.956 INFO running `"docker" "start" "-a" "9a39611b3ebea5bec47a240dc99f5c3b259006849765c2df6e9c2da3d983410a"` Oct 13 04:47:02.415 INFO kablam! usermod: no changes Oct 13 04:47:02.599 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 0.16s Oct 13 04:47:02.611 INFO kablam! Running /target/debug/deps/optimizelyd_maildir-a2b2e6fad30bafed Oct 13 04:47:02.615 INFO kablam! su: No module specific data is present Oct 13 04:47:02.615 INFO blam! Oct 13 04:47:02.615 INFO blam! running 0 tests Oct 13 04:47:02.615 INFO blam! Oct 13 04:47:02.615 INFO blam! test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Oct 13 04:47:02.615 INFO blam! Oct 13 04:47:03.679 INFO running `"docker" "rm" "-f" "9a39611b3ebea5bec47a240dc99f5c3b259006849765c2df6e9c2da3d983410a"` Oct 13 04:47:04.003 INFO blam! 9a39611b3ebea5bec47a240dc99f5c3b259006849765c2df6e9c2da3d983410a