Open jounathaen opened 2 years ago
Running rusty-demo with more than that works fine for me:
qemu-system-x86_64 \
-cpu host -enable-kvm \
-smp 1 -m 8G \
-device isa-debug-exit,iobase=0xf4,iosize=0x04 \
-display none -serial stdio \
-kernel loader/target/x86_64/debug/rusty-loader \
-initrd target/x86_64-unknown-hermit/release/rusty_demo
This might be triggered by some specific allocation behavior of your app.
Sure, because the rusty-demo doesn't allocate any memory. If you change it to e.g.:
#[cfg(target_os = "hermit")]
use hermit_sys as _;
fn main() {
println!("Hello World!");
let mut v = vec!(1, 2);
println!("{v:?}");
v.push(3);
println!("{v:?}");
}
it fails
I still can't reproduce... :thinking:
For me, it works with 8G
. Are you on latest master?
While I did not find the root cause, I found a workaround:
The issue does not happen, if no network device is created or the host CPU model is used.
To properly solve this issue, it might be interesting to find what the triggering difference in CPU features between -cpu host
and -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr
is.
The issue can be worked around with activating 1GB pages with pdpe1gb
.
I call my application with
which fails with
Works when using 3.49G or less.