-
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
rustc segmentation fault #80725
Comments
Backtrace
Possibly not a rustc bug - the segfault comes from autocxx's proc macros trying to load LLVM (through clang). Nevertheless, this works on 1.48 and crashes on 1.49. Maybe rustc's LLVM and clang's LLVM are clashing when loaded in the same process? @rustbot label I-crash A-llvm regression-from-stable-to-stable |
@rustbot ping llvm |
Hey LLVM ICE-breakers! This bug has been identified as a good cc @camelid @comex @cuviper @DutchGhost @hdhoang @heyrutvik @higuoxing @JOE1994 @jryans @mmilenko @nagisa @nikic @Noah-Kennedy @SiavoshZarrasvand @spastorino @vertexclique |
Very plausible given that it crashes during the early initialization of the Thanks for obtaining the backtrace @SNCPlay42! |
That sounds a lot like #76980. The problems there are more general libstdc++ conflicts with C++ proc-macros, but I could certainly see multiple LLVMs raising this problem to a larger extent. I doubt that's something we could support. |
Thanks for all the comments and diagnosis here everyone. Over in autocxx, I already concluded that loading llvm in a procedural macro was excessively Bold, and google/autocxx#51 is a plan eventually to fix that. Sounds like I might need to accelerate it :) |
It has been a long-standing goal to run procedural macros in a separate process as well as about giving more meaningful error messages when procedural macros fail. That would also fix this as a side effect. I'm sure both ideas have their own issues somewhere as well if you're interested in keeping eye out of how these pan out. |
TLDR: rustc segfaults if you compile autocxx:
The text was updated successfully, but these errors were encountered: