-
Notifications
You must be signed in to change notification settings - Fork 824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SIGABRT: abort crashes starting with Alpine 3.19 #4488
Comments
## Description Closes: #XXXX This PR drops alpine of building environment to 3.18 to avoid from the issues with wasmer. References: CosmWasm/wasmvm#523 wasmerio/wasmer#4488 <!-- Add a description of the changes that this PR introduces and the files that are the most critical to review. --> --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/desmos-labs/desmos/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://docs.cosmos.network/v0.44/building-modules/intro.html) - [ ] included the necessary unit and integration [tests](https://github.com/desmos-labs/desmos/blob/master/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated the base image for the Desmos Builder to `golang:1.20-alpine3.18` for improved stability and performance. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Hello! I was able to reproduce the issue pointed out in bytecodealliance/wasmtime#7997, but unfortunately I was not able to reproduce this one. I tried to recreate the state outlined in fn test() -> anyhow::Result<()> {
for i in 0.. {
println!("{i}");
let mut config = wasmer::Cranelift::new();
config.canonicalize_nans(true);
wasmer::CompilerConfig::push_middleware(
&mut config,
std::sync::Arc::new(wasmer_middlewares::Metering::new(0, |_| 0)),
);
let engine = wasmer::Engine::from(config);
let module = wasmer::Module::new(&engine, include_bytes!("test.wasm"))?;
drop(engine);
drop(module);
}
Ok(())
}
fn main() -> anyhow::Result<()> {
test()?;
Ok(())
} The FROM rust:1.75-alpine3.19
RUN apk add musl-dev gcc
COPY drop /root/drop
ENV RUSTFLAGS='-Ctarget-feature=-crt-static'
WORKDIR /root/drop
RUN cargo build --verbose
FROM rust:1.75-alpine3.19
COPY --from=0 /root/drop/target/debug/drop /bin/drop
CMD ["/bin/drop"] After various unsuccessful iterations of the test on both aarch64 and x86_64, I simply ported the patch from Edit: selecting |
At the end were able to reproduce the issue (with a loop running and compiling modules many times), and then test that with the fix the issue no longer occurs. So this should be resolved |
Hey there!
We got multiple reports from users that bring up "SIGABRT: abort" crashes in systems using Alpine 3.19. If Alpine 3.17 or 3.18 is used, everything is fine. I cannot easily reproduce it yet but would like to provide as much info as I have at this point to avoid extra work.
Describe the bug
We are seeing crashes in this stack when Alpine 3.19 is used
where
save_wasm_unchecked
just takes a Wasm code, compiles it and stores it to disk (no instance or execution).The affected systems show that the build system Alpine 3.19 makes the difference here:
Looking at the stack trace you see that libgcc is used on the Alpine system which is not what
unsafe fn register_frames(
seems to expect.It turns our that the exact same problem is discussed and fixed in Wasmtime: bytecodealliance/wasmtime#7997
Steps to reproduce
Unfortunately I don't have a minimal reproducer yet
Expected behavior
No crashes
Actual behavior
Crashes as above
Additional context
Wasmer 4.2.2 and 4.2.6 behave the same way
The text was updated successfully, but these errors were encountered: