koute / polkavm

A fast and secure RISC-V based virtual machine
Apache License 2.0
234 stars 47 forks source link

Child Process crashes during initialization #89

Closed xermicus closed 7 months ago

xermicus commented 7 months ago

For some guests, the Child Process crashes during initialization (PolkaVM version latest git commit).

See attached a sample guest that triggers this (not a ZIP, just renamed to .zip so it allows me to attach). C.zip

The basic_execution test output:

[TRACE polkavm_assembler::assembler] 00000000: mov r15d, 0x0
[TRACE polkavm_assembler::assembler] 00000006: mov eax, [r15+0x10000]
[TRACE polkavm_assembler::assembler] 0000000d: mov [r15+0x30000], al
[TRACE polkavm_assembler::assembler] 00000014: mov [r15+0x30004], ax
[TRACE polkavm_assembler::assembler] 0000001c: mov rcx, 0x3ffffcc80
[TRACE polkavm_assembler::assembler] 00000026: jmp rcx
[TRACE polkavm_zygote] Child #111102: initializing...
thread 'sandbox::tests::linux::basic_execution_works' panicked at 'called `Result::unwrap()` on an `Err` value: Error { message: "failed to initialize sandbox process: child process unexpectedly quit", errno: 0 }', crates/polkavm/src/sandbox.rs:551:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Host OS: Linux luna 6.7.0-arch3-1 #1 SMP PREEMPT_DYNAMIC Sat, 13 Jan 2024 14:37:14 +0000 x86_64 GNU/Linux