-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
arm64: Segfault when enabling use_egraphs=true
#5126
Comments
Oh actually reading over the code for more than half a second I realize that this is expected to be an out-of-bounds segfault, so the actual issue here may be that the metadata for "this instruction is allowed to trap" may be getting accidentally lost during the egraphs translation |
Perhaps related, but https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52721 is an issue on x86_64 which also may be related to egraphs since the fuzz configuration there has egraphs enabled. The problem in the fuzz bug is that it's failing to execute this function where it should be successful but a trap is showing up. The fuzz test case is using a |
Thanks! I have a meta-thought here actually: we've had some discussions in the last few days about a way to restructure the egraph storage to be more directly integrated into the |
As per [this comment], with a few recent discussions it's become clear that we want to refactor egraphs in a way that will subsume, or make irrelevant, some of the recent fuzzbugs that have arisen (and likely lead to others, which we'll want to fix!). Rather than chase these down then refactor later, it probably makes sense not to spend the human time or fuzzing time doing so. This PR turns off egraphs support in fuzzing configurations for now, to be re-enabled later. [this comment]: bytecodealliance#5126 (comment)
* Cranelift: disable egraphs in fuzzing for now. As per [this comment], with a few recent discussions it's become clear that we want to refactor egraphs in a way that will subsume, or make irrelevant, some of the recent fuzzbugs that have arisen (and likely lead to others, which we'll want to fix!). Rather than chase these down then refactor later, it probably makes sense not to spend the human time or fuzzing time doing so. This PR turns off egraphs support in fuzzing configurations for now, to be re-enabled later. [this comment]: #5126 (comment) * Disable in cranelift-fuzzgen as well.
Handled by #5128 for now |
Given this input wasm module:
I get these results on a local arm64 marchine:
vs
The faulting instruction appears to be:
so I think this may be an alignment issue? I'm not 100% familiar with vector instructions on arm myself.
cc @cfallin
The text was updated successfully, but these errors were encountered: