[INFO] fetching crate udo 0.3.1...
[INFO] testing udo-0.3.1 against 1.91.0 for beta-1.92-2
[INFO] extracting crate udo 0.3.1 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate udo 0.3.1
[INFO] finished tweaking crates.io crate udo 0.3.1
[INFO] tweaked toml for crates.io crate udo 0.3.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate udo 0.3.1 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate udo 0.3.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pam-sys v0.5.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34a9198658f8e8c63780c334b50838d202722afac0c83b41d14bb99f6f329acd
[INFO] running `Command { std: "docker" "start" "-a" "34a9198658f8e8c63780c334b50838d202722afac0c83b41d14bb99f6f329acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34a9198658f8e8c63780c334b50838d202722afac0c83b41d14bb99f6f329acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34a9198658f8e8c63780c334b50838d202722afac0c83b41d14bb99f6f329acd", kill_on_drop: false }`
[INFO] [stdout] 34a9198658f8e8c63780c334b50838d202722afac0c83b41d14bb99f6f329acd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f2b55eecf276ed5b7834f9a3be96d5b76e6057368294a4c9de0b3a8789261cca
[INFO] running `Command { std: "docker" "start" "-a" "f2b55eecf276ed5b7834f9a3be96d5b76e6057368294a4c9de0b3a8789261cca", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling pam-sys v0.5.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling clap_builder v4.5.50
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling clap v4.5.50
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling udo v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0412]: cannot find type `Gid` in this scope
[INFO] [stdout]    --> src/authenticate.rs:234:55
[INFO] [stdout]     |
[INFO] [stdout] 234 | fn get_supplemental_groups(user: &User) -> Result<Vec<Gid>> {
[INFO] [stdout]     |                                                       ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   3 + use nix::unistd::Gid;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/authenticate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> src/backend/system.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, ffi::CString, fs};
[INFO] [stdout]   |                              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> src/backend/testing.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, fs};
[INFO] [stdout]   |                                 ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ffi::CString`
[INFO] [stdout]  --> src/run/process.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::CString, process::exit};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `execvp`
[INFO] [stdout]  --> src/run/process.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 |     unistd::{ForkResult, Pid, execvp, fork},
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0631]: type mismatch in function arguments
[INFO] [stdout]    --> src/authenticate.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |     Ok(getgroups().iter().flat_map(Group::from_gid).flatten())
[INFO] [stdout]     |                           -------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |        |
[INFO] [stdout]     |                           |        expected due to this
[INFO] [stdout]     |                           |        found signature defined here
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected function signature `fn(&Vec<Gid>) -> _`
[INFO] [stdout]                found function signature `fn(Gid) -> _`
[INFO] [stdout] note: required by a bound in `flat_map`
[INFO] [stdout]    --> /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/iter/traits/iterator.rs:1472:5
[INFO] [stdout] help: consider wrapping the function in a closure
[INFO] [stdout]     |
[INFO] [stdout] 237 |     Ok(getgroups().iter().flat_map(|arg0: &Vec<Gid>| Group::from_gid(/* Gid */)).flatten())
[INFO] [stdout]     |                                    +++++++++++++++++                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `flatten` exists for struct `FlatMap<Iter<'_, Vec<Gid>>, _, fn(Gid) -> ... {...::from_gid}>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/authenticate.rs:237:53
[INFO] [stdout]     |
[INFO] [stdout] 237 |     Ok(getgroups().iter().flat_map(Group::from_gid).flatten())
[INFO] [stdout]     |                                                     ^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<fn(Gid) -> std::result::Result<std::option::Option<Group>, Errno> {Group::from_gid} as FnOnce<(&Vec<Gid>,)>>::Output = _`
[INFO] [stdout]             which is required by `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> std::result::Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             `fn(Gid) -> std::result::Result<std::option::Option<Group>, Errno> {Group::from_gid}: FnMut<(&Vec<Gid>,)>`
[INFO] [stdout]             which is required by `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> std::result::Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> std::result::Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             which is required by `&mut FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> std::result::Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/udo-9e316f09bb7c220d.long-type-8565781075442183475.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid username"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid password"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid service"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/authenticate.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 let v = v.clone();
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/authenticate.rs:69:61
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 matches!(&other.command, ActionValue::Value(v))
[INFO] [stdout]    |                                                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]   --> src/authenticate.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let h = other.host.as_ref().unwrap();
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]   --> src/authenticate.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 Some(h) => true,
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/authenticate.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 let v = v.clone();
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/authenticate.rs:100:59
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 matches!(&other.do_as, ActionValue::Value(v))
[INFO] [stdout]     |                                                           ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/authenticate.rs:159:41
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn authenticate_password(run: &Run, config: &Config, password: String) -> AuthResult {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/backend/system.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |         setuid(uid).map_err(|e| Error::new(ErrorKind::UidSet, "Failed to set uid"))
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/backend/system.rs:38:31
[INFO] [stdout]    |
[INFO] [stdout] 38 |         seteuid(uid).map_err(|e| Error::new(ErrorKind::EuidSet, "Failed to set euid"))
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/backend/system.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 |         setgid(gid).map_err(|e| Error::new(ErrorKind::GidSet, "Failed to set gid"))
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/backend/system.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |         env::var(name).map_err(|e| Error::new(ErrorKind::Env, "Failed to get environment variable"))
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `process`
[INFO] [stdout]    --> src/backend/testing.rs:123:26
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn execvp(&mut self, process: &str, args: &[&str]) -> Result<()> {
[INFO] [stdout]     |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_process`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/backend/testing.rs:123:41
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn execvp(&mut self, process: &str, args: &[&str]) -> Result<()> {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/output.rs:149:39
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn not_authenticated(user: &User, config: &Config) {
[INFO] [stdout]     |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/run/process.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         Ok(status) => exit(1),
[INFO] [stdout]    |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]    --> src/run.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let rest = actions
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `udo` (bin "udo") due to 3 previous errors; 25 warnings emitted
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> src/run.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |         root: Vec<Action>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0599, E0631.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f2b55eecf276ed5b7834f9a3be96d5b76e6057368294a4c9de0b3a8789261cca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2b55eecf276ed5b7834f9a3be96d5b76e6057368294a4c9de0b3a8789261cca", kill_on_drop: false }`
[INFO] [stdout] f2b55eecf276ed5b7834f9a3be96d5b76e6057368294a4c9de0b3a8789261cca
