]>
git.lizzy.rs Git - rust.git/log
JCTyblaidd [Fri, 11 Dec 2020 19:32:25 +0000 (19:32 +0000)]
Rework to work with machine hook.
JCTyblaidd [Thu, 10 Dec 2020 16:56:09 +0000 (16:56 +0000)]
Update src/data_race.rs
Co-authored-by: Ralf Jung <post@ralfj.de>
JCTyBlaidd [Wed, 9 Dec 2020 13:35:42 +0000 (13:35 +0000)]
Fix review changes
JCTyBlaidd [Tue, 8 Dec 2020 14:16:39 +0000 (14:16 +0000)]
Change to disable mir-opt in compile-flags
JCTyBlaidd [Mon, 7 Dec 2020 23:43:19 +0000 (23:43 +0000)]
Disable tests in windows
JCTyBlaidd [Mon, 7 Dec 2020 23:30:55 +0000 (23:30 +0000)]
Defeat the mir-opt=3 optimizer.
JCTyBlaidd [Mon, 7 Dec 2020 23:21:58 +0000 (23:21 +0000)]
Update note
JCTyBlaidd [Mon, 7 Dec 2020 23:18:57 +0000 (23:18 +0000)]
Fix bug with reporting wrong thread for races with reads & add thread ids to data-race tests
JCTyBlaidd [Mon, 7 Dec 2020 21:13:11 +0000 (21:13 +0000)]
Add concurrent caller location test
JCTyblaidd [Mon, 7 Dec 2020 19:10:01 +0000 (19:10 +0000)]
Fix nits
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
JCTyBlaidd [Mon, 7 Dec 2020 18:58:31 +0000 (18:58 +0000)]
Increase sleep times for the scheduler
JCTyBlaidd [Mon, 7 Dec 2020 18:21:12 +0000 (18:21 +0000)]
Remove old FIXME
JCTyBlaidd [Mon, 7 Dec 2020 18:16:06 +0000 (18:16 +0000)]
More tests, fix issue 1643 and detect races with allocation.
bors [Fri, 11 Dec 2020 10:37:40 +0000 (10:37 +0000)]
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. :)
Ralf Jung [Fri, 11 Dec 2020 10:36:17 +0000 (11:36 +0100)]
rustup
Ralf Jung [Wed, 9 Dec 2020 23:11:00 +0000 (00:11 +0100)]
enable track-raw-ptr tests on Windows
bors [Thu, 10 Dec 2020 18:54:21 +0000 (18:54 +0000)]
Auto merge of #1646 - RalfJung:rustup, r=RalfJung
rustup
Ralf Jung [Thu, 10 Dec 2020 18:53:45 +0000 (19:53 +0100)]
rustup
bors [Thu, 10 Dec 2020 08:05:35 +0000 (08:05 +0000)]
Auto merge of #1645 - RalfJung:rustup, r=RalfJung
Rustup; make use of AtomicPtr fixes
Ralf Jung [Wed, 9 Dec 2020 23:09:52 +0000 (00:09 +0100)]
rustup; test AtomicPtr leak checker
bors [Mon, 7 Dec 2020 08:21:49 +0000 (08:21 +0000)]
Auto merge of #1642 - jonahwilliams:patch-1, r=RalfJung
Fix README.md typo "extend" -> "extent"
Just something I noticed while reading.
Jonah Williams [Mon, 7 Dec 2020 01:54:59 +0000 (17:54 -0800)]
Fix README.md typo "extend" -> "extent"
Just something I noticed while reading
bors [Sun, 6 Dec 2020 19:12:16 +0000 (19:12 +0000)]
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).
JCTyblaidd [Sun, 6 Dec 2020 17:59:49 +0000 (17:59 +0000)]
Fix caps
Co-authored-by: Ralf Jung <post@ralfj.de>
JCTyBlaidd [Sun, 6 Dec 2020 17:11:24 +0000 (17:11 +0000)]
Fix typo
JCTyBlaidd [Sun, 6 Dec 2020 16:58:32 +0000 (16:58 +0000)]
Update release sequence handling to C++20 semantics.
bors [Sat, 5 Dec 2020 11:16:41 +0000 (11:16 +0000)]
Auto merge of #1640 - RalfJung:readme, r=RalfJung
readme: mention data races
and mention cross-interpretation already in the intro
Ralf Jung [Sat, 5 Dec 2020 11:14:52 +0000 (12:14 +0100)]
readme: mention data races, and mention cross-interpretation already in the intro
bors [Sat, 5 Dec 2020 08:35:56 +0000 (08:35 +0000)]
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
Mara Bos [Fri, 4 Dec 2020 22:52:13 +0000 (23:52 +0100)]
Use new std::alloc::Allocator interface.
This was changed in core.
bors [Mon, 30 Nov 2020 11:40:43 +0000 (11:40 +0000)]
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.
bors [Mon, 30 Nov 2020 11:15:38 +0000 (11:15 +0000)]
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.
Ralf Jung [Sun, 29 Nov 2020 20:00:50 +0000 (21:00 +0100)]
remove miri-rustc-tests
Ralf Jung [Sun, 29 Nov 2020 19:54:56 +0000 (20:54 +0100)]
update README
bors [Sun, 29 Nov 2020 18:44:28 +0000 (18:44 +0000)]
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
Ralf Jung [Sun, 29 Nov 2020 18:43:44 +0000 (19:43 +0100)]
fix some typos
JCTyBlaidd [Sat, 28 Nov 2020 17:17:07 +0000 (17:17 +0000)]
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.
JCTyBlaidd [Fri, 27 Nov 2020 19:26:06 +0000 (19:26 +0000)]
Apply review changes, incrementing the clocks twice is an unnecessary hold-over from earlier versions so fixed.
JCTyBlaidd [Sun, 22 Nov 2020 17:28:12 +0000 (17:28 +0000)]
Fix review changes
bors [Sun, 22 Nov 2020 17:10:05 +0000 (17:10 +0000)]
Auto merge of #1633 - RalfJung:rustup, r=RalfJung
rustup; test sorting for provenance-correctness
Ralf Jung [Sun, 22 Nov 2020 17:08:57 +0000 (18:08 +0100)]
rustup; test sorting for provenance-correctness
bors [Fri, 20 Nov 2020 13:08:30 +0000 (13:08 +0000)]
Auto merge of #1632 - RalfJung:rustup, r=RalfJung
rustup
fix statx
Ralf Jung [Fri, 20 Nov 2020 13:07:52 +0000 (14:07 +0100)]
rustup
bors [Thu, 19 Nov 2020 08:39:37 +0000 (08:39 +0000)]
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.
Ralf Jung [Thu, 19 Nov 2020 08:36:06 +0000 (09:36 +0100)]
avoid fallback logic (and we do not need the flag value currently anyway)
Mara Bos [Wed, 18 Nov 2020 22:15:32 +0000 (23:15 +0100)]
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.
est31 [Sun, 15 Nov 2020 04:01:10 +0000 (05:01 +0100)]
Normalize column numbers
Ralf Jung [Thu, 19 Nov 2020 08:21:03 +0000 (09:21 +0100)]
rustup
JCTyBlaidd [Sun, 15 Nov 2020 20:19:34 +0000 (20:19 +0000)]
Run rustfmt on vector_clock.rs and data_race.rs
JCTyBlaidd [Sun, 15 Nov 2020 20:12:58 +0000 (20:12 +0000)]
Add comment regarding seq-cst ordering & add test for disabling the data-race detector.
JCTyBlaidd [Sun, 15 Nov 2020 19:50:38 +0000 (19:50 +0000)]
Convert extra benchmark program into cfg option.
JCTyBlaidd [Sun, 15 Nov 2020 18:30:26 +0000 (18:30 +0000)]
Tidy up comments and function layout, should fix most of the review notes.
bors [Thu, 12 Nov 2020 15:51:10 +0000 (15:51 +0000)]
Auto merge of #1624 - RalfJung:rustup, r=RalfJung
rustup; less strict timing tests
Ralf Jung [Thu, 12 Nov 2020 15:50:24 +0000 (16:50 +0100)]
rustup; less strict timing tests
bors [Wed, 11 Nov 2020 09:34:41 +0000 (09:34 +0000)]
Auto merge of #1623 - RalfJung:rustup, r=RalfJung
rustup
Ralf Jung [Wed, 11 Nov 2020 09:29:10 +0000 (10:29 +0100)]
rustup
bors [Tue, 10 Nov 2020 15:53:31 +0000 (15:53 +0000)]
Auto merge of #1621 - RalfJung:rustup, r=RalfJung
Rustup; test btreemap with raw ptr tracking
Ralf Jung [Tue, 10 Nov 2020 15:51:55 +0000 (16:51 +0100)]
test btreemap with raw ptr tracking
Ralf Jung [Tue, 10 Nov 2020 15:51:07 +0000 (16:51 +0100)]
remove some unnecessary feature flags
Ralf Jung [Tue, 10 Nov 2020 15:47:56 +0000 (16:47 +0100)]
rustup and update test
bors [Sat, 7 Nov 2020 23:42:21 +0000 (23:42 +0000)]
Auto merge of #1615 - jyn514:contributing-instructions, r=RalfJung
Improve contributing instructions
This builds on the changes from https://github.com/rust-lang/miri/pull/1612 and should not be merged before.
- Fix incorrect comment
- Recommend `x.py setup` over manually editing config.toml
- Link to rustc-dev-guide
Joshua Nelson [Sat, 31 Oct 2020 19:06:06 +0000 (15:06 -0400)]
Improve contributing instructions
- Fix incorrect comment
- Recommend `x.py setup` over manually editing config.toml
- Link to rustc-dev-guide
bors [Sat, 7 Nov 2020 20:12:16 +0000 (20:12 +0000)]
Auto merge of #1612 - camelid:patch-1, r=RalfJung
CONTRIBUTING.md: Use `build --stage 1` instead of `build --stage 2`
It seems to work fine with `--stage 1` and it should be faster.
Cc #1610
Cc `@jyn514`
Camelid [Sat, 7 Nov 2020 19:26:41 +0000 (11:26 -0800)]
CONTRIBUTING.md: Update comment
Co-authored-by: Ralf Jung <post@ralfj.de>
bors [Sat, 7 Nov 2020 14:58:41 +0000 (14:58 +0000)]
Auto merge of #1620 - RalfJung:overflow, r=RalfJung
enable overflow checks in the standard library
Ralf Jung [Sat, 7 Nov 2020 14:56:25 +0000 (15:56 +0100)]
enable overflow checks in the standard library
JCTyBlaidd [Fri, 6 Nov 2020 17:29:54 +0000 (17:29 +0000)]
More aggressive vector index re-use, and added some tests.
bors [Thu, 5 Nov 2020 16:10:13 +0000 (16:10 +0000)]
Auto merge of #1619 - RalfJung:rustup, r=RalfJung
rustup
Ralf Jung [Thu, 5 Nov 2020 16:09:44 +0000 (17:09 +0100)]
rustup
JCTyBlaidd [Thu, 5 Nov 2020 14:18:28 +0000 (14:18 +0000)]
Move to use of thread termination hook for vector re-use,
convert validate atomic op to use shared reference and get_raw
instead of get_raw_mut so it can be used for validate_atomic_load as well
JCTyBlaidd [Thu, 5 Nov 2020 03:54:39 +0000 (03:54 +0000)]
Split out vector_clock to separate file, general tidy up of some of the
code & add support for vector index re-use for multiple threads
after termination.
JCTyBlaidd [Wed, 4 Nov 2020 21:35:48 +0000 (21:35 +0000)]
Detect races between atomic and non-atomic accesses of a variable,
previously only data races between two non-atomic accesses were
detected.
bors [Tue, 3 Nov 2020 19:07:45 +0000 (19:07 +0000)]
Auto merge of #1614 - RalfJung:raw-retag, r=RalfJung
Stacked Borrows: test raw-ref-to-field with raw ptr tracking
Adds a test for https://github.com/rust-lang/rust/pull/78597 (blocked on that landing first)
Ralf Jung [Tue, 3 Nov 2020 19:07:19 +0000 (20:07 +0100)]
rustup
JCTyBlaidd [Mon, 2 Nov 2020 13:08:09 +0000 (13:08 +0000)]
Add newlines at end of file + use replace.
add dangling thread variant of one of the benchmarks
JCTyBlaidd [Mon, 2 Nov 2020 12:40:12 +0000 (12:40 +0000)]
Mark all new tests as disabled on windows
JCTyBlaidd [Mon, 2 Nov 2020 03:06:30 +0000 (03:06 +0000)]
Fix & rebase
JCTyBlaidd [Mon, 2 Nov 2020 01:46:42 +0000 (01:46 +0000)]
Add tests, and fix bug in atomic RMW relaxed stores
JCTyBlaidd [Mon, 2 Nov 2020 00:23:27 +0000 (00:23 +0000)]
Initial data-race detector,
passes all current tests but additional tests are required
Ralf Jung [Sat, 31 Oct 2020 15:28:56 +0000 (16:28 +0100)]
fix trophy case URL
Ralf Jung [Sat, 31 Oct 2020 15:23:41 +0000 (16:23 +0100)]
test Rc with raw pointer tracking
Ralf Jung [Sat, 31 Oct 2020 15:22:16 +0000 (16:22 +0100)]
fix writing to read-only raw pointer in thread-local test
Ralf Jung [Sat, 31 Oct 2020 12:56:46 +0000 (13:56 +0100)]
Stacked Borrows: test raw-ref-to-field with raw ptr tracking
bors [Sat, 31 Oct 2020 12:48:49 +0000 (12:48 +0000)]
Auto merge of #1613 - RalfJung:test-normalize, r=RalfJung
backtrace tests: support more ways of checking out Rust locally
Tests failed when using a local build as my folders are called `rustc`, `rustc.2`, ...
Expand the regex to also support that naming scheme.
Ralf Jung [Sat, 31 Oct 2020 12:47:42 +0000 (13:47 +0100)]
backtrace tests: support more ways of checking out Rust locally
Camelid [Fri, 30 Oct 2020 21:33:12 +0000 (14:33 -0700)]
CONTRIBUTING.md: Use `build --stage 1` instead of `build --stage 2`
It seems to work fine with `--stage 1` and it should be faster.
bors [Fri, 30 Oct 2020 18:22:11 +0000 (18:22 +0000)]
Auto merge of #1611 - RalfJung:timing-tests, r=RalfJung
increase timeout to avoid spurious test failures
just saw this fail on macOS in PR CI, so add some extra safety margin
Ralf Jung [Fri, 30 Oct 2020 17:59:58 +0000 (18:59 +0100)]
increase timeout to avoid spurious test failures
bors [Fri, 30 Oct 2020 17:58:03 +0000 (17:58 +0000)]
Auto merge of #1610 - camelid:patch-2, r=RalfJung
Update locally-built rustc instructions
Cc rust-lang/rust#78435
Camelid [Fri, 30 Oct 2020 00:00:12 +0000 (17:00 -0700)]
Update locally-built rustc instructions
bors [Thu, 29 Oct 2020 23:37:41 +0000 (23:37 +0000)]
Auto merge of #1609 - camelid:patch-1, r=RalfJung
Fix link in README
The section it references is now in `CONTRIBUTING.md`.
Camelid [Thu, 29 Oct 2020 23:14:54 +0000 (16:14 -0700)]
Fix link in README
bors [Thu, 29 Oct 2020 19:58:10 +0000 (19:58 +0000)]
Auto merge of #1607 - RalfJung:rustup, r=RalfJung
rustup
Ralf Jung [Thu, 29 Oct 2020 19:57:38 +0000 (20:57 +0100)]
rustup
bors [Wed, 28 Oct 2020 13:40:51 +0000 (13:40 +0000)]
Auto merge of #1606 - RalfJung:trophy, r=oli-obk
update trophy case
bors [Wed, 28 Oct 2020 13:19:25 +0000 (13:19 +0000)]
Auto merge of #1603 - RalfJung:track-raw, r=oli-obk
add an option to track raw pointer tags in Stacked Borrows
Also make error messages more informative by printing the affected memory location
Ralf Jung [Wed, 28 Oct 2020 13:05:37 +0000 (14:05 +0100)]
update trophy case
Ralf Jung [Wed, 28 Oct 2020 12:50:27 +0000 (13:50 +0100)]
test raw pointer tracking; we cannot track raw pointers on Windows
bors [Wed, 28 Oct 2020 12:54:01 +0000 (12:54 +0000)]
Auto merge of #1604 - RalfJung:std-debug-assert, r=oli-obk
disable debug assertions in the standard library
Debug assertions in the standard library can be somewhat expensive to check, in particular the ones covering each and every `ptr::write/copy/copy_nonoverlapping`. Miri will find most of those problems anyway since they cause UB. There are other debug assertions, such as ensuring internal invariants are maintained, but given how slow Miri already is, I think it is better to skip those checks in Miri and instead figure out a better way for people to use a standard library with debug assertions enabled.
Ralf Jung [Wed, 28 Oct 2020 11:51:25 +0000 (12:51 +0100)]
expand flag docs