Commit Graph

5349 Commits

Author SHA1 Message Date
Ralf Jung
05fcf86f11 rename test ref files for proper names 2020-12-21 11:31:57 +01:00
bors
24d8e8df10 Auto merge of #1655 - RalfJung:rustup, r=RalfJung
rustup + cargo-miri 'cargo update'
2020-12-21 09:55:26 +00:00
Ralf Jung
ba0d229752 rustup + cargo-miri 'cargo update' 2020-12-21 10:53:55 +01:00
bors
9b762c7b6d Auto merge of #1652 - RalfJung:update, r=RalfJung
rustup + cargo update

Also fixes cargo warnings about depending on yanked crates.
2020-12-17 11:54:28 +00:00
Ralf Jung
46162ecb69 rustup + cargo update 2020-12-17 12:53:10 +01:00
bors
85e56131a1 Auto merge of #1644 - JCTyblaidd:detect_race_with_alloc, r=RalfJung
More tests, fix issue 1643 and detect races with allocation.

Fixes #1643 by disabling race detection for V-Table memory, adds race detection between r/w & memory allocation, and adds more tests.

~~There is one unusual result in dealloc_read_race_stack_drop.rs, where the stack variable is read by thread 0 & thread 2 and so reports a race with thread 0, any ideas for the cause of the read on thread 0?~~ Fixed, bug with reporting the index a read race occured in correctly.
2020-12-13 19:50:57 +00:00
JCTyblaidd
c13aabcb45 Tidy new_allocation 2020-12-13 11:14:41 +00:00
JCTyblaidd
aa4e5b26e6 Update rust version 2020-12-13 11:08:19 +00:00
JCTyblaidd
e73579632b Rework to work with machine hook. 2020-12-13 11:04:58 +00:00
JCTyblaidd
81c4eb7d74 Update src/data_race.rs
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-12-13 11:04:58 +00:00
JCTyBlaidd
aaf8ca4c77 Fix review changes 2020-12-13 11:04:58 +00:00
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