Commit Graph

6773 Commits

Author SHA1 Message Date
Ralf Jung
60570a39c7 trophy case: add the data race in thread::scope 2022-06-26 18:59:48 -04:00
bors
5ac47460d2 Auto merge of #2272 - RalfJung:progress, r=RalfJung
add -Zmiri-report-progress to regularly print a stacktrace of what we are executing

Fixes https://github.com/rust-lang/miri/issues/910

The stacktrace is printed every N basic blocks. I picked the default (1 million) to take a few seconds on my machine, but it can be adjusted by the user.
2022-06-26 18:39:38 +00:00
Ralf Jung
34be937d5f add -Zmiri-report-progress to regularly print a stacktrace of what we are executing 2022-06-26 14:31:57 -04:00
bors
ab88ba4299 Auto merge of #2270 - RalfJung:futex-ordering, r=RalfJung
test that futexes induce appropriate synchronization

This fails when I remove the `validate_lock_acquire` or `validate_lock_release` from `futex_wake`. So finally we got those code paths actually covered in tests. :)
2022-06-26 03:54:43 +00:00
Ralf Jung
e667ccb459 test that futexes induce appropriate synchronization 2022-06-25 23:40:58 -04:00
bors
4e67b63ad3 Auto merge of #2269 - RalfJung:fmt, r=RalfJung
make a bunch of tests look more like how they did before rustfmt
2022-06-26 03:31:57 +00:00
Ralf Jung
5aeba7f86b make a bunch of tests look more like how they did before rustfmt 2022-06-25 23:31:24 -04:00
bors
9e2dac4787 Auto merge of #2245 - saethlin:color-always, r=RalfJung
Actually pass through the request for --color=always

https://github.com/rust-lang/miri/pull/2243 actually doesn't work 😂

The suggestion to split on `,` was good but `arg` is actually the whole `--json=diagnostic-rendered-ansi,artifacts,future-incompat
`, and of course I didn't test that change locally and we have no test for this in CI.

Therefore, I would like some guidance on making a test for this because I'm going to rely on this working.
2022-06-26 00:11:30 +00:00
Ralf Jung
fed0e16397 don't assert the same thing twice 2022-06-25 20:02:03 -04:00
bors
320084e7a8 Auto merge of #2268 - RalfJung:not-unpin-protected, r=RalfJung
test that &mut !Unpin references are protected
2022-06-25 23:52:34 +00:00
Ralf Jung
d3ca71ba37 test that &mut !Unpin references are protected 2022-06-25 19:15:11 -04:00
bors
54a495cb27 Auto merge of #2267 - RalfJung:rustup, r=RalfJung
rustup

I cannot reproduce https://github.com/rust-lang/rust/issues/98493 so let's see what CI says.
2022-06-25 20:01:49 +00:00
Ralf Jung
7c025a8f0e test for forgetting locked mutex 2022-06-25 16:01:00 -04:00
Ralf Jung
e5022bf48a join all the threads 2022-06-25 15:46:47 -04:00
Ralf Jung
9124420b2f rustup 2022-06-25 15:06:53 -04:00
bors
e3d42e6963 Auto merge of #2265 - RalfJung:readme, r=RalfJung
README: multi-seed loop: also test the 0 seed
2022-06-25 16:29:38 +00:00
Ralf Jung
54fbd313a6 README: multi-seed loop: also test the 0 seed 2022-06-25 12:27:50 -04:00
bors
1589ba3bbc Auto merge of #2264 - RalfJung:not-a-fixme, r=RalfJung
remove a FIXME that is not actually a bug
2022-06-25 15:54:31 +00:00
Ralf Jung
f66c64bed2 remove a FIXME that is not actually a bug 2022-06-25 11:52:29 -04:00
Ben Kimock
da6a78012a Actually pass through the request for --color=always 2022-06-24 23:08:18 -04:00
bors
3b4402ccf5 Auto merge of #2196 - carbotaniuman:permissive-stacked-borrows, r=RalfJung
Handle wildcard pointers in SB

This uses an permissive `Unknown` implementation, where a wildcard pointer (and any SRW derived from a wildcard pointer) can access any previously-exposed SB tag. This is missing any meaningful test-cases, and all of the edge-cases have not yet been worked through.

I think there's also some bugs here with differing Unknowns in different ranges and having things behave really weirdly too, alongside some issues with retagging to `SRO` or `Unique`.
2022-06-25 02:05:18 +00:00
Ralf Jung
58c79c5b6f tweaks and feedback 2022-06-24 22:02:17 -04:00
Ralf Jung
4fbb284a99 implement 'delimited' expose tracking so we still detect some UB 2022-06-24 20:05:56 -04:00
bors
a1226c43b6 Auto merge of #2263 - wesleywiser:update_measureme, r=RalfJung
Update measureme to the latest version

The major version number is different due to changes to the on-disk recording format but the core API is the same and miri continues to build on the latest version.
2022-06-24 23:24:57 +00:00
Wesley Wiser
2f9750783c Update measureme to the latest version 2022-06-24 19:04:50 -04:00
Ralf Jung
8d6fdaa024 make the tests pass
(and some formatting)
2022-06-24 18:03:02 -04:00
Ralf Jung
c0f7118342 reorganize exposure code a bit 2022-06-24 16:45:22 -04:00
Ralf Jung
2deb9e5dae add exposed_only_ro test 2022-06-24 16:21:47 -04:00
carbotaniuman
d1e7de117c Try fix stuff 2022-06-24 16:10:23 -04:00
carbotaniuman
c7feb014b0 Maybe this wil work 2022-06-24 16:10:23 -04:00
carbotaniuman
57ce47b728 Handle wildcard pointers in SB 2022-06-24 16:10:23 -04:00
bors
dcaa7a7221 Auto merge of #2262 - RalfJung:zulip, r=RalfJung
only one Zulip cron job topic per month
2022-06-24 13:15:20 +00:00
Ralf Jung
bb6fcb71c0 only one Zulip cron job topic per month 2022-06-24 09:13:36 -04:00
bors
cd90e1130e Auto merge of #2257 - dtolnay-contrib:rustfmt9, r=RalfJung
Add `./miri fmt` and check in CI
2022-06-23 20:15:27 +00:00
David Tolnay
e5f40ca9cb
Bless stderr files after rustfmt 2022-06-23 13:08:52 -07:00
David Tolnay
8833197a62
Manual adjustments 2022-06-23 13:08:52 -07:00
David Tolnay
a23eb46b5b
Format late arrivals with rustfmt 2022-06-23 13:08:52 -07:00
David Tolnay
2cbc461389
Add './miri fmt' and use it in CI 2022-06-23 13:08:45 -07:00
bors
b84754bde6 Auto merge of #2261 - RalfJung:fmt, r=oli-obk
make rustfmt mandatory and used pinned toolchain

Looks like this is what most people prefer/expect, and using a pinned toolchain for formatting avoids some (rare and so far mostly hypothetical) formatting inconsistency issues.
2022-06-23 18:53:37 +00:00
Ralf Jung
e286090d7a make rustfmt mandatory and used pinned toolchain 2022-06-23 14:04:57 -04:00
bors
c38e1e9d62 Auto merge of #2250 - rust-lang:gesundheit, r=oli-obk
Require local annotations for local diagnostics

if/when we get flaky diagnostics we can revisit and add more helpers for those
2022-06-23 13:49:56 +00:00
Oli Scherer
c4ffe680e3 Require local annotations for local diagnostics 2022-06-23 13:49:02 +00:00
bors
655eed35b7 Auto merge of #2248 - RalfJung:arc-drop-fix, r=RalfJung
do not protect SRW items

This is the Miri version of https://github.com/rust-lang/rust/pull/98017.
2022-06-22 21:39:41 +00:00
bors
35023f50c0 Auto merge of #2259 - RalfJung:cargo-rustc, r=RalfJung
avoid setting both RUSTC and RUSTC_WRAPPER

Fixes https://github.com/rust-lang/miri/issues/2238
2022-06-22 17:05:03 +00:00
Ralf Jung
0eb8e60ed0 avoid setting both RUSTC and RUSTC_WRAPPER 2022-06-22 10:02:33 -07:00
bors
f8a222a5e1 Auto merge of #2258 - RalfJung:fmt, r=RalfJung
fmt
2022-06-22 15:53:15 +00:00
Ralf Jung
599a0cf4fc fmt 2022-06-22 08:52:48 -07:00
bors
3d1d345f8f Auto merge of #2255 - dtolnay-contrib:rustfmt7, r=oli-obk
Format tests with rustfmt (288-299 of 299)

Extracted from #2097.

I'll make a separate PR to enable checking the `tests` directory's formatting in CI. I'll need to rebase that after both this and #2254 have landed, and if any new non-rustfmt-formatted files appear in the meantime, we can include formatting those in the same PR that enables the CI.
2022-06-22 10:04:08 +00:00
bors
f6641963af Auto merge of #2253 - RalfJung:only-bits, r=oli-obk
fix behavior of only-Nbits comments

Fixes https://github.com/rust-lang/miri/issues/2206
2022-06-22 09:26:44 +00:00
bors
5e584d25ef Auto merge of #2252 - dtolnay-contrib:rustfmt5, r=oli-obk
Format tests with rustfmt (225-275 of 300)

Extracted from #2097.

These cases all involve a line comment at the end of a block that rustfmt has chosen to wrap.

```diff
- unsafe { (*ptr).set(20); } //~ ERROR does not exist in the borrow stack
+ unsafe {
+     (*ptr).set(20);
+ } //~ ERROR does not exist in the borrow stack
```

I have moved all of those comments back onto the same line as the content of the block instead, as was indicated being `@RalfJung's` preference in https://github.com/rust-lang/miri/pull/2097#discussion_r862436672.

```diff
+ unsafe {
+     (*ptr).set(20); //~ ERROR does not exist in the borrow stack
+ }
```
2022-06-22 09:04:44 +00:00