[INFO] cloning repository https://github.com/yonh/hello-os [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yonh/hello-os" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyonh%2Fhello-os", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyonh%2Fhello-os'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 823e79fbed14603573a57a9769464292f030fd75 [INFO] testing yonh/hello-os against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyonh%2Fhello-os" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config [INFO] started tweaking git repo https://github.com/yonh/hello-os [INFO] finished tweaking git repo https://github.com/yonh/hello-os [INFO] tweaked toml for git repo https://github.com/yonh/hello-os written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yonh/hello-os on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/yonh/hello-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uart_16550 v0.2.16 [INFO] [stderr] Downloaded bootloader v0.9.21 [INFO] [stderr] Downloaded x86_64 v0.14.8 [INFO] [stderr] Downloaded volatile v0.4.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bc1405c6e65333de96da099e73686e21ecf205594d9991628be4894e30330a16 [INFO] running `Command { std: "docker" "start" "-a" "bc1405c6e65333de96da099e73686e21ecf205594d9991628be4894e30330a16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bc1405c6e65333de96da099e73686e21ecf205594d9991628be4894e30330a16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc1405c6e65333de96da099e73686e21ecf205594d9991628be4894e30330a16", kill_on_drop: false }` [INFO] [stdout] bc1405c6e65333de96da099e73686e21ecf205594d9991628be4894e30330a16 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] bc332cc8300959aa980a408204e6d340b595afea53673ba1565e47a7463a18bb [INFO] running `Command { std: "docker" "start" "-a" "bc332cc8300959aa980a408204e6d340b595afea53673ba1565e47a7463a18bb", kill_on_drop: false }` [INFO] [stderr] Compiling x86_64 v0.14.8 [INFO] [stderr] Compiling bit_field v0.10.1 [INFO] [stderr] Compiling bootloader v0.9.21 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling volatile v0.4.4 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling spin v0.5.2 [INFO] [stderr] Compiling volatile v0.2.7 [INFO] [stderr] Compiling lock_api v0.4.6 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling spin v0.9.2 [INFO] [stderr] Compiling uart_16550 v0.2.16 [INFO] [stderr] Compiling hello-os v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vga_buffer.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | /// 定义了一个延迟初始化(lazily initialized)的静态变量;这个变量的值将在第一次使用时计算,而非在编译时计算。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/serial.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | /// 和 isa-debug-exit设备一样,UART也是用过I/O端口进行编程的。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | / let mut serial_port = unsafe { [INFO] [stdout] 13 | | SerialPort::new(0x3f8) [INFO] [stdout] 14 | | }; [INFO] [stdout] | |__________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/serial.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | /// 由于UART相对来讲更加复杂,它使用多个I/O端口来对不同的设备寄存器进行编程。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | / let mut serial_port = unsafe { [INFO] [stdout] 13 | | SerialPort::new(0x3f8) [INFO] [stdout] 14 | | }; [INFO] [stdout] | |__________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/serial.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | ... /// 不安全的SerialPort::new函数需要UART的第一个I/O端口的地址作为参数,从该地址中可以计算出所有所需端口的地址。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | ... /// 我们传递的端口地址为0x3F8 ,该地址是第一个串行接口的标准端口号。 [INFO] [stdout] 12 | / ... let mut serial_port = unsafe { [INFO] [stdout] 13 | | ... SerialPort::new(0x3f8) [INFO] [stdout] 14 | | ... }; [INFO] [stdout] | |________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/serial.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | /// 我们传递的端口地址为0x3F8 ,该地址是第一个串行接口的标准端口号。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | / let mut serial_port = unsafe { [INFO] [stdout] 13 | | SerialPort::new(0x3f8) [INFO] [stdout] 14 | | }; [INFO] [stdout] | |__________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:14:30 [INFO] [stdout] | [INFO] [stdout] 14 | use core::panic::{PanicInfo, self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HELLO` is never used [INFO] [stdout] --> src/main.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | static HELLO: &[u8] = b"Hello World!"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o" "/tmp/rustcIFzzWB/symbols.o" "<1 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/{libuart_16550-c6fb97ce26bc900d.rlib,libx86_64-0ebcf3194fa0df2b.rlib,libvolatile-ab4af5dc10ac7983.rlib,libbit_field-58a8738d94be4cc6.rlib,libbitflags-32037609901091e2.rlib,libspin-1562ca2ed3b3d034.rlib,liblock_api-da681eac2406517c.rlib,libscopeguard-ecd2a2457381b5d9.rlib,liblazy_static-6992d1285e3f89eb.rlib,libspin-102341ae301bea52.rlib,libvolatile-b6c30758ecdac9c8.rlib}.rlib" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libcore-*,libcompiler_builtins-*}.rlib" "-L" "/tmp/rustcIFzzWB/raw-dylibs" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/hello_os-ea6e195996dacf34" "-Wl,--gc-sections" "-static-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: /usr/bin/ld: /opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/hello_os-ea6e195996dacf34.hello_os.3cf4a6a225303caf-cgu.0.rcgu.o: in function `_start': [INFO] [stdout] /opt/rustwide/workdir/src/main.rs:24: multiple definition of `_start'; /opt/rustwide/rustup-home/toolchains/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o:rcrt1.c:(.text+0x0): first defined here [INFO] [stdout] /usr/bin/ld: /opt/rustwide/rustup-home/toolchains/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o: in function `__dls2': [INFO] [stdout] /build/musl-cross-make/build/local/x86_64-linux-musl/obj_musl/../src_musl/crt/rcrt1.c:13:(.text.__dls2+0x1b): undefined reference to `main' [INFO] [stdout] /usr/bin/ld: /build/musl-cross-make/build/local/x86_64-linux-musl/obj_musl/../src_musl/crt/rcrt1.c:13:(.text.__dls2+0x20): undefined reference to `__libc_start_main' [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified [INFO] [stdout] = note: use the `-l` flag to specify native libraries to link [INFO] [stdout] = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `hello-os` (bin "hello-os") due to 1 previous error; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "bc332cc8300959aa980a408204e6d340b595afea53673ba1565e47a7463a18bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc332cc8300959aa980a408204e6d340b595afea53673ba1565e47a7463a18bb", kill_on_drop: false }` [INFO] [stdout] bc332cc8300959aa980a408204e6d340b595afea53673ba1565e47a7463a18bb