Destructor17 opened issue #14496:
Test Case
Sorry for not attaching .wasm, but it's efficiently just a WASIp3 component working with files.
Steps to Reproduce
- Build a
WasiCtxwith a preopened directory- Run a WASIp3 component that calls
stat-atand/oropen-atunder thatWasiCtxExpected Results
stat-atandopen-atimports should work normally, ...Actual Results
...but a crash occurs. Logcat says something like
Fatal signal 31 (SIGSYS), code 1 (SYS_SECCOMP) (rustix::backend::fs::syscalls::openat2::openat2::hc1f3ac4ec71728ad+116) (rustix::backend::fs::syscalls::openat2::h5222c9c58f8fcf06+208) (rustix::fs::openat2::openat2::_$u7b$$u7b$closure$u7d$$u7d$::h83c78ed66dc0812b+76) (_$LT$$RF$core..ffi..c_str..CStr$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::h4db8c88098b30335+68) (rustix::fs::openat2::openat2::hfb603d5b70894bb0+88) (wasmtime_wasi::filesystem::primitives::unix::linux::open_beneath::_$u7b$$u7b$closure$u7d$$u7d$::h5e16d76408a22a9a+156) (rustix::path::arg::with_c_str::h841ab7fbe2e1bcc2+480) (_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::h9d4a420ef77ceb1e+48) (_$LT$$RF$std..ffi..os_str..OsStr$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::hec859fd86b77e30a+56) (_$LT$$RF$std..path..Path$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::h8ea8ca228b36edcd+56) (wasmtime_wasi::filesystem::primitives::unix::linux::open_beneath::h846ec95dba65d4fc+356) (wasmtime_wasi::filesystem::primitives::unix::linux::stat_fast::h8d1b89fa051f7368+148) (wasmtime_wasi::filesystem::primitives::stat::h591c4288cf4c570a+120) (wasmtime_wasi::filesystem::unix::stat_at::he57e8f946104f5f2+52) (wasmtime_wasi::filesystem::Dir::stat_at::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7a9f96a1378b6b63+68) ...and the same for
open-atcase, down towasmtime_wasi::filesystem::primitives::unix::linux::open_beneathVersions and Environment
Wasmtime version or commit: https://github.com/bytecodealliance/wasmtime/commit/11eac9de8693e1a69f86815d1a58918edd5c1785, a recent version
Operating system: Android 13
Architecture: arm64-v8a
Extra Info
Fixed it locally by simply skipping calls to
stat_fastandopen_faston Android, since they both have fallback implementations.My other, less successful attempts to fix:
- updated
rustixto1.1.5, but it gives the same result- added
RUSTFLAGS="--cfg=rustix_no_linux_raw --cfg=rustix_use_libc", but it causesunresolved import rustix::fs::openat2errorThis old PR mentions the same symptoms
Destructor17 added the bug label to Issue #14496.
Destructor17 edited issue #14496:
Test Case
Sorry for not attaching .wasm, but it's efficiently just a WASIp3 component working with files.
Steps to Reproduce
- Build a
WasiCtxwith a preopened directory- Run a WASIp3 component that calls
stat-atand/oropen-atunder thatWasiCtxon AndroidExpected Results
stat-atandopen-atimports should work normally, ...Actual Results
...but a crash occurs. Logcat says something like
Fatal signal 31 (SIGSYS), code 1 (SYS_SECCOMP) (rustix::backend::fs::syscalls::openat2::openat2::hc1f3ac4ec71728ad+116) (rustix::backend::fs::syscalls::openat2::h5222c9c58f8fcf06+208) (rustix::fs::openat2::openat2::_$u7b$$u7b$closure$u7d$$u7d$::h83c78ed66dc0812b+76) (_$LT$$RF$core..ffi..c_str..CStr$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::h4db8c88098b30335+68) (rustix::fs::openat2::openat2::hfb603d5b70894bb0+88) (wasmtime_wasi::filesystem::primitives::unix::linux::open_beneath::_$u7b$$u7b$closure$u7d$$u7d$::h5e16d76408a22a9a+156) (rustix::path::arg::with_c_str::h841ab7fbe2e1bcc2+480) (_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::h9d4a420ef77ceb1e+48) (_$LT$$RF$std..ffi..os_str..OsStr$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::hec859fd86b77e30a+56) (_$LT$$RF$std..path..Path$u20$as$u20$rustix..path..arg..Arg$GT$::into_with_c_str::h8ea8ca228b36edcd+56) (wasmtime_wasi::filesystem::primitives::unix::linux::open_beneath::h846ec95dba65d4fc+356) (wasmtime_wasi::filesystem::primitives::unix::linux::stat_fast::h8d1b89fa051f7368+148) (wasmtime_wasi::filesystem::primitives::stat::h591c4288cf4c570a+120) (wasmtime_wasi::filesystem::unix::stat_at::he57e8f946104f5f2+52) (wasmtime_wasi::filesystem::Dir::stat_at::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7a9f96a1378b6b63+68) ...and the same for
open-atcase, down towasmtime_wasi::filesystem::primitives::unix::linux::open_beneathVersions and Environment
Wasmtime version or commit: https://github.com/bytecodealliance/wasmtime/commit/11eac9de8693e1a69f86815d1a58918edd5c1785, a recent version
Operating system: Android 13
Architecture: arm64-v8a
Extra Info
Fixed it locally by simply skipping calls to
stat_fastandopen_faston Android, since they both have fallback implementations.My other, less successful attempts to fix:
- updated
rustixto1.1.5, but it gives the same result- added
RUSTFLAGS="--cfg=rustix_no_linux_raw --cfg=rustix_use_libc", but it causesunresolved import rustix::fs::openat2errorThis old PR mentions the same symptoms
alexcrichton commented on issue #14496:
This is likely from recent refactorings if it's not present on historical versions of Wasmtime. Android isn't a tested platform in CI so assistance with testing/debugging/fixing issues like this is much appreciated
Last updated: Oct 11 2026 at 04:10 UTC