Commit Graph

5138 Commits

Author SHA1 Message Date
JCTyBlaidd
4e74f9f013 Change to disable mir-opt in compile-flags 2020-12-13 11:04:58 +00:00
JCTyBlaidd
3df67141e6 Disable tests in windows 2020-12-13 11:04:58 +00:00
JCTyBlaidd
a30105df0b Defeat the mir-opt=3 optimizer. 2020-12-13 11:04:58 +00:00
JCTyBlaidd
8676c60f87 Update note 2020-12-13 11:04:58 +00:00
JCTyBlaidd
296ba8b1c8 Fix bug with reporting wrong thread for races with reads & add thread ids to data-race tests 2020-12-13 11:04:58 +00:00
JCTyBlaidd
fbe7fbb890 Add concurrent caller location test 2020-12-13 11:04:58 +00:00
JCTyblaidd
c4ccd0b6a1 Fix nits
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-13 11:04:58 +00:00
JCTyBlaidd
f4bcef1113 Increase sleep times for the scheduler 2020-12-13 11:04:58 +00:00
JCTyBlaidd
1ded6d328a Remove old FIXME 2020-12-13 11:04:58 +00:00
JCTyBlaidd
c45b1b16be More tests, fix issue 1643 and detect races with allocation. 2020-12-13 11:04:58 +00:00
bors
2065b52dfe Auto merge of #1648 - RalfJung:windows-track-raw, r=RalfJung
enable track-raw-ptr tests on Windows

With https://github.com/rust-lang/rust/pull/79893 landed, raw-pointer-tracking now works even for the Windows runtime. :)
2020-12-11 10:37:40 +00:00
Ralf Jung
19d3d9e313 rustup 2020-12-11 11:36:17 +01:00
Ralf Jung
27a518e166 enable track-raw-ptr tests on Windows 2020-12-11 11:28:33 +01:00
bors
1ddbda28e3 Auto merge of #1646 - RalfJung:rustup, r=RalfJung
rustup
2020-12-10 18:54:21 +00:00
Ralf Jung
7bbd6bca77 rustup 2020-12-10 19:53:45 +01:00
bors
75ea76d6f5 Auto merge of #1645 - RalfJung:rustup, r=RalfJung
Rustup; make use of AtomicPtr fixes
2020-12-10 08:05:35 +00:00
Ralf Jung
2f0d7d38b4 rustup; test AtomicPtr leak checker 2020-12-10 00:09:52 +01:00
bors
c9a6b23699 Auto merge of #1642 - jonahwilliams:patch-1, r=RalfJung
Fix README.md typo "extend" -> "extent"

Just something I noticed while reading.
2020-12-07 08:21:49 +00:00
Jonah Williams
789c8a006b
Fix README.md typo "extend" -> "extent"
Just something I noticed while reading
2020-12-06 17:54:59 -08:00
bors
a2fa80d277 Auto merge of #1641 - JCTyblaidd:update_release_sequences, r=RalfJung
Weaken release sequences to match the C++20 memory model

