[INFO] cloning repository https://github.com/KijitoraFinch/rust_microkernel
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KijitoraFinch/rust_microkernel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKijitoraFinch%2Frust_microkernel", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKijitoraFinch%2Frust_microkernel'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ae150525421b34761344f0cbcc3bc4a450ad4da8
[INFO] testing KijitoraFinch/rust_microkernel against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKijitoraFinch%2Frust_microkernel" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/KijitoraFinch/rust_microkernel
[INFO] finished tweaking git repo https://github.com/KijitoraFinch/rust_microkernel
[INFO] tweaked toml for git repo https://github.com/KijitoraFinch/rust_microkernel written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KijitoraFinch/rust_microkernel on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KijitoraFinch/rust_microkernel 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.98.0-beta.1" "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-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498
[INFO] running `Command { std: "docker" "start" "8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust_microkernel v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(naked_functions)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute
[INFO] [stdout]   |
[INFO] [stdout]   = help: the feature `naked_functions` has been stable since `1.88.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `writeCsr`
[INFO] [stdout]  --> src/exception.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{readCsr, writeCsr};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/memory.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 |         NEXT_PADDR = NEXT_PADDR.add((pages as usize * PAGE_SIZE));
[INFO] [stdout]    |                                     ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -         NEXT_PADDR = NEXT_PADDR.add((pages as usize * PAGE_SIZE));
[INFO] [stdout] 15 +         NEXT_PADDR = NEXT_PADDR.add(pages as usize * PAGE_SIZE);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `addr_eq`, `pin::Pin`, and `self`
[INFO] [stdout]  --> src/process.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pin::Pin,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 5 |     ptr::{self, addr_eq, addr_of, addr_of_mut},
[INFO] [stdout]   |           ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::Paddr`
[INFO] [stdout]   --> src/kernel.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use common::Paddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::PAGE_SIZE`
[INFO] [stdout]   --> src/kernel.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use common::PAGE_SIZE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `memory::alloc_pages`
[INFO] [stdout]   --> src/kernel.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use memory::alloc_pages;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/exception.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[naked]
[INFO] [stdout]    |   ^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[unsafe(naked)]
[INFO] [stdout]    |   +++++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/process.rs:196:3
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[naked]
[INFO] [stdout]     |   ^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[unsafe(naked)]
[INFO] [stdout]     |   +++++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a0`: unknown register
[INFO] [stdout]   --> src/sbi.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         inout("a0") a0 => error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a1`: unknown register
[INFO] [stdout]   --> src/sbi.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         inout("a1") a1 => value,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a2`: unknown register
[INFO] [stdout]   --> src/sbi.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         in("a2") a2,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a3`: unknown register
[INFO] [stdout]   --> src/sbi.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         in("a3") a3,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a4`: unknown register
[INFO] [stdout]   --> src/sbi.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         in("a4") a4,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a5`: unknown register
[INFO] [stdout]   --> src/sbi.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         in("a5") a5,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a6`: unknown register
[INFO] [stdout]   --> src/sbi.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         in("a6") fid,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid register `a7`: unknown register
[INFO] [stdout]   --> src/sbi.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         in("a7") eid,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/kernel.rs:92:3
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[naked]
[INFO] [stdout]    |   ^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[unsafe(naked)]
[INFO] [stdout]    |   +++++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `naked_functions` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/kernel.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(naked_functions)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on use statements
[INFO] [stdout]  --> src/exception.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: `#[macro_use]` can be applied to extern crates and modules
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0787]: the `asm!` macro is not allowed in naked functions
[INFO] [stdout]    --> src/exception.rs:45:9
[INFO] [stdout]     |
[INFO] [stdout]  45 | /         asm!(
[INFO] [stdout]  46 | |             "csrrw sp, sscratch, sp",
[INFO] [stdout]  47 | |             "addi sp, sp, -4 * 31",
[INFO] [stdout]  48 | |             "sw ra, 4 * 0(sp)",
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |             options(noreturn)
[INFO] [stdout] 118 | |         );
[INFO] [stdout]     | |_________^ consider using the `naked_asm!` macro instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0787]: the `asm!` macro is not allowed in naked functions
[INFO] [stdout]    --> src/process.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 | /         asm!(
[INFO] [stdout] 201 | |             // Save the current context
[INFO] [stdout] 202 | |             "addi sp, sp, -13 * 4",
[INFO] [stdout] 203 | |             "sw ra, 0 * 4(sp)",
[INFO] [stdout] ...   |
[INFO] [stdout] 234 | |             options(noreturn),
[INFO] [stdout] 235 | |         );
[INFO] [stdout]     | |_________^ consider using the `naked_asm!` macro instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0787]: the `asm!` macro is not allowed in naked functions
[INFO] [stdout]   --> src/kernel.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 | /         asm!("la sp, {stack_top}",
[INFO] [stdout] 97 | |             "j kernel_main", 
[INFO] [stdout] 98 | |             stack_top = sym __stack_top,
[INFO] [stdout] 99 | |             options(noreturn));
[INFO] [stdout]    | |______________________________^ consider using the `naked_asm!` macro instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trapframe`
[INFO] [stdout]    --> src/exception.rs:123:27
[INFO] [stdout]     |
[INFO] [stdout] 123 | extern "C" fn handle_trap(trapframe: &TrapFrame) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trapframe`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/process.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 unsafe {
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/process.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 unsafe {
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/process.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 unsafe {
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kernel.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut i = 0;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/kernel.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut i = 0;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kernel.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut i = 0;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/kernel.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut i = 0;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/macros.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/kernel.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     unsafe {
[INFO] [stdout]    |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 72 |         writeCsr!("stvec", kernel_entry);
[INFO] [stdout]    |         -------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `writeCsr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kernel.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut free_ram_start = ptr::addr_of_mut!(__free_ram);
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0787.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_microkernel` (bin "kernel") due to 16 previous errors; 18 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498", kill_on_drop: false }`
[INFO] [stdout] 8b2662324d82ed791ec1c4fd82f6e65babc53876d2e2addd7c7c3238a5c6d498
