-
-
Notifications
You must be signed in to change notification settings - Fork 170
Random crashes with SimpleTextOutput Protocol on VirtualBox #121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
imtsuki
added a commit
to imtsuki/uefi-rs
that referenced
this issue
Feb 28, 2020
Signed-off-by: imtsuki <[email protected]>
HadrienG2
pushed a commit
that referenced
this issue
Feb 29, 2020
* Fixes #121: ignore EFI_DEVICE_ERROR in output_string Signed-off-by: imtsuki <[email protected]> * ignore Result in logger rather than Output protocol Signed-off-by: imtsuki <[email protected]> * Add a FIXME comment that we are ignoring logger's `Result` Signed-off-by: imtsuki <[email protected]>
IsaacWoods
pushed a commit
to IsaacWoods/uefi-rs
that referenced
this issue
Apr 7, 2020
…osdev#122) * Fixes rust-osdev#121: ignore EFI_DEVICE_ERROR in output_string Signed-off-by: imtsuki <[email protected]> * ignore Result in logger rather than Output protocol Signed-off-by: imtsuki <[email protected]> * Add a FIXME comment that we are ignoring logger's `Result` Signed-off-by: imtsuki <[email protected]>
nicholasbishop
added a commit
to nicholasbishop/uefi-rs
that referenced
this issue
Apr 20, 2024
This was originally added because of occasional panics when logging quickly on VirtualBox. (Unclear whether this bug is still present, and also as far as I know we haven't observed this behavior on any other UEFI implementations.) The decision was made to panic by default on logger errors, but offer an escape mechanism. However, making this a compile-time choice is not ideal, since most UEFI programs are intended to run on arbitrary UEFI implementations. We could make it a runtime option instead, but since loggers are usually just informational (i.e. not critical functionality for the application), silently ignoring errors seems like a better choice for most uses. In the rare case where an application does consider logging critical, they can turn off the `logger` helper and implement their own logger. For prior discussion, see: * rust-osdev#121 * rust-osdev#123
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Lately, I am experiencing random crashes with
uefi-rs
running on VirtualBox while writing to stdout. The panic message is like the following:After investigation, it turns out the following code causes this problem:
uefi-rs/src/proto/console/text/output.rs
Lines 164 to 166 in 006c388
Where the UEFI firmware shipped with VirtualBox will report
EFI_DEVICE_ERROR
when we're outputting too fast, probably, I'm not sure.Personally I think this is not a fatal error and since there is no extra error message returned by
output_string()
, I'll submit a PR that ignoresEFI_DEVICE_ERROR
here.The text was updated successfully, but these errors were encountered: