Miri subtree update by RalfJung · Pull Request #129410 · rust-lang/rust (original) (raw)

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 andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation10 Commits13 Checks6 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

RalfJung

The Miri Cronjob Bot and others added 13 commits

August 20, 2024 05:00

@bors

@RalfJung

needs a libc version bump

@bors

readdir_r shim: assume FreeBSD v12+

Blocked on rust-lang/libc#3723 being released and propagating to std.

@Kixunil

It'd be useful to be able to verify code implementing SHA256 using SIMD since such code is a bit more complicated and at some points requires use of pointers. Until now miri didn't support x86 SHA256 intrinsics. This commit implements them.

@bors

Implement SHA256 SIMD intrinsics on x86

Disclaimer: this is my first contribution to miri's code. It's quite possible I'm missing something. This code works but may not be the cleanest/best possible.

It'd be useful to be able to verify code implementing SHA256 using SIMD since such code is a bit more complicated and at some points requires use of pointers. Until now miri didn't support x86 SHA256 intrinsics. This commit implements them.

@RalfJung

@bors

borrow tracking: add a test for zero-sized protectors

@RalfJung

@bors

epoll test: avoid some subtly dangling pointers

Turns out let data = MaybeUninit::<u64>::uninit().as_ptr(); is a dangling pointer, the memory gets freed at the end of that line. For these cases we don't care as we don't actually access the pointer, but let's not do such subtle things.

@JoJoDeveloping

@bors

…r=RalfJung

Make Tree Borrows Provenance GC no longer produce stack overflows

Most functions operating on Tree Borrows' trees are carefully written to not cause stack overflows due to too much recursion. The one exception is Tree::keep_only_needed, which just uses regular recursion. This function is part of the provenance GC, so it is called regularly for every allocation in the program.

Tests show that this is a problem in practice. For example, the test fill::horizontal_line in crate tiny-skia (version 0.11.4) is such a test.

This PR changes this, this test no now longer crashes. Instead, it succeeds (after a long time).

@rustbot

The Miri subtree was changed

cc @rust-lang/miri

@RalfJung

@bors

📌 Commit 8b10bda has been approved by RalfJung

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

Aug 22, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 22, 2024

@bors

Miri subtree update

r? @ghost

@bors

@rust-log-analyzer

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] miri test:false 4.527
error: failed to remove file `C:\a\rust\rust\build\x86_64-pc-windows-msvc\stage1-tools\x86_64-pc-windows-msvc\release\miri.exe`

Caused by:
  Access is denied. (os error 5)
Command has failed. Rerun with -v to see more details.
  local time: Thu, Aug 22, 2024  3:51:03 PM
  network time: Thu, 22 Aug 2024 15:51:03 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@bors

@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

Aug 22, 2024

@ChrisDenton

@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

Aug 22, 2024

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Aug 22, 2024

@matthiaskrgr

Miri subtree update

r? @ghost

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 22, 2024

@bors

…iaskrgr

Rollup of 7 pull requests

Successful merges:

r? @ghost @rustbot modify labels: rollup

@bors

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Aug 22, 2024

@matthiaskrgr

Miri subtree update

r? @ghost

@bors

@bors bors mentioned this pull request

Aug 22, 2024

1 task

@rust-timer

Finished benchmarking commit (eff0948): 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 2.2%, secondary -2.0%)

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

Cycles

Results (secondary -8.3%)

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

Binary size

Results (secondary 0.0%)

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

Bootstrap: 749.145s -> 750.6s (0.19%)
Artifact size: 338.93 MiB -> 338.94 MiB (0.00%)