Skip to content
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

Rollup of 6 pull requests #139037

Merged
merged 16 commits into from
Mar 28, 2025
Merged

Rollup of 6 pull requests #139037

merged 16 commits into from
Mar 28, 2025

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Mar 28, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Jeff-A-Martin and others added 16 commits March 19, 2025 12:55
The channel-stack-overflow-issue-102246 regression test fails on
platforms with a small default stack size (e.g. Fuchsia, with a default
of 256KiB). Update the test to specify an exact stack size for both the
sender and receiver operations, to ensure it is platform agnostic.

Set the stack size to less than the total allocation size of the mpsc
channel, to continue to prove that the allocation is on the heap.
I've intentionally used slightly vague language ("roughly"), as we don't
want to guarantee the exact invocation of `xcrun`, just hint that it's
close to that.
It can be a fairly expensive operation when the output is not cached, so
it's nice to get some visibility into the runtime cost.
Also allow the SDK path to be non-UTF-8.
We haven't had any Windows XP targets for a long while now...
…ow-test-fuchsia, r=wesleywiser

Specify a concrete stack size in channel tests

The channel-stack-overflow-issue-102246 regression test fails on platforms with a small default stack size (e.g. Fuchsia, with a default of 256KiB). Update the test to specify an exact stack size for both the sender and receiver operations, to ensure it is platform agnostic.

Set the stack size to less than the total allocation size of the mpsc channel, to continue to prove that the allocation is on the heap.
…eywiser

Improve `xcrun` error handling

The compiler invokes `xcrun` on macOS when linking Apple targets, to find the Xcode SDK which contain all the necessary linker stubs. The error messages that `xcrun` outputs aren't always that great though, so this PR tries to improve that by providing extra context when an error occurs.

Fixes rust-lang#56829.
Fixes rust-lang#84534.
Part of rust-lang#129432.
See also the alternative rust-lang#131433.

Tested on:
- `x86_64-apple-darwin`, MacBook Pro running Mac OS X 10.12.6
    - With no tooling installed
    - With Xcode 9.2
    - With Xcode 9.2 Commandline Tools
