[INFO] cloning repository https://github.com/provrb/os [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/provrb/os" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprovrb%2Fos", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprovrb%2Fos'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f49b5e38fb8bb5669f83f00bbda2c89ab2c891fa [INFO] checking provrb/os against try#e658ebe4ffa1b515cd2ef06dd428d0d063e2ae6b for pr-144896 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprovrb%2Fos" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/provrb/os [INFO] finished tweaking git repo https://github.com/provrb/os [INFO] tweaked toml for git repo https://github.com/provrb/os written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/provrb/os on toolchain e658ebe4ffa1b515cd2ef06dd428d0d063e2ae6b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e658ebe4ffa1b515cd2ef06dd428d0d063e2ae6b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/provrb/os 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" "+e658ebe4ffa1b515cd2ef06dd428d0d063e2ae6b" "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 bootloader v0.9.30 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:ae6f63d130afcfff7f91f5ba9fdb2a74d52830289c6a2ea2d23a94dcfb480a0d" "/opt/rustwide/cargo-home/bin/cargo" "+e658ebe4ffa1b515cd2ef06dd428d0d063e2ae6b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3ab4f4b4b50fd76cf1acdf44bfc11308a03b301b0a68bb06934d9bd67447f51a [INFO] running `Command { std: "docker" "start" "-a" "3ab4f4b4b50fd76cf1acdf44bfc11308a03b301b0a68bb06934d9bd67447f51a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ab4f4b4b50fd76cf1acdf44bfc11308a03b301b0a68bb06934d9bd67447f51a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ab4f4b4b50fd76cf1acdf44bfc11308a03b301b0a68bb06934d9bd67447f51a", kill_on_drop: false }` [INFO] [stdout] 3ab4f4b4b50fd76cf1acdf44bfc11308a03b301b0a68bb06934d9bd67447f51a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--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:ae6f63d130afcfff7f91f5ba9fdb2a74d52830289c6a2ea2d23a94dcfb480a0d" "/opt/rustwide/cargo-home/bin/cargo" "+e658ebe4ffa1b515cd2ef06dd428d0d063e2ae6b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb58cdda5a33f7d335bb2878bb6fb7b76d3ef61bcd77655374e1e2a2490fcd8d [INFO] running `Command { std: "docker" "start" "-a" "fb58cdda5a33f7d335bb2878bb6fb7b76d3ef61bcd77655374e1e2a2490fcd8d", kill_on_drop: false }` [INFO] [stderr] Compiling rustversion v1.0.19 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling bootloader v0.9.30 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking bitflags v2.8.0 [INFO] [stderr] Checking volatile v0.4.6 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking volatile v0.2.7 [INFO] [stderr] Checking pc-keyboard v0.7.0 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking spinning_top v0.2.5 [INFO] [stderr] Checking x86_64 v0.14.13 [INFO] [stderr] Checking x86_64 v0.15.2 [INFO] [stderr] Checking linked_list_allocator v0.9.1 [INFO] [stderr] Checking pic8259 v0.10.4 [INFO] [stderr] Checking os v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: invalid signature for `extern "x86-interrupt"` function [INFO] [stdout] --> src/interrupts.rs:104:6 [INFO] [stdout] | [INFO] [stdout] 104 | ) -> ! { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: functions with the "custom" ABI cannot have a return type [INFO] [stdout] help: remove the return type [INFO] [stdout] --> src/interrupts.rs:104:6 [INFO] [stdout] | [INFO] [stdout] 104 | ) -> ! { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `global_asm` [INFO] [stdout] --> src/gdt.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use core::arch::{asm, global_asm}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CS` and `Segment` [INFO] [stdout] --> src/gdt.rs:65:46 [INFO] [stdout] | [INFO] [stdout] 65 | use x86_64::instructions::segmentation::{Segment, CS}; [INFO] [stdout] | ^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::registers::rflags::RFlags` [INFO] [stdout] --> src/gdt.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | use x86_64::registers::rflags::RFlags; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mem::USER_ENTRY` [INFO] [stdout] --> src/gdt.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | use crate::mem::USER_ENTRY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gdt` [INFO] [stdout] --> src/gdt.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | use crate::{gdt, println}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MapperFlush` [INFO] [stdout] --> src/mem.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | mapper::{MapToError, MapperFlush}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::structures::paging::mapper::MapToError` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use x86_64::structures::paging::mapper::MapToError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Size4KiB` [INFO] [stdout] --> src/main.rs:19:80 [INFO] [stdout] | [INFO] [stdout] 19 | use x86_64::structures::paging::{FrameAllocator, Mapper, Page, PageTableFlags, Size4KiB, Translate}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `time::DateTime` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use time::DateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColorDesc` and `set_print_color` [INFO] [stdout] --> src/main.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use vga_buffer::{set_print_color, ColorDesc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PrivilegeLevel` [INFO] [stdout] --> src/main.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | use x86_64::{PrivilegeLevel, VirtAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl` [INFO] [stdout] --> src/main.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | / fn panic(info: &PanicInfo) -> ! { [INFO] [stdout] 75 | | println!("panic! {info}"); [INFO] [stdout] 76 | | [INFO] [stdout] 77 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 80 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `test` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/e658ebe4ffa1b515cd2ef06dd428d0d063e2ae6b/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-9fbdd90241d2d923.rlib [INFO] [stdout] = note: second definition in the local crate (`os`) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `os` (bin "os" test) due to 2 previous errors; 11 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] For more information about this error, try `rustc --explain E0152`. [INFO] [stdout] [INFO] [stdout] error: invalid signature for `extern "x86-interrupt"` function [INFO] [stdout] --> src/interrupts.rs:104:6 [INFO] [stdout] | [INFO] [stdout] 104 | ) -> ! { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: functions with the "custom" ABI cannot have a return type [INFO] [stdout] help: remove the return type [INFO] [stdout] --> src/interrupts.rs:104:6 [INFO] [stdout] | [INFO] [stdout] 104 | ) -> ! { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `global_asm` [INFO] [stdout] --> src/gdt.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use core::arch::{asm, global_asm}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CS` and `Segment` [INFO] [stdout] --> src/gdt.rs:65:46 [INFO] [stdout] | [INFO] [stdout] 65 | use x86_64::instructions::segmentation::{Segment, CS}; [INFO] [stdout] | ^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::registers::rflags::RFlags` [INFO] [stdout] --> src/gdt.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | use x86_64::registers::rflags::RFlags; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mem::USER_ENTRY` [INFO] [stdout] --> src/gdt.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | use crate::mem::USER_ENTRY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gdt` [INFO] [stdout] --> src/gdt.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | use crate::{gdt, println}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MapperFlush` [INFO] [stdout] --> src/mem.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | mapper::{MapToError, MapperFlush}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::structures::paging::mapper::MapToError` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use x86_64::structures::paging::mapper::MapToError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Size4KiB` [INFO] [stdout] --> src/main.rs:19:80 [INFO] [stdout] | [INFO] [stdout] 19 | use x86_64::structures::paging::{FrameAllocator, Mapper, Page, PageTableFlags, Size4KiB, Translate}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `time::DateTime` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use time::DateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColorDesc` and `set_print_color` [INFO] [stdout] --> src/main.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use vga_buffer::{set_print_color, ColorDesc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PrivilegeLevel` [INFO] [stdout] --> src/main.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | use x86_64::{PrivilegeLevel, VirtAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: formatting may not be suitable for sub-register argument [INFO] [stdout] --> src/gdt.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | "push {1}", // Push User Data Segment [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | in(reg) user_ds, // Load User Data Segment dynamically [INFO] [stdout] | ------- for this argument [INFO] [stdout] | [INFO] [stdout] = help: use `{1:x}` to have the register formatted as `ax` (for 16-bit values) [INFO] [stdout] = help: or use `{1:r}` to keep the default formatting of `rax` (for 64-bit values) [INFO] [stdout] = note: `#[warn(asm_sub_register)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: formatting may not be suitable for sub-register argument [INFO] [stdout] --> src/gdt.rs:96:19 [INFO] [stdout] | [INFO] [stdout] 96 | "push {2}", // Push User Code Segment [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | in(reg) user_cs, // Load User Code Segment dynamically [INFO] [stdout] | ------- for this argument [INFO] [stdout] | [INFO] [stdout] = help: use `{2:x}` to have the register formatted as `ax` (for 16-bit values) [INFO] [stdout] = help: or use `{2:r}` to keep the default formatting of `rax` (for 64-bit values) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 66 | gdt::enter_user_mode(); [INFO] [stdout] | ---------------------- any code following this expression is unreachable [INFO] [stdout] 67 | [INFO] [stdout] 68 | / loop { [INFO] [stdout] 69 | | x86_64::instructions::hlt(); [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `os` (bin "os") due to 1 previous error; 14 warnings emitted [INFO] running `Command { std: "docker" "inspect" "fb58cdda5a33f7d335bb2878bb6fb7b76d3ef61bcd77655374e1e2a2490fcd8d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb58cdda5a33f7d335bb2878bb6fb7b76d3ef61bcd77655374e1e2a2490fcd8d", kill_on_drop: false }` [INFO] [stdout] fb58cdda5a33f7d335bb2878bb6fb7b76d3ef61bcd77655374e1e2a2490fcd8d