hey there. I've run into SIGILLs when using wasmtime (through wasmtime-go) on linux/arm64. I was wondering if this would be a possible symptom of https://github.com/bytecodealliance/wasmtime/issues/3183 and if using llvm instead of gcc would be a workaround. am I on the wrong track?
@Stephan Renatus are you seeing a SIGILL kill the process, or are you catching one while debugging? If the latter, we use SIGILL to catch traps (we generate an undefined instruction in the JIT code then unwind from our signal handler) so it's harmless; but if a SIGILL is escaping then that's definitely a bug
that one was related to a test case where a wasm execution should hit a trap. it probably does, but not in the way that's expected (the tests succeed on amd64)
Hm I think it might be good to open an issue for this, I'm not aware of any issues arm64-specific about uncaught signals in wasmtime or wasmtime-go (and the tests all pass locally for me on arm64)
here's something that happens on my machine 3/4 of the times, but I have to admit I'm not completely sure if this is the right way to emulate linux/arm64 on a macos/amd64 machine at all: https://gist.github.com/srenatus/fa1e3e1b55c6d505d3aa9c38bbdbc818
that doesn't replace a proper bug report; I'll open an issue when I get this cornered a little better.
hm yeah sorry I don't recognize much of what's going on there
other than that this is likely a signal from wasmtime that we're raising due to a normal trap and it's not being correctly caught by wasmtime for some reason
https://github.com/bytecodealliance/wasmtime-go/issues/119
Last updated: Dec 23 2024 at 13:07 UTC