-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
[beta] backports #136017
[beta] backports #136017
Conversation
Creating a "trimmed DefID path" when no error is being emitted is an ICE (on purpose). If we create a trimmed path for a lint that is then silenced before being emitted causes a known ICE. This side-steps the issue by always using `with_no_trimmed_path!`. This was verified to fix https://github.com/quinn-rs/quinn/, but couldn't write a repro case for the test suite. Fix rust-lang#135289. (cherry picked from commit 93a1950)
(cherry picked from commit 7d80617)
There is a chance that these tools are being installed from an external LLVM and we have no control over them. If any of these tools use symlinks, they will fail during tarball distribution. This change makes copying process to resolve symlinks just before placing them into the destination path. Signed-off-by: onur-ozkan <[email protected]> (cherry picked from commit cde58dd)
(cherry picked from commit ebbcfd4)
(cherry picked from commit 94bf8f0)
…tions with dummy spans instead of dropping them entirely Revert most of rust-lang#133194 (except the test and the comment fixes). Then refix not emitting locations at all when the correct location discriminator value exceeds LLVM's capacity. (cherry picked from commit 45ef927)
@bors r+ rollup=never p=1 (small priority bump because the current queue is long, and I want this to land before I add many of the same PRs to stable backports early next week) |
[beta] backports - Always force non-trimming of path in `unreachable_patterns` lint rust-lang#135310 - Add Profile Override for Non-Git Sources rust-lang#135433 - resolve symlinks of LLVM tool binaries before copying them rust-lang#135585 - add cache to `AmbiguityCausesVisitor` rust-lang#135618 - When LLVM's location discriminator value limit is exceeded, emit locations with dummy spans instead of dropping them entirely rust-lang#135643 - Temporarily bring back `Rvalue::Len` rust-lang#135709 - make it possible to use ci-rustc on tarball sources rust-lang#135722 - Remove test panic from File::open rust-lang#135837 - Only assert the `Parser` size on specific arches rust-lang#135855 r? cuviper
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
Can you add #135843 to this? |
Added! And I'm hoping that failure was a fluke... @bors r+ |
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
The error seems to start with 016422a. |
Here's a relatively small config.toml which reproduces it: build.build-stage = 2
build.test-stage = 2
llvm.download-ci-llvm = "if-unchanged"
rust.codegen-backends = ["llvm"]
rust.download-rustc = "if-unchanged"
rust.jemalloc = true
rust.verbose-tests = true stage = 2 seems to be important. |
cc @lqd do u know if we had any ensure stack or something? |
I haven’t seen it but I do not know for sure yet, I’ll try to find more PRs that may have changed these areas after the initial cleanups. Quite strange. |
Only on macOS and/or aarch64 though? At least, that config still works for me on Fedora 41 x86_64. |
That config does reproduce the issue for me on |
The fact this only appears at stage 2 sounds bad. The parent commit of #133734 expectedly doesn't trigger the issue either. I've looked for other PRs that may be related and missing from backports, there was one related to As I said, I can reproduce the stack overflow, so if anyone has ideas on how to identify what's going on on beta and doesn't on nightly, via complex git bisections or else, I can test them out. Other than that I'm not sure how to make tangible progress. I'll also cc @scottmcm just in case he's seen something like this related to the original work, however unlikely. |
Hmm, no idea why the revert would be showing something odd here :/ But if it's potentially mir-related, maybe try forcing on mir validation at every step? |
Reproduces:
Does not reproduce:
|
Previously, bootstrap was using `Config::last_modified_commit` unconditionally to figure the commit has to download precompiled rustc artifact from CI, which was leading builds to fail on tarball sources as `Config::last_modified_commit` requires `git` to be present in the project source. This change makes bootstrap to call `Config::last_modified_commit` only when it's running on git-managed source and read `git-commit-hash` file otherwise. Signed-off-by: onur-ozkan <[email protected]> (cherry picked from commit 903cddb)
(cherry picked from commit fed5f98)
The size of this struct depends on the alignment of `u128`, for example powerpc64le and s390x have align-8 and end up with only 280 bytes. Our 64-bit tier-1 arches are the same though, so let's just assert on those. (cherry picked from commit aef640a)
- Improve the discussion of `unsafe` blocks within `unsafe` functions. - Fix formatting in Appendix A
I'm dropping the #135709 backport for now, but I saved that state of the branch in https://github.com/cuviper/rust/tree/beta-failed-135709, so those exact commits aren't lost. @bors r+ |
☀️ Test successful - checks-actions |
unreachable_patterns
lint Always force non-trimming of path inunreachable_patterns
lint #135310AmbiguityCausesVisitor
add cache toAmbiguityCausesVisitor
#135618Parser
size on specific arches Only assert theParser
size on specific arches #135855r? cuviper