Skip to content

Runtime tests cause QEMU to exit with 1 if run after exit_boot_services() #285

Closed
@timrobertsdev

Description

@timrobertsdev

rustc --version: rustc 1.57.0-nightly (fdf65053e 2021-09-07)
qemu-system-x86_64 --version: QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.17)

Running ./build.py run after moving the runtime::test() call to after exit_boot_services() results in QEMU hanging for a few seconds and then exiting with Subprocess qemu-system-x86_64 exited with error code 1. I left the original runtime::test() call in efi_main() and then added two more, both in shutdown(), one before we exit boot services and one after. The first two calls execute and succeed, the third crashes.

I've been attempting to investigate why, but I've been having a little trouble getting rust-gdb and rust-lldb to recognize the symbols in the uefi-test-runner.efi binary. Oddly enough, objdump -freports that it is flagged as HAS_DEBUG, but objdump -t wasn't able to find any symbols. Attemping image dump symtab in rust-lldb results in num-symbols = 0. I've probably got something setup incorrectly on my end, any advice would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions