Commit Graph

5103 Commits

Author SHA1 Message Date
Ralf Jung e204c0fbab link to our shiny new Zulip stream 2020-12-21 14:39:18 +01:00
bors 9b5faa9c82 Auto merge of #1656 - RalfJung:tests, r=RalfJung
test suite updates
2020-12-21 12:25:57 +00:00
Ralf Jung 6dc353c091 test test suite harness with raw-ptr tracking 2020-12-21 11:36:40 +01:00
Ralf Jung 3d151c8b62 leak checker: also test AtomicPtr stored via 'swap' 2020-12-21 11:36:39 +01:00
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