Mr-Leshiy added the bug label to Issue #7997.
Mr-Leshiy opened issue #7997:
We have faced a
SIGABORTfailure during executing simple benchmark which you can find here https://github.com/input-output-hk/hermes/blob/f4d20fc06f0b558be4805a106db32480bcef649d/hermes/bin/src/wasm/module.rs#L118.
According to the stack traceSteps to Reproduce
You can fully reproduce it in already prepared environment and code but cloning our repo and specifically this branch
libgcc-wasmtime-unwinding-bug. (repo: https://github.com/input-output-hk/hermes)Before start you will need to install earthly tool.
To run it you will need to execute the following in the root of the repoearthly -I ./hermes+alpine-3-19-failThis will prepare an
alpine:3.19environment withrust:1.75version and all our project configuration that we have an all source code and run a benchmarks.
Earthfile code https://github.com/input-output-hk/hermes/blob/libgcc-wasmtime-unwinding-bug/hermes/Earthfile#L18alpine-3-19-fail: FROM rust:1.75-alpine3.19 # Install necessary packages RUN apk add --no-cache \ musl-dev \ gdb COPY --dir .cargo .config crates bin . COPY Cargo.toml . COPY clippy.toml deny.toml rustfmt.toml . RUN mkdir /wasm COPY --dir ../wasm+wasi-src/wasi /wasm/wasi # Compiled WASM component for benchmarks COPY ../wasm/c+build/component.wasm /wasm/c/bench_component.wasm # Run benchmarks RUN cargo bench --features benchAfter the failure it will run an interacting mode
-iflag (similar to docker interactive mode).
So you will be able to collect a dump file inside this container.ulimit -c unlimited && ./target/release/deps/module-<> --benchThen inspect it and using
gdbgdb ./target/release/deps/module-<> core -- --benchActual Results
SIGABORT
Versions and Environment
Wasmtime version or commit: 17.0.0
Operating system: alpine:3.19
Extra Info
This is totally works on
alpine:3.18version with thelibgcc:12version.
We have found that most probable it is an issue withlibgccbecause, there is a huge difference with the libgcc unwinding implementation between these two versions.libgcc_12 - https://github.com/gcc-mirror/gcc/blob/8cbb2cade4c724760c868c9f493b169d6ec4168a/libgcc/unwind-dw2-fde.c#L201
libgcc_13 - https://github.com/gcc-mirror/gcc/blob/0e7bc3eaa36b81004b799124d2fe00137401a43b/libgcc/unwind-dw2-fde.c#L225
You can try it running already prepared earthly target https://github.com/input-output-hk/hermes/blob/libgcc-wasmtime-unwinding-bug/hermes/Earthfile#L38
earthly ./hermes+alpine-3-18-pass
Last updated: Dec 13 2025 at 19:03 UTC