Fix ASAN in combination with throw intrinsic#10974
Merged
cfallin merged 2 commits intobytecodealliance:mainfrom Jun 7, 2025
Merged
Fix ASAN in combination with throw intrinsic#10974cfallin merged 2 commits intobytecodealliance:mainfrom
cfallin merged 2 commits intobytecodealliance:mainfrom
Conversation
Prior to this commit locally I would see a nondeterministic crash when
executing:
RUSTFLAGS=-Zsanitizer=address \
cargo +nightly run --release test filetests
The crash has a scary-looking internal assertion within the ASAN runtime
itself and local debugging seems to show that threads are required to
reproduce this and it's nondeterministic. I don't know why CI is
currently passing on all PRs when this is failing so frequently for
myself locally.
In any case it seems like there's a magical ASAN intrinsic to call
before `noreturn` things which I think is intended for thread-stopping
events which isn't a great fit for exceptions here but it seems to
resolve the crash.
Basically I have no idea why things crash locally, what this new
function does, nor why it fixes things. I am but a slave to the CI gods
in an attempt to make it so our CI is more reliable.
alexcrichton
added a commit
to alexcrichton/wasmtime
that referenced
this pull request
Jun 9, 2025
This was split out of bytecodealliance#10960 after some CI issues. The simplification of s390x is split to bytecodealliance#10973 to show its failure but otherwise these changes aren't expected to cause any issues (yet). Part of enabling this was in bytecodealliance#10974 where ASAN showed some issues as well. prtest:full
bongjunj
pushed a commit
to prosyslab/wasmtime
that referenced
this pull request
Oct 20, 2025
* Fix ASAN in combination with throw intrinsic
Prior to this commit locally I would see a nondeterministic crash when
executing:
RUSTFLAGS=-Zsanitizer=address \
cargo +nightly run --release test filetests
The crash has a scary-looking internal assertion within the ASAN runtime
itself and local debugging seems to show that threads are required to
reproduce this and it's nondeterministic. I don't know why CI is
currently passing on all PRs when this is failing so frequently for
myself locally.
In any case it seems like there's a magical ASAN intrinsic to call
before `noreturn` things which I think is intended for thread-stopping
events which isn't a great fit for exceptions here but it seems to
resolve the crash.
Basically I have no idea why things crash locally, what this new
function does, nor why it fixes things. I am but a slave to the CI gods
in an attempt to make it so our CI is more reliable.
* Fix compile warning
bongjunj
pushed a commit
to prosyslab/wasmtime
that referenced
this pull request
Oct 20, 2025
This was split out of bytecodealliance#10960 after some CI issues. The simplification of s390x is split to bytecodealliance#10973 to show its failure but otherwise these changes aren't expected to cause any issues (yet). Part of enabling this was in bytecodealliance#10974 where ASAN showed some issues as well. prtest:full
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prior to this commit locally I would see a nondeterministic crash when executing:
The crash has a scary-looking internal assertion within the ASAN runtime itself and local debugging seems to show that threads are required to reproduce this and it's nondeterministic. I don't know why CI is currently passing on all PRs when this is failing so frequently for myself locally.
In any case it seems like there's a magical ASAN intrinsic to call before
noreturnthings which I think is intended for thread-stopping events which isn't a great fit for exceptions here but it seems to resolve the crash.Basically I have no idea why things crash locally, what this new function does, nor why it fixes things. I am but a slave to the CI gods in an attempt to make it so our CI is more reliable.