See [Weaken Release Sequences](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0982r1.html), since the exception for relaxed writes on the same thread as a release write not blocking release sequences was removed in the C++20 memory model compared to the C11 memory model the paper was based on. The implementation can be updated and simplified to match this.  [Rust is currently specified to use the C++20 memory model](https://doc.rust-lang.org/std/sync/atomic/index.html).
2020-12-06 19:12:16 +00:00
JCTyblaidd
6db821537f
Fix caps
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-12-06 17:59:49 +00:00
JCTyBlaidd
a6f377e48e Fix typo 2020-12-06 17:11:24 +00:00
JCTyBlaidd
4cf614ef33 Update release sequence handling to C++20 semantics. 2020-12-06 16:58:32 +00:00
bors
d6a2623b4e Auto merge of #1640 - RalfJung:readme, r=RalfJung
readme: mention data races

and mention cross-interpretation already in the intro
2020-12-05 11:16:41 +00:00
Ralf Jung
7fb012fdb2 readme: mention data races, and mention cross-interpretation already in the intro 2020-12-05 12:14:52 +01:00
bors
e54c5db4f0 Auto merge of #1639 - m-ou-se:allocator, r=RalfJung
Update to new core::alloc::Allocator interface

This fixes the allocator test for the changes made to the allocator trait in `core` in https://github.com/rust-lang/rust/pull/79286

See https://github.com/rust-lang/rust/issues/79709
2020-12-05 08:35:56 +00:00
Mara Bos
de5b26d7f0 Use new std::alloc::Allocator interface.
This was changed in core.
2020-12-05 00:13:33 +01:00
bors
47acece7aa Auto merge of #1636 - RalfJung:rustup, r=oli-obk
remove miri-rustc-tests

`@oli-obk` I am not sure if anyone used this program in the last few years. There are no instructions for how to use it. So I think keeping it working is just a waste of time. It now fails to build:
```
error[E0046]: not all trait items implemented, missing: `visit_foreign_item`
  --> src/bin/miri-rustc-tests.rs:36:17
   |
36 |                 impl<'tcx, 'hir> itemlikevisit::ItemLikeVisitor<'hir> for Visitor<'tcx> {
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `visit_foreign_item` in implementation
```
So I propose instead of me trying to figure out how to fix this, we just drop this ancient code.
2020-11-30 11:40:43 +00:00
bors
c53d4518a9 Auto merge of #1635 - RalfJung:readme, r=oli-obk
update README

Data races are detected now, but also the amount of non-determinism went way up so reword that point.
2020-11-30 11:15:38 +00:00
Ralf Jung
6145709bfc remove miri-rustc-tests 2020-11-29 21:00:50 +01:00
Ralf Jung
d697de7538 update README 2020-11-29 20:54:56 +01:00
bors
d473242ecd Auto merge of #1617 - JCTyblaidd:data_race_detector, r=RalfJung
Add simple data-race detector

Partially fixes data-race detection, see #1372, based on Dynamic Race Detection for C++11

- This does not explore weak memory behaviour, only exploring one sequentially consistent ordering.
- Data-race detection is only enabled after the first thread is created, so should have minimal overhead for non-concurrent execution.
- ~~Does not attempt to re-use thread id's so creating and joining threads lots of time in an execution will result in the vector clocks growing in size and slowing down program execution~~ It does now
2020-11-29 18:44:28 +00:00
Ralf Jung
cbb695f782
fix some typos 2020-11-29 19:43:44 +01:00
JCTyBlaidd
6c5722933e Fix typos - looked into the papers handling of timestamps, after looking into it again, it seems the paper only increments the timestamp after release operations, so changed to approximation of that implementation. 2020-11-28 17:17:07 +00:00
JCTyBlaidd
55fc552d99 Apply review changes, incrementing the clocks twice is an unnecessary hold-over from earlier versions so fixed. 2020-11-27 19:26:06 +00:00
JCTyBlaidd
3268f56a97 Fix review changes 2020-11-22 17:28:12 +00:00
bors
ce031b4e8e Auto merge of #1633 - RalfJung:rustup, r=RalfJung
rustup; test sorting for provenance-correctness
2020-11-22 17:10:05 +00:00
Ralf Jung
7a2c2f8dde rustup; test sorting for provenance-correctness 2020-11-22 18:08:57 +01:00
bors
746ea5b141 Auto merge of #1632 - RalfJung:rustup, r=RalfJung
rustup

fix statx
2020-11-20 13:08:30 +00:00
Ralf Jung
697f6e36bd rustup 2020-11-20 14:07:52 +01:00
bors
c8f51fc5a7 Auto merge of #1630 - RalfJung:rustup, r=RalfJung
Rustup

Includes https://github.com/rust-lang/miri/pull/1626 and https://github.com/rust-lang/miri/pull/1629.
2020-11-19 08:39:37 +00:00
Ralf Jung
517728bf97 avoid fallback logic (and we do not need the flag value currently anyway) 2020-11-19 09:36:33 +01:00
Mara Bos
cdb7adb4b3 Make weak syscalls in std work.
std now looks up `getrandom` and `statx` with `dlsym` before attempting
to use `syscall(SYS_.., ..)`.

It also now passes all arguments as a machine-sized word, instead of
their original types.
2020-11-19 09:34:46 +01:00
est31
4de113acba Normalize column numbers 2020-11-19 09:21:11 +01:00
Ralf Jung
a37cfed062 rustup 2020-11-19 09:21:03 +01:00
JCTyBlaidd
0b0264fc82 Run rustfmt on vector_clock.rs and data_race.rs 2020-11-15 20:19:34 +00:00
JCTyBlaidd
a3b7839bbd Add comment regarding seq-cst ordering & add test for disabling the data-race detector. 2020-11-15 20:12:58 +00:00
JCTyBlaidd
4a1f7ac1f1 Convert extra benchmark program into cfg option. 2020-11-15 19:50:38 +00:00
JCTyBlaidd
69fb6413dd Tidy up comments and function layout, should fix most of the review notes. 2020-11-15 18:30:26 +00:00
bors
1499c5a4d9 Auto merge of #1624 - RalfJung:rustup, r=RalfJung
rustup; less strict timing tests
2020-11-12 15:51:10 +00:00