]>
git.lizzy.rs Git - rust.git/log
Ralf Jung [Sun, 29 Nov 2020 20:00:50 +0000 (21:00 +0100)]
remove miri-rustc-tests
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
bors [Wed, 28 Oct 2020 11:58:08 +0000 (11:58 +0000)]
Auto merge of #1605 - RalfJung:readme, r=RalfJung
Readme: remove outdated CI badges
Ralf Jung [Wed, 28 Oct 2020 11:57:41 +0000 (12:57 +0100)]
remove outdated CI badges
Ralf Jung [Wed, 28 Oct 2020 09:48:33 +0000 (10:48 +0100)]
disable debug assertions in the standard library
Ralf Jung [Wed, 28 Oct 2020 11:35:05 +0000 (12:35 +0100)]
run some tests with raw pointer tracking
Ralf Jung [Wed, 28 Oct 2020 11:23:35 +0000 (12:23 +0100)]
add an option to track raw pointer tags in Stacked Borrows
Ralf Jung [Wed, 28 Oct 2020 11:04:39 +0000 (12:04 +0100)]
Stacked Borrows: print affected memory location on errors
bors [Tue, 27 Oct 2020 16:27:05 +0000 (16:27 +0000)]
Auto merge of #1602 - RalfJung:box, r=RalfJung
test Box::into_raw aliasing
Directly test aliasing problems caused by `Box::into_raw` issues (like we have them again right now due to https://github.com/rust-lang/rust/pull/77187, but the pinned rustc is older than that so this should still be able to land).
Ralf Jung [Tue, 27 Oct 2020 15:58:08 +0000 (16:58 +0100)]
test Box::into_raw aliasing
bors [Tue, 27 Oct 2020 13:29:14 +0000 (13:29 +0000)]
Auto merge of #1601 - RalfJung:misc, r=RalfJung
pointer tag tracking: also show when tag is being created
Also use bash to make sure `&>` works.
Ralf Jung [Tue, 27 Oct 2020 13:22:29 +0000 (14:22 +0100)]
pointer tag tracking: also show when tag is being created
Ralf Jung [Tue, 27 Oct 2020 13:21:59 +0000 (14:21 +0100)]
Use bash to make sure &> works
bors [Sun, 25 Oct 2020 09:02:22 +0000 (09:02 +0000)]
Auto merge of #1600 - RalfJung:rustup, r=RalfJung
rustup; make panic output less dependent on stdlib internals
Ralf Jung [Sun, 25 Oct 2020 09:00:50 +0000 (10:00 +0100)]
rustup; make panic output less dependent on stdlib internals
bors [Sat, 24 Oct 2020 23:03:47 +0000 (23:03 +0000)]
Auto merge of #1599 - camelid:default-args-const, r=RalfJung
Make `miri_default_args()` a constant
Feel free to close this if this is intentionally not a constant.
Camelid [Sat, 24 Oct 2020 19:46:02 +0000 (12:46 -0700)]
Make `miri_default_args()` a constant
bors [Sat, 24 Oct 2020 11:26:10 +0000 (11:26 +0000)]
Auto merge of #1598 - camelid:hide-readlink-error, r=RalfJung
Hide readlink error in `./miri`
Fixes #1597.
`./miri` is just testing whether the platform supports `readlink -e`,
but it didn't hide properly hide the stderr output. This fixes that.
bors [Sat, 24 Oct 2020 11:04:19 +0000 (11:04 +0000)]
Auto merge of #1596 - camelid:fix-readme, r=RalfJung
Fix README
Add a paragraph break in the license section for clarity.
## Before
![image](https://user-images.githubusercontent.com/
37223377 /
97042945 -
a5d3e500 -1526-11eb-9c16-
49f17f253e44 .png)
## After
![image](https://user-images.githubusercontent.com/
37223377 /
97042981 -
b2f0d400 -1526-11eb-88c4-
0db1119c2781 .png)
bors [Sat, 24 Oct 2020 10:42:24 +0000 (10:42 +0000)]
Auto merge of #1594 - camelid:dont-force-install-xargo, r=RalfJung
Don't force-install xargo
Previously miri used `cargo install xargo -f` which shouldn't be
necessary anymore since `cargo install` will now upgrade without `-f`.
The only reason I can see to use `-f` is from the cargo docs:
> This is also useful if something has changed on the system that you
> want to rebuild with, such as a newer version of `rustc`.
See the [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/why.20does.20miri.20require.20xargo/near/
214351239 ).
Camelid [Fri, 23 Oct 2020 20:00:33 +0000 (13:00 -0700)]
Hide readlink error in `./miri`
`./miri` is just testing whether the platform supports `readlink -e`,
but it didn't hide properly hide the stderr output. This fixes that.
Camelid [Fri, 23 Oct 2020 18:53:34 +0000 (11:53 -0700)]
Fix README
Camelid [Fri, 23 Oct 2020 18:48:34 +0000 (11:48 -0700)]
Don't force-install xargo
Previously miri used `cargo install xargo -f` which shouldn't be
necessary anymore since `cargo install` will now upgrade without `-f`.
The only reason I can see to use `-f` is from the cargo docs:
> This is also useful if something has changed on the system that you
> want to rebuild with, such as a newer version of `rustc`.
See the [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/why.20does.20miri.20require.20xargo/near/
214351239 ).
bors [Thu, 22 Oct 2020 08:36:45 +0000 (08:36 +0000)]
Auto merge of #1593 - rust-lang:test, r=RalfJung
fix './miri test'
Ralf Jung [Thu, 22 Oct 2020 08:36:01 +0000 (10:36 +0200)]
fix './miri test'
bors [Thu, 22 Oct 2020 08:08:41 +0000 (08:08 +0000)]
Auto merge of #1592 - RalfJung:rustup, r=RalfJung
rustup; increase slack for timing tests
Ralf Jung [Thu, 22 Oct 2020 07:47:02 +0000 (09:47 +0200)]
rustup; increase slack for timing tests
bors [Thu, 22 Oct 2020 07:46:10 +0000 (07:46 +0000)]
Auto merge of #1590 - RalfJung:trophy, r=RalfJung
another TiKV bug for the trophy case :)
Cc `@brson` thanks for the ping!
Ralf Jung [Wed, 21 Oct 2020 10:50:45 +0000 (12:50 +0200)]
another TiKV bug for the trophy case :)
bors [Wed, 21 Oct 2020 07:19:17 +0000 (07:19 +0000)]
Auto merge of #1589 - Aaron1011:enable-normal-backtrace, r=RalfJung
Enable `backtrace` feature in the generated `Xargo.toml`
This allows the normal std panic hook to print a backtrace if
`RUST_BACKTRACE=1` and `-Z miri-disable-isolation` are set
Aaron Hill [Tue, 20 Oct 2020 17:27:58 +0000 (13:27 -0400)]
Enable `backtrace` feature in the generated `Xargo.toml`
This allows the normal std panic hook to print a backtrace if
`RUST_BACKTRACE=1` and `-Z miri-disable-isolation` are set
bors [Tue, 20 Oct 2020 09:40:28 +0000 (09:40 +0000)]
Auto merge of #1587 - lzutao:only-gha, r=RalfJung
build: Gate only on GHA: remove travis and appveyor ci config
It's been over a week since #1571 merged.
The GHA evaluation is successful.
This PR removes CI config of travis and appveyor.
Now MIRI gates on github actions CI only.
Will need <https://github.com/rust-lang/homu/pull/109> to merge first,
otherwise bors will stuck.
Also, one may need to remove `continuous-integration/appveyor/pr` CI checks
in repo settings or appeveyor website.
Lzu Tao [Tue, 20 Oct 2020 05:26:30 +0000 (12:26 +0700)]
build: Gate only on GHA: remove travis and appveyor ci config
bors [Sun, 18 Oct 2020 09:22:59 +0000 (09:22 +0000)]
Auto merge of #1586 - RalfJung:available-concurrency, r=RalfJung
test new available_concurrency function
Cc https://github.com/rust-lang/rust/pull/74480
Ralf Jung [Sun, 18 Oct 2020 09:22:09 +0000 (11:22 +0200)]
test new available_concurrency function