-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
[LLVM] Segmentation fault on MacOS with > 1 codegen units and optimization > 0 #60925
Comments
This is very likely to effectively be a duplicate of #53912, but would be good to confirm (and hopefully fix!). |
heh. Can/should we special case (are issues like this perhaps an argument for a non-bijective mangling system, to reduce the chance of painting ourselves into corners here? we really can't plan ahead for all possible lack-of-expressiveness bugs on LLVM's part, though) cc rust-lang/rfcs#2603 and #60705 |
triage: P-high to resolve our short-term response. Leaving I-nominated in hopes that we discuss at triage today. |
discussed at T-compiler meeting. Got rough approval from @michaelwoerister to put in a lint or something to detect offensive symbols as a short-term hack. The right long-term solution will come with the implementation of rust-lang/rfcs#2603 (see e.g. PR #57967 ) |
@rustbot claim Assigning to self to implement lint. |
I'm not sure we should throw a lint at this. |
Special-case `.llvm` in mangler Fixes rust-lang#60925 and fixes rust-lang#53912. r? @michaelwoerister cc @eddyb
I'm seeing a segmentation fault in the Weld project during compilation when compiling with
cargo build --release
. This is only happening on MacOS (tested on High Sierra and Mojave); it works fine on Ubuntu 16.04. This issue also does not occur without--release
.I haven't been able to make a smaller example for this, but it seems to have started after we renamed the
llvm2
submodule tollvm
(weld-project/weld#440).After some investigation, we found that any one of the following changes fix the segmentation fault, but are non-ideal:
opt-level = 0
toprofile.release
in the Cargo manifest.codegen-units = 1
toprofile.release
in the Cargo manifest.weld::codegen::llvm
to something else (e.g.,weld::codegen::llvm2
): this is what seems to have introduced the issue.This is almost certainly related to #53912, but the code example in that issue seems fixed: I'll update this issue with a minimal example when I can come up with one.
The faulting command is:
And LLDB gives the following information:
The text was updated successfully, but these errors were encountered: