-
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
track_caller on panic_no_unwind leads to LLVM crash #94337
Comments
The relevant change is here. This function used to take a caller location but this was removed to reduce code size bloat. |
I guess it seems ok for an internal function and a lang item, but I'm surprised that we don't have some proper error being emitted if the function is somehow being manually called -- that seems generally hazardous. (Should it have some special ABI declared at the Rust syntax level?) I also note that the function still calls Location::caller: which seems useless or at least confusing without track_caller, right?
|
The
That's the only way to construct a |
Oops. I think I started working on #92911 before panic_no_unwind lands on beta and I forget to add cfg bootstrap after it's promoted into beta. |
Even if it's not used directly, we should probably be adding a comment to the function about that, right? It seems like such a function should be documented as being compiler-only. Anyway, seems OK -- I can adjust my FIXME comment to include this information. |
#94290 is expecting to land having introduced
#[cfg_attr(bootstrap, track_caller)]
on panic_no_unwind in library/core/src/panicking.rs.We saw these errors in stage 1 std compilation in CI (with track_caller and without it):
Locally, I'm not able to reproduce these (perhaps need to enable LLVM asserts or something), but I do see the following in stage 1 std compilation when building with track_caller.
cc @Amanieu @nbdd0121 -- seems plausible that something in #92911 is causing this
The text was updated successfully, but these errors were encountered: