[INFO] fetching crate bincode2 2.0.1... [INFO] testing bincode2-2.0.1 against master#a77da2d454e6caa227a85b16410b95f93495e7e0 for pr-91031 [INFO] extracting crate bincode2 2.0.1 into /workspace/builds/worker-68/source [INFO] validating manifest of crates.io crate bincode2 2.0.1 on toolchain a77da2d454e6caa227a85b16410b95f93495e7e0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-68/source/rust-toolchain [INFO] started tweaking crates.io crate bincode2 2.0.1 [INFO] finished tweaking crates.io crate bincode2 2.0.1 [INFO] tweaked toml for crates.io crate bincode2 2.0.1 written to /workspace/builds/worker-68/source/Cargo.toml [INFO] crate crates.io crate bincode2 2.0.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "fetch" "--manifest-path" "Cargo.toml", 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] Downloading crates ... [INFO] [stderr] Downloaded serde_derive v1.0.104 [INFO] [stderr] Downloaded proc-macro2 v1.0.7 [INFO] [stderr] Downloaded serde_bytes v0.11.3 [INFO] [stderr] Downloaded syn v1.0.13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-68/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-68/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7a7af1b52a3b396b3c1f8f1c628debd795ff869eb359e34a5c8edd4106177263 [INFO] running `Command { std: "docker" "start" "-a" "7a7af1b52a3b396b3c1f8f1c628debd795ff869eb359e34a5c8edd4106177263", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7a7af1b52a3b396b3c1f8f1c628debd795ff869eb359e34a5c8edd4106177263", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7a7af1b52a3b396b3c1f8f1c628debd795ff869eb359e34a5c8edd4106177263", kill_on_drop: false }` [INFO] [stdout] 7a7af1b52a3b396b3c1f8f1c628debd795ff869eb359e34a5c8edd4106177263 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-68/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-68/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d13b5e3b42b0b542f781d3fb81e1e14016e6d55aee4268886c31de1103e6b91 [INFO] running `Command { std: "docker" "start" "-a" "2d13b5e3b42b0b542f781d3fb81e1e14016e6d55aee4268886c31de1103e6b91", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling bincode2 v2.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | fn accept(self, T) -> Self::Output [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:63:24 [INFO] [stdout] | [INFO] [stdout] 63 | fn accept(self, T) -> Self::Output [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:47:53 [INFO] [stdout] | [INFO] [stdout] 47 | ErrorKind::Io(ref err) => error::Error::description(err), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:92:81 [INFO] [stdout] | [INFO] [stdout] 92 | ErrorKind::InvalidUtf8Encoding(ref e) => write!(fmt, "{}: {}", self.description(), e), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:94:67 [INFO] [stdout] | [INFO] [stdout] 94 | write!(fmt, "{}, expected 0 or 1, found {}", self.description(), b) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:96:70 [INFO] [stdout] | [INFO] [stdout] 96 | ErrorKind::InvalidCharEncoding => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:98:50 [INFO] [stdout] | [INFO] [stdout] 98 | write!(fmt, "{}, found {}", self.description(), tag) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:100:73 [INFO] [stdout] | [INFO] [stdout] 100 | ErrorKind::SequenceMustHaveLength => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:101:60 [INFO] [stdout] | [INFO] [stdout] 101 | ErrorKind::SizeLimit => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:102:64 [INFO] [stdout] | [INFO] [stdout] 102 | ErrorKind::SizeTypeLimit => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.08s [INFO] running `Command { std: "docker" "inspect" "2d13b5e3b42b0b542f781d3fb81e1e14016e6d55aee4268886c31de1103e6b91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d13b5e3b42b0b542f781d3fb81e1e14016e6d55aee4268886c31de1103e6b91", kill_on_drop: false }` [INFO] [stdout] 2d13b5e3b42b0b542f781d3fb81e1e14016e6d55aee4268886c31de1103e6b91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-68/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-68/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c689d511dbebd67200cba6bf5240c0bd6a54cce1e1499ec485ff1204609ba40d [INFO] running `Command { std: "docker" "start" "-a" "c689d511dbebd67200cba6bf5240c0bd6a54cce1e1499ec485ff1204609ba40d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.7 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.13 [INFO] [stderr] Compiling serde_bytes v0.11.3 [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | fn accept(self, T) -> Self::Output [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:63:24 [INFO] [stdout] | [INFO] [stdout] 63 | fn accept(self, T) -> Self::Output [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:47:53 [INFO] [stdout] | [INFO] [stdout] 47 | ErrorKind::Io(ref err) => error::Error::description(err), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:92:81 [INFO] [stdout] | [INFO] [stdout] 92 | ErrorKind::InvalidUtf8Encoding(ref e) => write!(fmt, "{}: {}", self.description(), e), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:94:67 [INFO] [stdout] | [INFO] [stdout] 94 | write!(fmt, "{}, expected 0 or 1, found {}", self.description(), b) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:96:70 [INFO] [stdout] | [INFO] [stdout] 96 | ErrorKind::InvalidCharEncoding => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:98:50 [INFO] [stdout] | [INFO] [stdout] 98 | write!(fmt, "{}, found {}", self.description(), tag) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:100:73 [INFO] [stdout] | [INFO] [stdout] 100 | ErrorKind::SequenceMustHaveLength => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:101:60 [INFO] [stdout] | [INFO] [stdout] 101 | ErrorKind::SizeLimit => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:102:64 [INFO] [stdout] | [INFO] [stdout] 102 | ErrorKind::SizeTypeLimit => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stderr] Compiling bincode2 v2.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | fn accept(self, T) -> Self::Output [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:63:24 [INFO] [stdout] | [INFO] [stdout] 63 | fn accept(self, T) -> Self::Output [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:47:53 [INFO] [stdout] | [INFO] [stdout] 47 | ErrorKind::Io(ref err) => error::Error::description(err), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:92:81 [INFO] [stdout] | [INFO] [stdout] 92 | ErrorKind::InvalidUtf8Encoding(ref e) => write!(fmt, "{}: {}", self.description(), e), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:94:67 [INFO] [stdout] | [INFO] [stdout] 94 | write!(fmt, "{}, expected 0 or 1, found {}", self.description(), b) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:96:70 [INFO] [stdout] | [INFO] [stdout] 96 | ErrorKind::InvalidCharEncoding => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:98:50 [INFO] [stdout] | [INFO] [stdout] 98 | write!(fmt, "{}, found {}", self.description(), tag) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:100:73 [INFO] [stdout] | [INFO] [stdout] 100 | ErrorKind::SequenceMustHaveLength => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:101:60 [INFO] [stdout] | [INFO] [stdout] 101 | ErrorKind::SizeLimit => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:102:64 [INFO] [stdout] | [INFO] [stdout] 102 | ErrorKind::SizeTypeLimit => write!(fmt, "{}", self.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/test.rs:304:6 [INFO] [stdout] | [INFO] [stdout] 304 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bincode2`; 1 warning emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `rustc --crate-name test tests/test.rs --error-format=json --json=diagnostic-rendered-ansi --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test -C metadata=b549d46d9faae1a4 -C extra-filename=-b549d46d9faae1a4 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern bincode2=/opt/rustwide/target/debug/deps/libbincode2-9c6807b65139e0b6.rlib --extern byteorder=/opt/rustwide/target/debug/deps/libbyteorder-b62235b9cfe9991c.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-2d34cf4887d5bd55.rlib --extern serde_bytes=/opt/rustwide/target/debug/deps/libserde_bytes-6211c6ac745c851b.rlib --extern serde_derive=/opt/rustwide/target/debug/deps/libserde_derive-5763563b3c78e21a.so --cap-lints=forbid` (signal: 9, SIGKILL: kill) [INFO] running `Command { std: "docker" "inspect" "c689d511dbebd67200cba6bf5240c0bd6a54cce1e1499ec485ff1204609ba40d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c689d511dbebd67200cba6bf5240c0bd6a54cce1e1499ec485ff1204609ba40d", kill_on_drop: false }` [INFO] [stdout] c689d511dbebd67200cba6bf5240c0bd6a54cce1e1499ec485ff1204609ba40d