[INFO] cloning repository https://github.com/0xacn/firewall
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/0xacn/firewall" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xacn%2Ffirewall", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xacn%2Ffirewall'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1e8371e458708f3ecbdfa9f7bc9ab1a29bd5978e
[INFO] testing 0xacn/firewall against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xacn%2Ffirewall" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/0xacn/firewall
[INFO] finished tweaking git repo https://github.com/0xacn/firewall
[INFO] tweaked toml for git repo https://github.com/0xacn/firewall written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/0xacn/firewall on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/0xacn/firewall 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f9ed00fa3a732a9efd21447158ab60ccda0e4a452430c31ccaaa203335ed593d
[INFO] running `Command { std: "docker" "start" "-a" "f9ed00fa3a732a9efd21447158ab60ccda0e4a452430c31ccaaa203335ed593d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9ed00fa3a732a9efd21447158ab60ccda0e4a452430c31ccaaa203335ed593d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9ed00fa3a732a9efd21447158ab60ccda0e4a452430c31ccaaa203335ed593d", kill_on_drop: false }`
[INFO] [stdout] f9ed00fa3a732a9efd21447158ab60ccda0e4a452430c31ccaaa203335ed593d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a8b4e213cd7fba71ffe06951bf441efc4f73671c06c5b98d72aeb2529aa60845
[INFO] running `Command { std: "docker" "start" "-a" "a8b4e213cd7fba71ffe06951bf441efc4f73671c06c5b98d72aeb2529aa60845", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.58
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling quote v1.0.27
[INFO] [stderr]    Compiling no-std-net v0.6.0
[INFO] [stderr]    Compiling libc v0.2.144
[INFO] [stderr]    Compiling regex-syntax v0.7.1
[INFO] [stderr]    Compiling serde v1.0.163
[INFO] [stderr]    Compiling pnet v0.33.0
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling tokio v1.28.2
[INFO] [stderr]    Compiling pnet_base v0.33.0
[INFO] [stderr]    Compiling pnet_macros_support v0.33.0
[INFO] [stderr]    Compiling aho-corasick v1.0.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling pnet_sys v0.33.0
[INFO] [stderr]    Compiling regex v1.8.1
[INFO] [stderr]    Compiling ipnetwork v0.20.0
[INFO] [stderr]    Compiling pnet_datalink v0.33.0
[INFO] [stderr]    Compiling pnet_macros v0.33.0
[INFO] [stderr]    Compiling pnet_packet v0.33.0
[INFO] [stderr]    Compiling pnet_transport v0.33.0
[INFO] [stderr]    Compiling firewall v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected one of `=` or `|`, found `}`
[INFO] [stdout]   --> src/main.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if let Some(ethernet)
[INFO] [stdout]    |                          - expected one of `=` or `|`
[INFO] [stdout] 49 | }
[INFO] [stdout]    | ^ unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio::stream::StreamExt`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::stream::StreamExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ no `StreamExt` in `stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `main` in `tokio`
[INFO] [stdout]   --> src/main.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[tokio::main]
[INFO] [stdout]    |          ^^^^ could not find `main` in `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `mpsc` in `sync`
[INFO] [stdout]    --> src/main.rs:27:41
[INFO] [stdout]     |
[INFO] [stdout]  27 |     let (mut tx, mut rx) = tokio::sync::mpsc::channel(100);
[INFO] [stdout]     |                                         ^^^^ could not find `mpsc` in `sync`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.28.2/src/sync/mod.rs:449:13
[INFO] [stdout]     |
[INFO] [stdout] 438 | / cfg_sync! {
[INFO] [stdout] 439 | |     /// Named future types.
[INFO] [stdout] 440 | |     pub mod futures {
[INFO] [stdout] 441 | |         pub use super::notify::Notified;
[INFO] [stdout] ...   |
[INFO] [stdout] 449 | |     pub mod mpsc;
[INFO] [stdout]     | |             ^^^^
[INFO] [stdout] ...   |
[INFO] [stdout] 480 | |     pub mod watch;
[INFO] [stdout] 481 | | }
[INFO] [stdout]     | |_- the item is gated behind the `sync` feature
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::sync::mpsc;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `mpsc`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout]  27 -     let (mut tx, mut rx) = tokio::sync::mpsc::channel(100);
[INFO] [stdout]  27 +     let (mut tx, mut rx) = mpsc::channel(100);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `mpsc` in `sync`
[INFO] [stdout]    --> src/main.rs:32:26
[INFO] [stdout]     |
[INFO] [stdout]  32 |     mut tx: tokio::sync::mpsc::Sender<Vec<u8>>,
[INFO] [stdout]     |                          ^^^^ could not find `mpsc` in `sync`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.28.2/src/sync/mod.rs:449:13
[INFO] [stdout]     |
[INFO] [stdout] 438 | / cfg_sync! {
[INFO] [stdout] 439 | |     /// Named future types.
[INFO] [stdout] 440 | |     pub mod futures {
[INFO] [stdout] 441 | |         pub use super::notify::Notified;
[INFO] [stdout] ...   |
[INFO] [stdout] 449 | |     pub mod mpsc;
[INFO] [stdout]     | |             ^^^^
[INFO] [stdout] ...   |
[INFO] [stdout] 480 | |     pub mod watch;
[INFO] [stdout] 481 | | }
[INFO] [stdout]     | |_- the item is gated behind the `sync` feature
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::sync::mpsc;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `mpsc`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout]  32 -     mut tx: tokio::sync::mpsc::Sender<Vec<u8>>,
[INFO] [stdout]  32 +     mut tx: mpsc::Sender<Vec<u8>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `sync` is private
[INFO] [stdout]    --> src/main.rs:27:35
[INFO] [stdout]     |
[INFO] [stdout]  27 |     let (mut tx, mut rx) = tokio::sync::mpsc::channel(100);
[INFO] [stdout]     |                                   ^^^^ private module
[INFO] [stdout]     |
[INFO] [stdout] note: the module `sync` is defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.28.2/src/lib.rs:543:5
[INFO] [stdout]     |
[INFO] [stdout] 543 |     mod sync;
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `sync` is private
[INFO] [stdout]    --> src/main.rs:32:20
[INFO] [stdout]     |
[INFO] [stdout]  32 |     mut tx: tokio::sync::mpsc::Sender<Vec<u8>>,
[INFO] [stdout]     |                    ^^^^ private module
[INFO] [stdout]     |
[INFO] [stdout] note: the module `sync` is defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.28.2/src/lib.rs:543:5
[INFO] [stdout]     |
[INFO] [stdout] 543 |     mod sync;
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::net::IpAddr;
[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: `std::process`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EtherTypes`
[INFO] [stdout]  --> src/main.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pnet::packet::ethernet::{EtherTypes, EthernetPacket};
[INFO] [stdout]   |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pnet::packet::ip::IpNextHeaderProtocols`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pnet::packet::ip::IpNextHeaderProtocols;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pnet::packet::ipv4::Ipv4Packet`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use pnet::packet::ipv4::Ipv4Packet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pnet::packet::ipv6::Ipv6Packet`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use pnet::packet::ipv6::Ipv6Packet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::task;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<&[u8], std::io::Error>` is not a future
[INFO] [stdout]   --> src/main.rs:40:40
[INFO] [stdout]    |
[INFO] [stdout] 40 |     while let Some(packet) = rx.next().await {
[INFO] [stdout]    |                                        ^^^^^ `Result<&[u8], std::io::Error>` is not a future
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Future` is not implemented for `Result<&[u8], std::io::Error>`
[INFO] [stdout]    = note: Result<&[u8], std::io::Error> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]    = note: required for `Result<&[u8], std::io::Error>` to implement `IntoFuture`
[INFO] [stdout] help: remove the `.await`
[INFO] [stdout]    |
[INFO] [stdout] 40 -     while let Some(packet) = rx.next().await {
[INFO] [stdout] 40 +     while let Some(packet) = rx.next() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |   ) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        -------------------------- expected `Result<(), Box<(dyn std::error::Error + 'static)>>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 40 | /     while let Some(packet) = rx.next().await {
[INFO] [stdout] 41 | |         let packet = EthernetPacket::new(packet).unwrap();
[INFO] [stdout] 42 | |         let payload = packet.payload();
[INFO] [stdout] 43 | |         tx.send(payload.to_vec()).await.unwrap();
[INFO] [stdout] 44 | |     }
[INFO] [stdout]    | |_____^ expected `Result<(), Box<dyn Error>>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<(), Box<(dyn std::error::Error + 'static)>>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout]    = note: `while` loops evaluate to unit type `()`
[INFO] [stdout] help: try adding an expression at the end of the block
[INFO] [stdout]    |
[INFO] [stdout] 44 ~     }
[INFO] [stdout] 45 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/main.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub async fn main() {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0432, E0433, E0603, E0752.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `firewall` (bin "firewall") due to 10 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a8b4e213cd7fba71ffe06951bf441efc4f73671c06c5b98d72aeb2529aa60845", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8b4e213cd7fba71ffe06951bf441efc4f73671c06c5b98d72aeb2529aa60845", kill_on_drop: false }`
[INFO] [stdout] a8b4e213cd7fba71ffe06951bf441efc4f73671c06c5b98d72aeb2529aa60845
