-
Notifications
You must be signed in to change notification settings - Fork 13.3k
LLVM assertion failure building Servo #16483
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
Comments
Unfortunately LLVM doesn't handle debuginfo+optimization very well at the moment. This is the same problem as in #15156. |
@brson @alexcrichton This is currently blocking a Servo Rust upgrade; could we get it assigned to someone to investigate? Or is this something we should work around (e.g., should we be omitting -g when compiling optimized Servo)? |
I'd probably recommend disabling debuginfo for the relevant crate for now, @michaelwoerister, you wouldn't happen to have any updates on this would you? |
We could try updating LLVM to a version after August 12. That's when the last change in a relevant area happened, as far as I can tell. |
I've attempted to update LLVM, but I'm seeing a mysterious segfault...
There've been some big changes in LLVM it looks like, but I'm currently unable to track down where this segfault is happening. My current progress is at alexcrichton@cc9f0b4 |
LLVM is being updated as part of #16927 |
Since the LLVM update didn't solve the problem, I decided to take some time off vacation and debug into it, because it's annoying 🙅 Here are the fruits of my labors: LLVM's function inlining pass will sometimes corrupt debuginfo source locations if the call instruction that is replaced by the inlined function is not associated with a source location. This is often the case for calls to drop glue but can also occur in other situations. I've submitted a bug report to LLVM: http://llvm.org/bugs/show_bug.cgi?id=20907 Until this is fixed in LLVM I see two options to deal with this:
|
With 716db00 I made it past compiling rust-corefoundation. |
@zwarich This should be reopened because the testing was done via cargo, which changed the default to non-opt instead of opt build, right? |
When building Servo
e8d89ca46
with Rust c1eaafe on OS X I get the following error:The text was updated successfully, but these errors were encountered: