-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Occasional SIGSEV when compiling for aarch64-unknown-linux-gnu
#120511
Comments
Oh, there's no way that's the case. This segfault is coming from Miri, so that shouldn't even be calling into LLVM. |
I think it's more likely this is a segfault because we don't have stack probes on aarch64 yet. Those should land in nightly any day now. |
Where do you get that from? I can't see miri mentioned anywhere? |
This issue was linked to from https://github.com/MaterializeInc/database-issues/issues/7406 (the auto-backlink is above my first comment) and in there the issue reporter linked the CI logs with a crash. Here I'm including the relevant line number in the link: https://buildkite.com/materialize/tests/builds/74326#018d5a18-6082-43ce-88a2-d7a70b919a87/233-2325 |
FWIW, Miri does still include the full LLVM codegen backend, and |
We've seen failures both when testing with Miri and when building normally, so I don't think it's Miri specific. But from the failures I've looked at it does always seem to be when we're compiling crates that export proc macros, e.g. If there is anything I can do to help debug this please let me know! |
The fact that this is "occasional" is really troubling. If you restart a build, does the re-run crash? If so, I think it would be best to wait for the LLVM upstream patch for #120813 to land in Rust. |
Generally if we restart the build it will succeed. I also should have mentioned this earlier but we have incremental compilation disabled (we've hit other ICEs when it's on), and We're planning to upgrade the version of rustc that we use to 1.76 in the next few days, I'll keep y'all updated if there are any changes. |
Another one outside of miri:
I didn't manage to get symbols in gdb unfortunately. If anyone can tell me what to do, I can try. |
I figured out how to get a backtrace, had to grab the exact same version from static.rust-lang.org, since the one rustup installed was slightly different:
Is there anything more I should provide from the core file? |
This might actually be the same issue as #118462, which fits with this happening in 1.74.0 for us, so upgrading Rust should fix it. |
Based on the stack traces, this does looks like #118462 to me. |
We just upgraded to v1.74.1 which we think should solve the issue. Will give it a day or so to get signal and then close out this issue |
Upgrading to v1.74.1 (and since then v1.76) has worked! Closing this issue |
When compiling some binary targets within https://github.com/MaterializeInc/materialize for
aarch64-unknown-linux-gnu
we will occasionally get aSIGSEV
from rustc.I expected to see this happen: Successful Build
Instead, this happened:
error: rustc interrupted by SIGSEGV, printing backtrace
Command
cargo build --target aarch64-unknown-linux-gnu --bin clusterd
We're running this on one of AWS's
m7g.12xlarge
instances.RUSTFLAGS
RUSTFLAGS=--cfg=tokio_unstable -Clink-arg=-Wl,--compress-debug-sections=zlib -Csymbol-mangling-version=v0 -Ctarget-cpu=neoverse-n1 -Ctarget-feature=+aes,+sha2 --cfg=tokio_unstable -Clink-arg=-fuse-ld=lld -L/opt/x-tools/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot/lib
Meta
rustc --version --verbose
:Backtrace
The text was updated successfully, but these errors were encountered: