[INFO] cloning repository https://github.com/CympleTech/group-chat [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CympleTech/group-chat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCympleTech%2Fgroup-chat", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCympleTech%2Fgroup-chat'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b10564d110d6777f78aae19dfbcf9426f9fcd255 [INFO] testing CympleTech/group-chat against beta-2021-09-08 for beta-1.56-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCympleTech%2Fgroup-chat" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/CympleTech/group-chat on toolchain beta-2021-09-08 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-09-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/CympleTech/group-chat [INFO] finished tweaking git repo https://github.com/CympleTech/group-chat [INFO] tweaked toml for git repo https://github.com/CympleTech/group-chat written to /workspace/builds/worker-6/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-09-08" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/cypherlink/tdn_did` [INFO] [stderr] Updating git repository `https://github.com/cypherlink/tdn-did` [INFO] [stderr] Updating git repository `https://github.com/cypherlink/tdn-storage` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-09-08" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-09-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5964d3950c0a3a163bc11902cb1caa440714865dae11c812b2dc8de5ae6fd08c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "5964d3950c0a3a163bc11902cb1caa440714865dae11c812b2dc8de5ae6fd08c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5964d3950c0a3a163bc11902cb1caa440714865dae11c812b2dc8de5ae6fd08c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5964d3950c0a3a163bc11902cb1caa440714865dae11c812b2dc8de5ae6fd08c", kill_on_drop: false }` [INFO] [stdout] 5964d3950c0a3a163bc11902cb1caa440714865dae11c812b2dc8de5ae6fd08c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-09-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 3a17b52882d58cbd2397e8dbd98c995be50550a55ef6590614adaf648174bcff [INFO] running `Command { std: "docker" "start" "-a" "3a17b52882d58cbd2397e8dbd98c995be50550a55ef6590614adaf648174bcff", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling serde_json v1.0.67 [INFO] [stderr] Compiling arrayvec v0.7.1 [INFO] [stderr] Compiling minimal-lexical v0.1.3 [INFO] [stderr] Compiling whoami v1.1.3 [INFO] [stderr] Compiling crc-catalog v1.1.1 [INFO] [stderr] Compiling sysinfo v0.16.5 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling blake3 v1.0.0 [INFO] [stderr] Compiling ahash v0.7.4 [INFO] [stderr] Compiling nom v7.0.0 [INFO] [stderr] Compiling blake3 v0.3.8 [INFO] [stderr] Compiling libsqlite3-sys v0.20.1 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling hashlink v0.6.0 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling time v0.1.43 [INFO] [stderr] Compiling dirs-sys v0.3.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling mio v0.7.13 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling openssl-sys v0.9.66 [INFO] [stderr] Compiling stringprep v0.1.2 [INFO] [stderr] Compiling atoi v0.4.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling crc v2.0.0 [INFO] [stderr] Compiling universal-hash v0.4.1 [INFO] [stderr] Compiling crypto-mac v0.10.1 [INFO] [stderr] Compiling aead v0.4.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling dirs v3.0.2 [INFO] [stderr] Compiling md-5 v0.9.1 [INFO] [stderr] Compiling aes v0.7.5 [INFO] [stderr] Compiling pem v0.8.3 [INFO] [stderr] Compiling serde-hjson v0.9.1 [INFO] [stderr] Compiling polyval v0.5.3 [INFO] [stderr] Compiling polyval v0.4.5 [INFO] [stderr] Compiling hmac v0.10.1 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling openssl v0.10.36 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Compiling structopt-derive v0.4.16 [INFO] [stderr] Compiling futures-intrusive v0.4.0 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling ghash v0.3.1 [INFO] [stderr] Compiling ghash v0.4.4 [INFO] [stderr] Compiling zeroize v1.4.1 [INFO] [stderr] Compiling sct v0.6.1 [INFO] [stderr] Compiling webpki v0.21.4 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling yasna v0.4.0 [INFO] [stderr] Compiling simplelog v0.10.0 [INFO] [stderr] Compiling aes-gcm v0.8.0 [INFO] [stderr] Compiling aes-gcm v0.9.4 [INFO] [stderr] Compiling curve25519-dalek v3.2.0 [INFO] [stderr] Compiling hashlink v0.7.0 [INFO] [stderr] Compiling sqlformat v0.1.7 [INFO] [stderr] Compiling rustls v0.19.1 [INFO] [stderr] Compiling native-tls v0.2.8 [INFO] [stderr] Compiling rcgen v0.8.13 [INFO] [stderr] Compiling x25519-dalek v1.1.1 [INFO] [stderr] Compiling futures-executor v0.3.17 [INFO] [stderr] Compiling structopt v0.3.23 [INFO] [stderr] Compiling futures v0.3.17 [INFO] [stderr] Compiling bytes v1.1.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling ed25519-dalek v1.0.1 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Compiling postcard v0.5.2 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling tokio v1.11.0 [INFO] [stderr] Compiling http v0.2.4 [INFO] [stderr] Compiling quinn-proto v0.7.3 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling config v0.11.0 [INFO] [stderr] Compiling image v0.23.14 [INFO] [stderr] Compiling rusqlite v0.24.2 [INFO] [stderr] Compiling tungstenite v0.14.0 [INFO] [stderr] Compiling chamomile_types v0.6.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.0 [INFO] [stderr] Compiling tokio-stream v0.1.7 [INFO] [stderr] Compiling quinn v0.7.2 [INFO] [stderr] Compiling tokio-tungstenite v0.15.0 [INFO] [stderr] Compiling sqlx-rt v0.5.7 [INFO] [stderr] Compiling tdn_types v0.5.6 [INFO] [stderr] Compiling sqlx-core v0.5.7 [INFO] [stderr] Compiling chamomile v0.6.0 [INFO] [stderr] Compiling tdn_did v0.5.0 (https://github.com/cypherlink/tdn_did?branch=main#5a7b3979) [INFO] [stderr] Compiling tdn_did v0.5.0 (https://github.com/cypherlink/tdn-did?branch=main#5a7b3979) [INFO] [stderr] Compiling tdn_storage v0.5.0 (https://github.com/cypherlink/tdn-storage?branch=main#817a0a9f) [INFO] [stderr] Compiling group-chat_types v0.1.0 (/opt/rustwide/workdir/types) [INFO] [stderr] Compiling tdn v0.5.5 [INFO] [stderr] Compiling sqlx-macros v0.5.7 [INFO] [stderr] Compiling sqlx v0.5.7 [INFO] [stderr] Compiling group-chat v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:101:19 [INFO] [stdout] | [INFO] [stdout] 101 | ... let res = sqlx::query!( [INFO] [stdout] | _________________^ [INFO] [stdout] 102 | | ... "SELECT id, owner, height, g_id, g_type, g_name, g_bio, is_need_agree, key_hash, is_closed, datetime FROM groups WHERE is_delet... [INFO] [stdout] 103 | | ... id [INFO] [stdout] 104 | | ... ).fetch_one(get_pool()?).await.map_err(|_| new_io_error("database failure."))?; [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:122:20 [INFO] [stdout] | [INFO] [stdout] 122 | ... let recs = sqlx::query!( [INFO] [stdout] | __________________^ [INFO] [stdout] 123 | | ... "SELECT id, owner, height, g_id, g_type, g_name, g_bio, is_need_agree, key_hash, is_closed, datetime FROM groups WHERE is_delet... [INFO] [stdout] 124 | | ... ) [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | sqlx::query!("SELECT id from groups WHERE g_id = $1", self.g_id.to_hex()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:159:19 [INFO] [stdout] | [INFO] [stdout] 159 | ... let rec = sqlx::query!( [INFO] [stdout] | _________________^ [INFO] [stdout] 160 | | ... "INSERT INTO groups (owner, height, g_id, g_type, g_name, g_bio, is_need_agree, key_hash, is_closed, datetime) VALUES ($1, $2, ... [INFO] [stdout] 161 | | ... self.owner.to_hex(), [INFO] [stdout] 162 | | ... self.height, [INFO] [stdout] ... | [INFO] [stdout] 170 | | ... self.datetime [INFO] [stdout] 171 | | ... ).fetch_one(get_pool()?).await.map_err(|_| new_io_error("database failure."))?; [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | let _ = sqlx::query!("UPDATE groups SET height = $1 WHERE id = $2", height, id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:265:28 [INFO] [stdout] | [INFO] [stdout] 265 | let unique_check = sqlx::query!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 266 | | "SELECT id from members WHERE fid = $1 AND m_id = $2", [INFO] [stdout] 267 | | self.fid, [INFO] [stdout] 268 | | self.m_id.to_hex() [INFO] [stdout] 269 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:276:21 [INFO] [stdout] | [INFO] [stdout] 276 | ... let _ = sqlx::query!("UPDATE members SET m_addr = $1, m_name = $2, is_manager = $3, datetime = $4, is_deleted = false WHERE id = $5", [INFO] [stdout] | _______________^ [INFO] [stdout] 277 | | ... self.m_addr.to_hex(), [INFO] [stdout] 278 | | ... self.m_name, [INFO] [stdout] 279 | | ... self.is_manager, [INFO] [stdout] 280 | | ... self.datetime, [INFO] [stdout] 281 | | ... self.id [INFO] [stdout] 282 | | ... ).execute(get_pool()?).await.map_err(|_| new_io_error("database failure."))?; [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:284:23 [INFO] [stdout] | [INFO] [stdout] 284 | let rec = sqlx::query!( [INFO] [stdout] | _______________________^ [INFO] [stdout] 285 | | "INSERT INTO members (fid, m_id, m_addr, m_name, is_manager, datetime) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id", [INFO] [stdout] 286 | | self.fid, [INFO] [stdout] 287 | | self.m_id.to_hex(), [INFO] [stdout] ... | [INFO] [stdout] 291 | | self.datetime [INFO] [stdout] 292 | | ).fetch_one(get_pool()?).await.map_err(|_| new_io_error("database failure."))?; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | / sqlx::query!( [INFO] [stdout] 301 | | "SELECT id FROM members WHERE fid = $1 AND m_id = $2 AND is_deleted = false", [INFO] [stdout] 302 | | fid, [INFO] [stdout] 303 | | mid.to_hex() [INFO] [stdout] 304 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:312:19 [INFO] [stdout] | [INFO] [stdout] 312 | let rec = sqlx::query!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 313 | | "SELECT id, fid, m_id, m_addr, m_name, is_manager, datetime FROM members WHERE id = $1", [INFO] [stdout] 314 | | id, [INFO] [stdout] 315 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:332:19 [INFO] [stdout] | [INFO] [stdout] 332 | let rec = sqlx::query!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 333 | | "SELECT id, fid, m_id, m_addr, m_name, is_manager, datetime FROM members WHERE fid = $1 AND m_id = $2 AND is_deleted = false", [INFO] [stdout] 334 | | fid, [INFO] [stdout] 335 | | gid.to_hex(), [INFO] [stdout] 336 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:353:17 [INFO] [stdout] | [INFO] [stdout] 353 | let _ = sqlx::query!( [INFO] [stdout] | _________________^ [INFO] [stdout] 354 | | "UPDATE members SET is_deleted = true WHERE id = $1", [INFO] [stdout] 355 | | self.id [INFO] [stdout] 356 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:365:20 [INFO] [stdout] | [INFO] [stdout] 365 | let recs = sqlx::query!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 366 | | "SELECT is_deleted, is_manager FROM members WHERE fid = $1 AND m_id = $2", [INFO] [stdout] 367 | | fid, [INFO] [stdout] 368 | | mid.to_hex() [INFO] [stdout] 369 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:496:19 [INFO] [stdout] | [INFO] [stdout] 496 | let rec = sqlx::query!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 497 | | "INSERT INTO messages (fid, mid, m_type, m_content, datetime) VALUES ($1, $2, $3, $4, $5) RETURNING id", [INFO] [stdout] 498 | | fid, [INFO] [stdout] 499 | | member.id, [INFO] [stdout] ... | [INFO] [stdout] 502 | | datetime, [INFO] [stdout] 503 | | ).fetch_one(get_pool()?).await.map_err(|_| new_io_error("database failure."))?; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:551:19 [INFO] [stdout] | [INFO] [stdout] 551 | let rec = sqlx::query!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 552 | | "SELECT id, fid, mid, m_type, m_content, datetime FROM messages WHERE id = $1", [INFO] [stdout] 553 | | id, [INFO] [stdout] 554 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:602:20 [INFO] [stdout] | [INFO] [stdout] 602 | let recs = sqlx::query!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 603 | | "SELECT id, gid, times, is_closed, datetime FROM managers WHERE is_deleted = false ORDER BY id", [INFO] [stdout] 604 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:624:13 [INFO] [stdout] | [INFO] [stdout] 624 | sqlx::query!("SELECT id from managers WHERE gid = $1", self.gid.to_hex()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:631:21 [INFO] [stdout] | [INFO] [stdout] 631 | let _ = sqlx::query!("UPDATE managers SET is_closed = $1, datetime = $2, is_deleted = false WHERE id = $3", [INFO] [stdout] | _____________________^ [INFO] [stdout] 632 | | self.is_closed, [INFO] [stdout] 633 | | self.datetime, [INFO] [stdout] 634 | | self.id [INFO] [stdout] 635 | | ).execute(get_pool()?).await.map_err(|_| new_io_error("database failure."))?; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:637:23 [INFO] [stdout] | [INFO] [stdout] 637 | let rec = sqlx::query!( [INFO] [stdout] | _______________________^ [INFO] [stdout] 638 | | "INSERT INTO managers ( gid, times, is_closed, datetime ) VALUES ( $1, $2, $3, $4 ) RETURNING id", [INFO] [stdout] 639 | | self.gid.to_hex(), [INFO] [stdout] 640 | | self.times, [INFO] [stdout] 641 | | self.is_closed, [INFO] [stdout] 642 | | self.datetime [INFO] [stdout] 643 | | ).fetch_one(get_pool()?).await.map_err(|_| new_io_error("database failure."))?; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:719:13 [INFO] [stdout] | [INFO] [stdout] 719 | sqlx::query!("SELECT id, fid, height, ctype, cid FROM consensus WHERE fid = $1 AND height BETWEEN $2 AND $3", fid, from, to) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:774:28 [INFO] [stdout] | [INFO] [stdout] 774 | let unique_check = sqlx::query!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 775 | | "SELECT id from consensus WHERE fid = $1 AND height = $2", [INFO] [stdout] 776 | | fid, [INFO] [stdout] 777 | | height [INFO] [stdout] 778 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:784:21 [INFO] [stdout] | [INFO] [stdout] 784 | let _ = sqlx::query!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 785 | | "UPDATE consensus SET ctype = $1, cid = $2 WHERE id = $3", [INFO] [stdout] 786 | | ctype.to_i16(), [INFO] [stdout] 787 | | cid, [INFO] [stdout] 788 | | rec.id [INFO] [stdout] 789 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `DATABASE_URL` must be set to use query macros [INFO] [stdout] --> src/models.rs:794:21 [INFO] [stdout] | [INFO] [stdout] 794 | let _ = sqlx::query!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 795 | | "INSERT INTO consensus ( fid, height, ctype, cid ) VALUES ( $1, $2, $3, $4 )", [INFO] [stdout] 796 | | fid, [INFO] [stdout] 797 | | height, [INFO] [stdout] 798 | | ctype.to_i16(), [INFO] [stdout] 799 | | cid [INFO] [stdout] 800 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `std::io::Error` [INFO] [stdout] --> src/main.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | storage::init().await?; [INFO] [stdout] | ^ the trait `From` is not implemented for `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] > [INFO] [stdout] and 15 others [INFO] [stdout] = note: required because of the requirements on the impl of `FromResidual>` for `std::result::Result<(), std::io::Error>` [INFO] [stdout] note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `std::io::Error` [INFO] [stdout] --> src/main.rs:71:70 [INFO] [stdout] | [INFO] [stdout] 71 | let layer = Arc::new(RwLock::new(layer::Layer::new(db_path).await?)); [INFO] [stdout] | ^ the trait `From` is not implemented for `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = help: the following implementations were found: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] >> [INFO] [stdout] > [INFO] [stdout] and 15 others [INFO] [stdout] = note: required because of the requirements on the impl of `FromResidual>` for `std::result::Result<(), std::io::Error>` [INFO] [stdout] note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/models.rs:156:24 [INFO] [stdout] | [INFO] [stdout] 156 | return Err(new_io_error("unique group id.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | fs::write(path, bytes).await [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layer.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | Err(new_io_error("Group missing")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | fs::read(path).await [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | fs::remove_file(path).await [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | fs::read(path).await [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | fs::read(path).await [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | fs::read(path).await [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | / INSTANCE [INFO] [stdout] 61 | | .set(pool) [INFO] [stdout] 62 | | .map_err(|_| new_io_error("DB set error!")) [INFO] [stdout] | |___________________________________________________^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | fs::remove_file(path).await [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<_, anyhow::Error>` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layer.rs:435:20 [INFO] [stdout] | [INFO] [stdout] 435 | .ok_or(new_io_error("Group missing")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layer.rs:442:20 [INFO] [stdout] | [INFO] [stdout] 442 | .ok_or(new_io_error("Group missing")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layer.rs:449:20 [INFO] [stdout] | [INFO] [stdout] 449 | .ok_or(new_io_error("Group missing")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layer.rs:456:20 [INFO] [stdout] | [INFO] [stdout] 456 | .ok_or(new_io_error("Group missing")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layer.rs:463:20 [INFO] [stdout] | [INFO] [stdout] 463 | .ok_or(new_io_error("Group missing")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn from_env() -> Result { [INFO] [stdout] | ------------ expected `std::result::Result` because of return type [INFO] [stdout] ... [INFO] [stdout] 38 | / cfg.try_into() [INFO] [stdout] 39 | | .map_err(|_| new_io_error("config init error.")) [INFO] [stdout] | |____________________________________________________________^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result` [INFO] [stdout] found enum `std::result::Result<_, std::io::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/storage.rs:47:26 [INFO] [stdout] | [INFO] [stdout] 47 | INSTANCE.get().ok_or(new_io_error("DB get error!")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `std::io::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 42 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `group-chat` due to 43 previous errors [INFO] running `Command { std: "docker" "inspect" "3a17b52882d58cbd2397e8dbd98c995be50550a55ef6590614adaf648174bcff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a17b52882d58cbd2397e8dbd98c995be50550a55ef6590614adaf648174bcff", kill_on_drop: false }` [INFO] [stdout] 3a17b52882d58cbd2397e8dbd98c995be50550a55ef6590614adaf648174bcff