Skip to content

Mmap tests fail with GuestAborted(15, "Exception: PageFault" ) #1249

@jsturtevant

Description

@jsturtevant

What happened?

I am seeing some issues with mmap locally and just saw it in CI too:

https://github.com/hyperlight-dev/hyperlight/actions/runs/22244376418/job/64356078579?pr=1231

thread 'sandbox::initialized_multi_use::tests::test_mmap_write_exec' panicked at src/hyperlight_host/src/sandbox/initialized_multi_use.rs:1226:14:

called `Result::unwrap()` on an `Err` value: GuestAborted(15, "Exception: PageFault | Exception vector: 14\nFaulting 
Instruction: 0x100000000\nBytes At Faulting Instruction: [144, 144, 144, 195, 0, 0, 0, 0]\nPage Fault Address: 
0x100000000\nError code: 0x10\nStack Pointer: 0xffffffffffffed10")

Locally I saw on the mmap test:

cargo test --package hyperlight-host --lib -- sandbox::initialized_multi_use::tests::test_mmap --exact --nocapture 

   Compiling hyperlight-host v0.12.0 (/home/jstur/projects/hyperlight-project/hyperlight-810/src/hyperlight_host)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 8.15s
     Running unittests src/lib.rs (target/debug/deps/hyperlight_host-13e5c115e4913fb6)

running 1 test

thread 'sandbox::initialized_multi_use::tests::test_mmap' panicked at src/hyperlight_host/src/sandbox/initialized_multi_use.rs:1188:14:

called `Result::unwrap()` on an `Err` value: GuestAborted(15, "Exception: PageFault | Exception vector: 14\nFaulting
 Instruction: 0x6dfc0\nBytes At Faulting Instruction: [139, 8, 72, 139, 69, 216, 137, 8]\nPage Fault Address: 
0x100000000\nError code: 0x0\nStack Pointer: 0xffffffffffffed10")
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/result.rs:1761:5
   3: core::result::Result<T,E>::unwrap
             at /home/jstur/.rustup/toolchains/1.89-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1167:23
   4: hyperlight_host::sandbox::initialized_multi_use::tests::test_mmap
             at ./src/sandbox/initialized_multi_use.rs:1188:14
   5: hyperlight_host::sandbox::initialized_multi_use::tests::test_mmap::{{closure}}
             at ./src/sandbox/initialized_multi_use.rs:1160:19
   6: core::ops::function::FnOnce::call_once
             at /home/jstur/.rustup/toolchains/1.89-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
   7: core::ops::function::FnOnce::call_once
             at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
test sandbox::initialized_multi_use::tests::test_mmap ... FAILED

What did you expect to happen?

tests to pass

Steps to reproduce the behavior

checkout main and run cargo test --package hyperlight-host --lib -- sandbox::initialized_multi_use::tests::test_mmap --exact --nocapture

I don't know why it passes in CI most of the time

Hyperlight Version

main branch

OS version

Details
On Linux local:
$ cat /etc/os-release
cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

in ci: build-test (mshv3, intel, release) 


$ uname -a
Linux james-2025 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun  5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

On Windows:
C:\> cmd /c ver
# paste output here

Additional Information

No response

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