rust icon indicating copy to clipboard operation
rust copied to clipboard

const-eval: do not make UbChecks behavior depend on current crate's flags

Open RalfJung opened this issue 1 year ago • 7 comments

Fixes https://github.com/rust-lang/rust/issues/129552

Let's see if we can get away with just always enabling these checks.

RalfJung avatar Aug 26 '24 11:08 RalfJung

r? @nnethercote

rustbot has assigned @nnethercote. They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

rustbot avatar Aug 26 '24 11:08 rustbot

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

The Miri subtree was changed

cc @rust-lang/miri

rustbot avatar Aug 26 '24 11:08 rustbot

r? @saethlin

@bors try @rust-timer queue

RalfJung avatar Aug 26 '24 11:08 RalfJung

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

rust-timer avatar Aug 26 '24 11:08 rust-timer

:hourglass: Trying commit d312fdcc995ada84278af7430bd2511f6b0478db with merge b7fca3aed0d93e809bd1fae749c667ae0f197c94...

bors avatar Aug 26 '24 11:08 bors

@bors try

RalfJung avatar Aug 26 '24 12:08 RalfJung

:hourglass: Trying commit 7ea2981605ef13f713f42e877c4c31b059cb1ebe with merge ed16544c35681a57b2a2f1a4fd440aeb7cd1bda2...

bors avatar Aug 26 '24 12:08 bors

:sunny: Try build successful - checks-actions Build commit: ed16544c35681a57b2a2f1a4fd440aeb7cd1bda2 (ed16544c35681a57b2a2f1a4fd440aeb7cd1bda2)

bors avatar Aug 26 '24 14:08 bors

Queued ed16544c35681a57b2a2f1a4fd440aeb7cd1bda2 with parent 22572d0994593197593e2a1b7b18d720a9a349a7, future comparison URL. There are currently 0 preceding artifacts in the queue. It will probably take at least ~1.2 hours until the benchmark run finishes.

rust-timer avatar Aug 26 '24 14:08 rust-timer

Finished benchmarking commit (ed16544c35681a57b2a2f1a4fd440aeb7cd1bda2): comparison URL.

Overall result: ❌ regressions - no action needed

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

@bors rollup=never @rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.3% [2.3%, 2.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.8%)

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)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.8% [-2.8%, -2.8%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.8% [-2.8%, -2.8%] 1

Cycles

Results (secondary 2.2%)

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)
- - 0
Regressions ❌
(secondary)
2.2% [2.2%, 2.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 752.172s -> 752.137s (-0.00%) Artifact size: 338.71 MiB -> 338.77 MiB (0.02%)

rust-timer avatar Aug 26 '24 15:08 rust-timer

Interesting, that's not even the ctfe stress test. It's also barely significant so I think we can ignore it.

RalfJung avatar Aug 26 '24 15:08 RalfJung

I'm not surprised we get away with no perf hit; unsafe const code is pretty rare to begin with.

And the one regression has a significance factor of 1.15x so there's a fair chance it's spurious.

@bors r+

saethlin avatar Aug 26 '24 16:08 saethlin

:pushpin: Commit 7ea2981605ef13f713f42e877c4c31b059cb1ebe has been approved by saethlin

It is now in the queue for this repository.

bors avatar Aug 26 '24 16:08 bors

:hourglass: Testing commit 7ea2981605ef13f713f42e877c4c31b059cb1ebe with merge 9bc5ef2b1049b7a382a826f5b859ef2f94672f98...

bors avatar Aug 28 '24 08:08 bors

The job x86_64-msvc-ext failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] rustdoc test:false 58.011
[RUSTC-TIMING] rustdoc_tool_binary test:false 0.801
    Finished `release` profile [optimized] target(s) in 0.43s
thread 'main' panicked at src/lib.rs:1690:17:
failed to copy `C:\a\rust\rust\build\x86_64-pc-windows-msvc\stage0-tools\x86_64-pc-windows-msvc\release\rustdoc_tool_binary.exe` to `C:\a\rust\rust\build\x86_64-pc-windows-msvc\stage1\bin\rustdoc.exe`: The process cannot access the file because it is being used by another process. (os error 32)
##[endgroup]
Build completed unsuccessfully in 0:00:10
  local time: Wed, Aug 28, 2024 10:36:14 AM
  network time: Wed, 28 Aug 2024 10:36:15 GMT

rust-log-analyzer avatar Aug 28 '24 10:08 rust-log-analyzer

:broken_heart: Test failed - checks-actions

bors avatar Aug 28 '24 10:08 bors

@bors retry failed to copy C:\a\rust\rust\build\x86_64-pc-windows-msvc\stage0-tools\x86_64-pc-windows-msvc\release\rustdoc_tool_binary.exe to C:\a\rust\rust\build\x86_64-pc-windows-msvc\stage1\bin\rustdoc.exe: The process cannot access the file because it is being used by another process. (os error 32) Cc https://github.com/rust-lang/rust/issues/127883

RalfJung avatar Aug 28 '24 11:08 RalfJung

@bors retry

saethlin avatar Aug 28 '24 12:08 saethlin

@bors rollup=iffy

saethlin avatar Aug 28 '24 14:08 saethlin