- `aarch64-apple-darwin`, MacBook M2 Pro running macOS 14.7.4
    - With Xcode 13.4.1
    - With Xcode 16.2
    - Inside `nix-shell -p xcbuild` (nixpkgs' `xcrun` shim)
- `aarch64-apple-darwin`, VM running macOS 15.3.1
    - With no tooling installed
    - With Xcode 16.2 Commandline Tools

``@rustbot`` label O-apple
r? compiler
CC ``@BlackHoleFox`` ``@thomcc``
…Denton

std: get rid of pre-Vista fallback code

We haven't had any Windows XP targets for a long while now...

r? ChrisDenton
…, r=jieyouxu

Do not trim paths in MIR validator

From my inline comment:

```
// The type checker formats a bunch of strings with type names in it, but these strings
// are not always going to be encountered on the error path since the inliner also uses
// the validator, and there are certain kinds of inlining (even for valid code) that
// can cause validation errors (mostly around where clauses and rigid projections).
```

Fixes rust-lang#138979

r? `@jieyouxu`
…errors

Use `abs_diff` where applicable

Very small cleanup, dogfooding a [new clippy lint](rust-lang/rust-clippy#14482) I'm trying to add
saethlin goes on vacation

Someone should bug me in about 2 weeks if I don't remember to undo this
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself O-windows Operating system: Windows S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Mar 28, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Mar 28, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Mar 28, 2025

📌 Commit 6371892 has been approved by jhpratt

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 28, 2025
@bors
Copy link
Collaborator

bors commented Mar 28, 2025

⌛ Testing commit 6371892 with merge 0911bcd...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 28, 2025
Rollup of 6 pull requests

Successful merges:

 - rust-lang#138720 (Specify a concrete stack size in channel tests)
 - rust-lang#139010 (Improve `xcrun` error handling)
 - rust-lang#139021 (std: get rid of pre-Vista fallback code)
 - rust-lang#139025 (Do not trim paths in MIR validator)
 - rust-lang#139026 (Use `abs_diff` where applicable)
 - rust-lang#139030 (saethlin goes on vacation)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job armhf-gnu failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@bors
Copy link
Collaborator

bors commented Mar 28, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 28, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Mar 28, 2025

looks spurious

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 28, 2025
@bors
Copy link
Collaborator

bors commented Mar 28, 2025

⌛ Testing commit 6371892 with merge e77a8f4...

@bors
Copy link
Collaborator

bors commented Mar 28, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing e77a8f4 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 28, 2025
@bors bors merged commit e77a8f4 into rust-lang:master Mar 28, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 28, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#138720 Specify a concrete stack size in channel tests 39760081b507bccfd649f91b62c784b5bba83f3e (link)
#139010 Improve xcrun error handling afc48346429680ee49ecc1522f3706c0b9e59c9b (link)
#139021 std: get rid of pre-Vista fallback code 11d49f6ca32d3e13dff624ff2e3346e7e4fa3a0f (link)
#139025 Do not trim paths in MIR validator 96e9b74f00c6ad0fb515a26f7a512b77f830852e (link)
#139026 Use abs_diff where applicable b843097d46f9dfab22d5cf5f86634f65e4a197e6 (link)
#139030 saethlin goes on vacation 924cfc2f96388cbdcc82bb28ffbfa88e6cff1af2 (link)

previous master: 3f690c2257

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

Copy link

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 3f690c2 (parent) -> e77a8f4 (this PR)

Test differences

Show 149 test diffs

Stage 1

  • errors::verify_codegen_ssa_aix_strip_not_used_141: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_aix_strip_not_used_143: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_apple_deployment_target_invalid_76: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_apple_deployment_target_invalid_77: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_apple_deployment_target_too_low_78: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_apple_sdk_error_sdk_path_79: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_archive_build_failure_80: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_archive_build_failure_82: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_atomic_compare_exchange_91: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_compiler_builtins_cannot_call_139: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_compiler_builtins_cannot_call_141: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_dlltool_fail_import_library_135: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_dlltool_fail_import_library_137: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_error_calling_dlltool_137: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_error_calling_dlltool_139: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_error_creating_import_library_140: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_error_creating_remark_dir_138: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_error_writing_def_file_138: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_expected_used_symbol_82: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_expected_used_symbol_84: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_failed_to_get_layout_136: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_forbidden_target_feature_attr_133: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_forbidden_target_feature_attr_135: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_illegal_link_ordinal_format_131: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_illegal_link_ordinal_format_133: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_link_ordinal_nargs_130: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_link_ordinal_nargs_132: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_basic_float_type_92: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_basic_float_type_94: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_basic_integer_type_91: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_basic_integer_type_93: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_cannot_return_120: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_cast_wide_pointer_123: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_cast_wide_pointer_125: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_expected_element_type_121: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_expected_return_type_116: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_expected_usize_125: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_expected_usize_127: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_expected_vector_element_type_128: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_expected_vector_element_type_130: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_float_to_int_unchecked_95: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_floating_point_type_95: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_floating_point_type_97: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_floating_point_vector_94: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_floating_point_vector_96: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_inserted_type_112: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_inserted_type_114: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_mask_type_116: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_mask_type_118: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_mismatched_lengths_115: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_mismatched_lengths_117: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_element_110: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_integer_type_107: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_integer_type_109: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_length_109: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_length_input_type_106: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_type_113: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_type_115: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_first_101: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_first_99: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_index_out_of_bounds_111: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_input_100: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_input_98: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_shuffle_108: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_shuffle_110: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_simd_third_103: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_third_arg_element_type_120: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_third_argument_length_108: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_unrecognized_intrinsic_96: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_unrecognized_intrinsic_98: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_unsupported_operation_127: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_unsupported_operation_129: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_unsupported_symbol_122: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_unsupported_symbol_124: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_unsupported_symbol_of_size_121: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_monomorphization_vector_argument_119: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_no_sanitize_129: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_no_sanitize_131: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_invalid_windows_subsystem_85: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_invalid_windows_subsystem_87: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_metadata_object_file_write_84: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_metadata_object_file_write_86: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_missing_memory_ordering_87: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_mixed_export_name_and_no_mangle_142: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_mixed_export_name_and_no_mangle_144: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_read_file_78: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_read_file_80: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_shuffle_indices_evaluation_88: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_unknown_archive_kind_81: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_unknown_atomic_operation_92: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_unknown_atomic_ordering_88: [missing] -> pass (J0)
  • errors::verify_codegen_ssa_unknown_atomic_ordering_90: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_unsupported_arch_76: pass -> [missing] (J0)
  • errors::verify_codegen_ssa_xcrun_failed_invoking_143: [missing] -> pass (J0)
  • [ui] tests/ui/mir/inline-causes-trimmed-paths.rs: [missing] -> pass (J1)
  • back::apple::tests::lookup_sdk_verbose: [missing] -> ignore (xcrun is only available on macOS) (J3)
  • back::apple::tests::try_lookup_invalid_sdk: [missing] -> ignore (xcrun is only available on macOS) (J3)
  • back::apple::tests::lookup_developer_dir: [missing] -> pass (J4)
  • back::apple::tests::try_lookup_invalid_sdk: [missing] -> pass (J4)

Stage 2

  • [ui] tests/ui/mir/inline-causes-trimmed-paths.rs: [missing] -> pass (J2)

(and 49 additional test diffs)

Job group index

  • J0: aarch64-apple, aarch64-gnu, i686-gnu-2, i686-gnu-nopt-2, i686-mingw-2, i686-mingw-3, i686-msvc-2, x86_64-apple-1, x86_64-gnu, x86_64-gnu-llvm-18-3, x86_64-gnu-llvm-19-3, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-2, x86_64-msvc-2
  • J1: x86_64-gnu-llvm-18-3, x86_64-gnu-llvm-19-3
  • J2: aarch64-apple, aarch64-gnu, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-apple-2, x86_64-gnu, x86_64-gnu-llvm-18-1, x86_64-gnu-llvm-18-2, x86_64-gnu-llvm-19-1, x86_64-gnu-llvm-19-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J3: aarch64-gnu, i686-gnu-2, i686-gnu-nopt-2, i686-mingw-2, i686-mingw-3, i686-msvc-2, x86_64-gnu, x86_64-gnu-llvm-18-3, x86_64-gnu-llvm-19-3, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-2, x86_64-msvc-2
  • J4: aarch64-apple, x86_64-apple-1

Job duration changes

  1. dist-apple-various: 6823.7s -> 8180.0s (19.9%)
  2. dist-aarch64-apple: 4870.9s -> 5652.5s (16.0%)
  3. aarch64-apple: 4028.3s -> 4242.5s (5.3%)
  4. dist-x86_64-freebsd: 4859.6s -> 5061.1s (4.1%)
  5. x86_64-gnu-debug: 6237.5s -> 6477.1s (3.8%)
  6. mingw-check: 1243.8s -> 1290.2s (3.7%)
  7. dist-loongarch64-linux: 6311.8s -> 6544.1s (3.7%)
  8. aarch64-gnu: 9187.4s -> 9520.2s (3.6%)
  9. dist-x86_64-msvc-alt: 7476.4s -> 7724.7s (3.3%)
  10. dist-aarch64-linux: 7445.5s -> 7678.1s (3.1%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e77a8f4): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary 0.8%, secondary 2.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.8% [1.5%, 2.1%] 2
Regressions ❌
(secondary)
2.6% [2.1%, 3.0%] 5
Improvements ✅
(primary)
-1.1% [-1.1%, -1.1%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [-1.1%, 2.1%] 3

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 777.401s -> 778.99s (0.20%)
Artifact size: 365.92 MiB -> 365.92 MiB (-0.00%)

@jhpratt jhpratt deleted the rollup-4c74y8a branch March 28, 2025 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself merged-by-bors This PR was explicitly merged by bors. O-windows Operating system: Windows rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.