Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Miri tests: use xargo to build separate libstd #63162

Merged
merged 11 commits into from
Aug 9, 2019

Conversation

RalfJung
Copy link
Member

@RalfJung RalfJung commented Jul 31, 2019

This uses cargo miri setup to prepare the libstd that is used for testing Miri, instead of adjusting the entire bootstrap process to make sure the libstd that already gets built is fit for Miri.

The issue with our current approach is that with test-miri = true, libstd and the test suite get built with --cfg miri, which e.g. means hashbrown uses no SIMD, and not all things are tested. Such global side-effects seem like footguns waiting to go off.

On the other hand, the new approach means we install xargo as a side-effect of doing ./x.py test src/tools/miri, which might be surprising, and we also both have to build xargo and another libstd which costs some extra time. Not sure if the tools builders have enough time budget for that. Maybe there is a way to cache xargo?

We have to first first land rust-lang/miri#870 in Miri and then update this PR to include that change (also to get CI to test Miri before bors), but I wanted to get the review started here.

Cc @oli-obk (for Miri) @alexcrichton (for CI) @Mark-Simulacrum (for bootstrap)

Fixes #61833, fixes #63219

@rust-highfive
Copy link
Collaborator

r? @nikomatsakis

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 31, 2019
@Centril
Copy link
Contributor

Centril commented Jul 31, 2019

r? @Mark-Simulacrum

@alexcrichton
Copy link
Member

This seems fine to me, especially as it looks to be consolidating miri testing related logic which is good! I think it'd be good to get a green light from Azure as well, but once the miri update is included that should auto-test here anyway.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-01T19:07:08.2887175Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-01T19:07:08.3384046Z ##[command]git config gc.auto 0
2019-08-01T19:07:08.3450477Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-01T19:07:08.3509419Z ##[command]git config --get-all http.proxy
2019-08-01T19:07:08.3654993Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63162/merge:refs/remotes/pull/63162/merge
---
2019-08-01T19:07:42.6702520Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-01T19:07:42.6702551Z 
2019-08-01T19:07:42.6702890Z   git checkout -b <new-branch-name>
2019-08-01T19:07:42.6702935Z 
2019-08-01T19:07:42.6703088Z HEAD is now at dc15913b8 Merge 80002c69a446f6b093d922a7d17029982be25d22 into 435236b8877cdb98c82eaebfb7887782277265c5
2019-08-01T19:07:42.6858050Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-01T19:07:42.6861595Z ==============================================================================
2019-08-01T19:07:42.6861673Z Task         : Bash
2019-08-01T19:07:42.6861719Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-01T19:11:38.4191327Z Removing intermediate container e92ed392030f
2019-08-01T19:11:38.4192092Z  ---> 7ded4badf43b
2019-08-01T19:11:38.4231780Z Successfully built 7ded4badf43b
2019-08-01T19:11:38.5166182Z Successfully tagged rust-ci:latest
2019-08-01T19:11:38.5451231Z Built container sha256:7ded4badf43bf5aa62a2c1b7b6a9fdfab6a567fe00cd0a04910d32fc479a7a5f
2019-08-01T19:11:38.5472474Z Uploading finished image to https://rust-lang-ci-sccache2.s3.amazonaws.com/docker/1bcedfd0fd3b0e1f17865450d97c5f933a700734ac7e085679f2dabcb79f9aa8554228d95a4689fc65827d53828df5be9ba37c197505830ce93978e771921af3
2019-08-01T19:12:40.1860916Z upload failed: - to s3://rust-lang-ci-sccache2/docker/1bcedfd0fd3b0e1f17865450d97c5f933a700734ac7e085679f2dabcb79f9aa8554228d95a4689fc65827d53828df5be9ba37c197505830ce93978e771921af3 Unable to locate credentials
2019-08-01T19:12:41.4514742Z [CI_JOB_NAME=x86_64-gnu-llvm-6.0]
2019-08-01T19:12:41.4558793Z Starting sccache server...
2019-08-01T19:12:41.5404088Z configure: processing command line
2019-08-01T19:12:41.5404788Z configure: 
---
2019-08-01T20:09:25.0505270Z .................................................................................................... 1400/8821
2019-08-01T20:09:30.7102210Z .................................................................................................... 1500/8821
2019-08-01T20:09:43.0298676Z .................................................................i...............i.................. 1600/8821
2019-08-01T20:09:50.2894079Z .................................................................................................... 1700/8821
2019-08-01T20:10:04.8275956Z ...................................................iiiii............................................ 1800/8821
2019-08-01T20:10:15.5837710Z .................................................................................................... 2000/8821
2019-08-01T20:10:18.0401974Z .................................................................................................... 2100/8821
2019-08-01T20:10:21.5784503Z .................................................................................................... 2200/8821
2019-08-01T20:10:27.9041970Z .................................................................................................... 2300/8821
---
2019-08-01T20:14:17.3080039Z .................................................................................................... 5300/8821
2019-08-01T20:14:24.6686615Z ...............i.................................................................................... 5400/8821
2019-08-01T20:14:30.1411153Z .................................................................................................... 5500/8821
2019-08-01T20:14:42.1573767Z .................................................................................................... 5600/8821
2019-08-01T20:14:55.5464950Z .........ii...i..ii...........i..................................................................... 5700/8821
2019-08-01T20:15:12.4369058Z .................................................................................................... 5900/8821
2019-08-01T20:15:17.2292123Z .................................................................................................... 6000/8821
2019-08-01T20:15:17.2292123Z .................................................................................................... 6000/8821
2019-08-01T20:15:30.8833368Z .........i..ii...................................................................................... 6100/8821
2019-08-01T20:15:49.5050100Z .....................................................i.............................................. 6300/8821
2019-08-01T20:15:51.6077176Z .................................................................................................... 6400/8821
2019-08-01T20:15:53.9902767Z .......................i............................................................................ 6500/8821
2019-08-01T20:15:58.3490736Z .................................................................................................... 6600/8821
---
2019-08-01T20:20:31.0550003Z  finished in 21.990
2019-08-01T20:20:31.0731940Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T20:20:31.2331964Z 
2019-08-01T20:20:31.2332706Z running 146 tests
2019-08-01T20:20:34.8019732Z i....iii......iii..iiii....i............................i..i................i....i.........ii.i.i..i 100/146
2019-08-01T20:20:36.1944547Z iii..............i.........iii.i......ii......
2019-08-01T20:20:36.1945071Z 
2019-08-01T20:20:36.1946024Z  finished in 5.121
2019-08-01T20:20:36.2125484Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T20:20:36.3685935Z 
---
2019-08-01T20:20:38.3719269Z  finished in 2.159
2019-08-01T20:20:38.3897574Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T20:20:38.5488638Z 
2019-08-01T20:20:38.5489290Z running 9 tests
2019-08-01T20:20:38.5490208Z iiiiiiiii
2019-08-01T20:20:38.5490578Z 
2019-08-01T20:20:38.5493508Z  finished in 0.159
2019-08-01T20:20:38.5691650Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T20:20:38.7321868Z 
---
2019-08-01T20:20:56.4168707Z  finished in 17.847
2019-08-01T20:20:56.4365583Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T20:20:56.6008654Z 
2019-08-01T20:20:56.6010795Z running 122 tests
2019-08-01T20:21:20.2398739Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
2019-08-01T20:21:24.8097116Z .i.i......iii.i.....ii
2019-08-01T20:21:24.8100037Z 
2019-08-01T20:21:24.8100851Z  finished in 28.373
2019-08-01T20:21:24.8106754Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T20:21:24.8107401Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-08-01T20:35:11.7041993Z 
2019-08-01T20:35:11.7042662Z    Doc-tests core
2019-08-01T20:35:15.8170697Z 
2019-08-01T20:35:15.8171620Z running 2379 tests
2019-08-01T20:35:28.0019236Z ......iiiii......................................................................................... 100/2379
2019-08-01T20:35:40.2593423Z .........................................................................ii......................... 200/2379
2019-08-01T20:36:09.2986658Z .................................................................................................... 400/2379
2019-08-01T20:36:09.2986658Z .................................................................................................... 400/2379
2019-08-01T20:36:20.2922567Z ..............................i..i.................iiii............................................. 500/2379
2019-08-01T20:36:43.7322863Z .................................................................................................... 700/2379
2019-08-01T20:36:55.2835714Z .................................................................................................... 800/2379
2019-08-01T20:37:07.0123484Z .................................................................................................... 900/2379
2019-08-01T20:37:18.7554387Z .................................................................................................... 1000/2379
---
2019-08-01T20:42:30.0178920Z 
2019-08-01T20:42:30.0180065Z running 989 tests
2019-08-01T20:42:53.2815596Z i................................................................................................... 100/989
2019-08-01T20:43:06.3425372Z .................................................................................................... 200/989
2019-08-01T20:43:15.0818337Z .................iii......i......i...i......i....................................................... 300/989
2019-08-01T20:43:19.9612578Z .................................................................................................... 400/989
2019-08-01T20:43:28.1077150Z ................................i..i.................................ii............................. 500/989
2019-08-01T20:43:42.8463803Z .................................................................................................... 700/989
2019-08-01T20:43:42.8463803Z .................................................................................................... 700/989
2019-08-01T20:43:51.2837625Z ...............iiii................................................................................. 800/989
2019-08-01T20:44:05.6555219Z .................................................................................................... 900/989
2019-08-01T20:44:13.1352170Z .....................................iiii................................................
2019-08-01T20:44:13.1354224Z 
2019-08-01T20:44:13.1555957Z  finished in 239.117
2019-08-01T20:44:13.1572852Z Testing unwind stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T20:44:13.3517367Z     Finished release [optimized] target(s) in 0.19s
---
2019-08-01T21:03:39.3199699Z  finished in 32.345
2019-08-01T21:03:39.3540752Z Check compiletest suite=run-make-fulldeps mode=run-make (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-01T21:03:39.5202554Z 
2019-08-01T21:03:39.5203462Z running 199 tests
2019-08-01T21:04:12.8589516Z ....................i...ii................................................................i......... 100/199
2019-08-01T21:04:56.0739967Z ..............................iiii.......i..........iiii.iii....................................i..
2019-08-01T21:04:56.0740827Z 
2019-08-01T21:04:56.0740882Z  finished in 76.720
2019-08-01T21:04:56.0748392Z doc tests for: /checkout/src/doc/rustdoc/src/command-line-arguments.md
2019-08-01T21:04:56.0826592Z doc tests for: /checkout/src/doc/rustdoc/src/documentation-tests.md
---
2019-08-01T21:09:27.9037835Z    Compiling parking_lot v0.7.1
2019-08-01T21:10:21.2568112Z    Compiling rustc-workspace-hack v1.0.0 (/checkout/src/tools/rustc-workspace-hack)
2019-08-01T21:11:19.0465539Z     Finished release [optimized] target(s) in 6m 08s
2019-08-01T21:11:19.2768382Z     Finished release [optimized] target(s) in 0.21s
2019-08-01T21:11:19.2894564Z      Running `build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/cargo-miri miri setup`
2019-08-01T21:11:19.2926132Z thread 'main' panicked at 'Failed to run rustc to get sysroot info: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/libcore/result.rs:1084:5
2019-08-01T21:11:19.2929430Z 
2019-08-01T21:11:19.2929660Z 
2019-08-01T21:11:19.2929660Z 
2019-08-01T21:11:19.2931181Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "run" "--target" "x86_64-unknown-linux-gnu" "-j" "2" "--release" "--locked" "--color" "always" "--manifest-path" "/checkout/src/tools/miri/Cargo.toml" "--features" "rustc-workspace-hack/all-static" "--bin" "cargo-miri" "--" "miri" "setup"
2019-08-01T21:11:19.2931843Z 
2019-08-01T21:11:19.2932049Z 
2019-08-01T21:11:19.2935773Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-01T21:11:19.2936096Z Build completed unsuccessfully in 1:54:56
2019-08-01T21:11:19.2936096Z Build completed unsuccessfully in 1:54:56
2019-08-01T21:11:20.5573030Z ##[error]Bash exited with code '1'.
2019-08-01T21:11:20.5622059Z ##[section]Starting: Checkout
2019-08-01T21:11:20.5623608Z ==============================================================================
2019-08-01T21:11:20.5623665Z Task         : Get sources
2019-08-01T21:11:20.5623731Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@RalfJung
Copy link
Member Author

RalfJung commented Aug 1, 2019

2019-08-01T21:11:19.2894564Z      Running `build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/cargo-miri miri setup`
2019-08-01T21:11:19.2926132Z thread 'main' panicked at 'Failed to run rustc to get sysroot info: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/libcore/result.rs:1084:5

Wait, why did this code now run in the x86_64-gnu-llvm-6.0 runner?

It says "Building stage2 tool miri", and still seems to try to test.

Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me as well (r=me, presuming no one else needs to review this); I have not looked at miri-internal changes and such.

@Mark-Simulacrum
Copy link
Member

@bors rollup=never

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-02T09:36:21.4937452Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-02T09:36:21.5101113Z ##[command]git config gc.auto 0
2019-08-02T09:36:21.5161094Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-02T09:36:21.5236601Z ##[command]git config --get-all http.proxy
2019-08-02T09:36:21.5350964Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63162/merge:refs/remotes/pull/63162/merge
---
2019-08-02T09:36:57.2994388Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-02T09:36:57.2994412Z 
2019-08-02T09:36:57.2994582Z   git checkout -b <new-branch-name>
2019-08-02T09:36:57.2994621Z 
2019-08-02T09:36:57.2994660Z HEAD is now at 81744647f Merge 142dbc62b5baccd2a34a073b123e039f7fb61b9f into 435236b8877cdb98c82eaebfb7887782277265c5
2019-08-02T09:36:57.3145594Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-02T09:36:57.3149131Z ==============================================================================
2019-08-02T09:36:57.3149218Z Task         : Bash
2019-08-02T09:36:57.3149263Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-02T10:38:17.0408053Z .................................................................................................... 1400/8821
2019-08-02T10:38:22.9567147Z .................................................................................................... 1500/8821
2019-08-02T10:38:35.9431038Z .................................................................i...............i.................. 1600/8821
2019-08-02T10:38:43.6527736Z .................................................................................................... 1700/8821
2019-08-02T10:38:59.4139080Z ...................................................iiiii............................................ 1800/8821
2019-08-02T10:39:10.6170562Z .................................................................................................... 2000/8821
2019-08-02T10:39:13.5115043Z .................................................................................................... 2100/8821
2019-08-02T10:39:17.3729277Z .................................................................................................... 2200/8821
2019-08-02T10:39:23.9652963Z .................................................................................................... 2300/8821
---
2019-08-02T10:43:23.7995450Z .................................................................................................... 5300/8821
2019-08-02T10:43:31.4839384Z ...............i.................................................................................... 5400/8821
2019-08-02T10:43:37.0867125Z .................................................................................................... 5500/8821
2019-08-02T10:43:49.8578187Z .................................................................................................... 5600/8821
2019-08-02T10:44:03.7350965Z .........ii...i..ii...........i..................................................................... 5700/8821
2019-08-02T10:44:20.8378154Z .................................................................................................... 5900/8821
2019-08-02T10:44:25.7534459Z .................................................................................................... 6000/8821
2019-08-02T10:44:25.7534459Z .................................................................................................... 6000/8821
2019-08-02T10:44:39.8484246Z .........i..ii...................................................................................... 6100/8821
2019-08-02T10:44:59.6753023Z ....................................................i............................................... 6300/8821
2019-08-02T10:45:01.9262243Z .................................................................................................... 6400/8821
2019-08-02T10:45:04.4096530Z .......................i............................................................................ 6500/8821
2019-08-02T10:45:08.8711424Z .................................................................................................... 6600/8821
---
2019-08-02T10:49:48.6727842Z  finished in 20.465
2019-08-02T10:49:48.6917053Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T10:49:48.8579620Z 
2019-08-02T10:49:48.8579880Z running 146 tests
2019-08-02T10:49:52.2314967Z i....iii......iii..iiii....i............................i..i................i....i.........ii.i.i..i 100/146
2019-08-02T10:49:54.1045659Z iii..............i.........iii.i......ii......
2019-08-02T10:49:54.1047525Z 
2019-08-02T10:49:54.1048921Z  finished in 5.413
2019-08-02T10:49:54.1243881Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T10:49:54.2913989Z 
---
2019-08-02T10:49:56.3964370Z  finished in 2.272
2019-08-02T10:49:56.4152398Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T10:49:56.5830860Z 
2019-08-02T10:49:56.5832310Z running 9 tests
2019-08-02T10:49:56.5836041Z iiiiiiiii
2019-08-02T10:49:56.5836452Z 
2019-08-02T10:49:56.5836525Z  finished in 0.168
2019-08-02T10:49:56.6034954Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T10:49:56.7714674Z 
---
2019-08-02T10:50:15.0629315Z  finished in 18.459
2019-08-02T10:50:15.0829928Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T10:50:15.2400937Z 
2019-08-02T10:50:15.2401351Z running 122 tests
2019-08-02T10:50:38.6559824Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
2019-08-02T10:50:43.2259793Z .i.i......iii.i.....ii
2019-08-02T10:50:43.2263432Z 
2019-08-02T10:50:43.2264049Z  finished in 28.143
2019-08-02T10:50:43.2266749Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T10:50:43.2267362Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-08-02T11:05:00.6711843Z 
2019-08-02T11:05:00.6727234Z    Doc-tests core
2019-08-02T11:05:04.9451792Z 
2019-08-02T11:05:04.9452739Z running 2379 tests
2019-08-02T11:05:17.7709933Z ......iiiii......................................................................................... 100/2379
2019-08-02T11:05:30.1916742Z .........................................................................ii......................... 200/2379
2019-08-02T11:06:00.6537180Z .................................................................................................... 400/2379
2019-08-02T11:06:00.6537180Z .................................................................................................... 400/2379
2019-08-02T11:06:11.8528189Z ..............................i..i.................iiii............................................. 500/2379
2019-08-02T11:06:37.2253634Z .................................................................................................... 700/2379
2019-08-02T11:06:48.5198619Z .................................................................................................... 800/2379
2019-08-02T11:07:00.7354983Z .................................................................................................... 900/2379
2019-08-02T11:07:12.7172228Z .................................................................................................... 1000/2379
---
2019-08-02T11:12:18.5830672Z ............................................... 300/756
2019-08-02T11:12:18.5853635Z thread '<unnamed>' panicked at 'explicit panic', src/libstd/io/stdio.rs:854:13
2019-08-02T11:12:18.6836164Z .................................................................................................... 400/756
2019-08-02T11:12:20.7774664Z .................................................................................................... 500/756
2019-08-02T11:12:20.7958250Z .............thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1084:5
2019-08-02T11:12:20.7974761Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libcore/result.rs:1084:5
2019-08-02T11:12:20.7980914Z .thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1084:5
2019-08-02T11:12:20.8002236Z ......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1084:5
2019-08-02T11:12:21.0068660Z .............................................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1084:5
2019-08-02T11:12:21.0087724Z .......thread '.<unnamed>.' panicked at 'thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1084:5
2019-08-02T11:12:21.0200751Z ...................... 600/756
2019-08-02T11:12:23.0579247Z ...............thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:629:13
2019-08-02T11:12:23.0586772Z ..thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:584:13
2019-08-02T11:12:23.0597313Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:561:13
---
2019-08-02T11:12:32.5699095Z 
2019-08-02T11:12:32.5699380Z running 989 tests
2019-08-02T11:12:56.9310025Z i................................................................................................... 100/989
2019-08-02T11:13:10.3238017Z .................................................................................................... 200/989
2019-08-02T11:13:19.2359439Z .................iii......i......i...i......i....................................................... 300/989
2019-08-02T11:13:24.2163956Z .................................................................................................... 400/989
2019-08-02T11:13:32.5951825Z ................................i..i.................................ii............................. 500/989
2019-08-02T11:13:48.1733188Z .................................................................................................... 700/989
2019-08-02T11:13:48.1733188Z .................................................................................................... 700/989
2019-08-02T11:13:57.1281008Z ...............iiii................................................................................. 800/989
2019-08-02T11:14:11.9557292Z .................................................................................................... 900/989
2019-08-02T11:14:19.7324093Z .....................................iiii................................................
2019-08-02T11:14:19.7328831Z 
2019-08-02T11:14:19.7526953Z  finished in 248.383
2019-08-02T11:14:19.7541387Z Testing unwind stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T11:14:19.9557293Z     Finished release [optimized] target(s) in 0.19s
---
2019-08-02T11:34:38.2111049Z  finished in 33.629
2019-08-02T11:34:39.1843839Z Check compiletest suite=run-make-fulldeps mode=run-make (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T11:34:39.1844676Z 
2019-08-02T11:34:39.1844851Z running 199 tests
2019-08-02T11:35:13.2971366Z ....................i...ii................................................................i......... 100/199
2019-08-02T11:35:58.0820420Z ..............................iiii.......i..........iiii.iii....................................i..
2019-08-02T11:35:58.0821232Z 
2019-08-02T11:35:58.0827374Z  finished in 79.837
2019-08-02T11:35:58.0836828Z doc tests for: /checkout/src/doc/rustdoc/src/command-line-arguments.md
2019-08-02T11:35:58.0937975Z doc tests for: /checkout/src/doc/rustdoc/src/documentation-tests.md
---
2019-08-02T11:40:44.2166070Z    Compiling parking_lot v0.7.1
2019-08-02T11:41:39.4964123Z    Compiling rustc-workspace-hack v1.0.0 (/checkout/src/tools/rustc-workspace-hack)
2019-08-02T11:42:39.1200666Z     Finished release [optimized] target(s) in 6m 26s
2019-08-02T11:42:39.3555989Z     Finished release [optimized] target(s) in 0.22s
2019-08-02T11:42:39.3584909Z      Running `build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/cargo-miri miri setup`
2019-08-02T11:42:39.3621904Z Installing xargo: `cargo install xargo -f`
2019-08-02T11:42:39.3622261Z thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/libcore/result.rs:1084:5
2019-08-02T11:42:39.3622383Z 
2019-08-02T11:42:39.3622424Z 
2019-08-02T11:42:39.3622424Z 
2019-08-02T11:42:39.3622862Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "run" "--target" "x86_64-unknown-linux-gnu" "-j" "2" "--release" "--locked" "--color" "always" "--manifest-path" "/checkout/src/tools/miri/Cargo.toml" "--features" "rustc-workspace-hack/all-static" "--bin" "cargo-miri" "--" "miri" "setup"
2019-08-02T11:42:39.3623127Z 
2019-08-02T11:42:39.3623149Z 
2019-08-02T11:42:39.3629688Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-02T11:42:39.3629786Z Build completed unsuccessfully in 1:59:41
2019-08-02T11:42:39.3629786Z Build completed unsuccessfully in 1:59:41
2019-08-02T11:42:40.3412341Z ##[error]Bash exited with code '1'.
2019-08-02T11:42:40.3479615Z ##[section]Starting: Checkout
2019-08-02T11:42:40.3481697Z ==============================================================================
2019-08-02T11:42:40.3481772Z Task         : Get sources
2019-08-02T11:42:40.3481813Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@RalfJung
Copy link
Member Author

RalfJung commented Aug 2, 2019

@Mark-Simulacrum any idea why the x86_64-gnu-llvm-6.0 builder tries to run cargo miri setup? I added this only to the "test" steps.

The tools builder also fails, I am investigating that.

@Mark-Simulacrum
Copy link
Member

That builder runs tests? python2.7 ../x.py test src/tools/tidy && python2.7 ../x.py test is the invocation on that builder. So this seems expected.

@RalfJung
Copy link
Member Author

RalfJung commented Aug 2, 2019

But I thought the tools tests should only be run on the tools builder?

@Mark-Simulacrum
Copy link
Member

I've spent a bit of time trying to investigate, and something feels off to me. This auto branch build does not build miri on the x86_64-gnu-llvm-6.0 builder. Neither does this recent PR build; the failure in this PR though clearly shows miri being built.

AFAICT, this is because Miri is labeled as "default" = true, unlike all the other tools (Clippy, etc.) This usually didn't matter because we had test_miri as a condition, but since that has gone away, this PR needs to change miri to no longer be enabled by default, by removing or flipping the value of const DEFAULT on the test::Miri step.

@rust-highfive

This comment has been minimized.

@RalfJung
Copy link
Member Author

RalfJung commented Aug 2, 2019

@Mark-Simulacrum nice catch, thanks!

@rust-highfive
Copy link
Collaborator

The job LinuxTools of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-02T17:07:31.8515014Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-02T17:07:31.8722332Z ##[command]git config gc.auto 0
2019-08-02T17:07:32.5605307Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-02T17:07:32.5612832Z ##[command]git config --get-all http.proxy
2019-08-02T17:07:32.5616719Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63162/merge:refs/remotes/pull/63162/merge
---
2019-08-02T17:08:06.7061830Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-02T17:08:06.7063698Z 
2019-08-02T17:08:06.7065291Z   git checkout -b <new-branch-name>
2019-08-02T17:08:06.7066681Z 
2019-08-02T17:08:06.7068120Z HEAD is now at fb45f85e2 Merge 77028562fc02b3dd2222adbaec94daa9feba1f2f into 1df512fcaeaf17639c5d28a3045814d6f7a7db97
2019-08-02T17:08:06.7197092Z ##[section]Finishing: Checkout
2019-08-02T17:08:06.7204803Z ##[section]Starting: Decide whether to run this job
2019-08-02T17:08:06.7207764Z Task         : Bash
2019-08-02T17:08:06.7207809Z Description  : Run a Bash script on macOS, Linux, or Windows
2019-08-02T17:08:06.7208015Z Version      : 3.151.3
2019-08-02T17:08:06.7208080Z Author       : Microsoft Corporation
2019-08-02T17:08:06.7208080Z Author       : Microsoft Corporation
2019-08-02T17:08:06.7208129Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash
2019-08-02T17:08:06.7208179Z ==============================================================================
2019-08-02T17:08:06.8694040Z Generating script.
2019-08-02T17:08:06.8757987Z ========================== Starting Command Output ===========================
2019-08-02T17:08:06.8760645Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/0e55f6ab-d227-456c-aa18-eed2e83ddd36.sh
2019-08-02T17:08:07.2700778Z Executing the job since submodules are updated
2019-08-02T17:08:07.2809642Z ##[section]Finishing: Decide whether to run this job
2019-08-02T17:08:07.2826009Z ==============================================================================
2019-08-02T17:08:07.2826136Z Task         : Bash
2019-08-02T17:08:07.2827673Z Description  : Run a Bash script on macOS, Linux, or Windows
2019-08-02T17:08:07.2827719Z Version      : 3.151.3
---
2019-08-02T17:11:25.0923215Z  ---> da247f97cae5
2019-08-02T17:11:25.0965896Z Successfully built da247f97cae5
2019-08-02T17:11:25.1785026Z Successfully tagged rust-ci:latest
2019-08-02T17:11:25.2446350Z Built container sha256:da247f97cae5eae5b83c5c729161a428910c2334b8e4b7c36a44141f6436df9e
2019-08-02T17:11:25.2462831Z Uploading finished image to https://rust-lang-ci-sccache2.s3.amazonaws.com/docker/0a94e800dbdbef90fbb9cf381d041a9386910340a5cdd758b34797988dea18bff1c9fc0562ea46a76a5a5ba9a8bbf4046ce3ddf0fb0b70448e54334a8af215fe
2019-08-02T17:12:06.0676108Z upload failed: - to s3://rust-lang-ci-sccache2/docker/0a94e800dbdbef90fbb9cf381d041a9386910340a5cdd758b34797988dea18bff1c9fc0562ea46a76a5a5ba9a8bbf4046ce3ddf0fb0b70448e54334a8af215fe Unable to locate credentials
2019-08-02T17:12:07.0522142Z [CI_JOB_NAME=LinuxTools]
2019-08-02T17:12:07.0572725Z Starting sccache server...
2019-08-02T17:12:07.1538739Z configure: processing command line
2019-08-02T17:12:07.1539523Z configure: 
---
2019-08-02T19:00:40.7248694Z 
2019-08-02T19:00:40.7249344Z stderr ----
2019-08-02T19:00:40.7249526Z Error: there are broken links
2019-08-02T19:00:40.7249955Z  Caused By: "https://github.com/rust-lang/compiler-team/blob/master/experts/MAP.md" returned 404 Not Found
2019-08-02T19:00:40.7250850Z  Caused By: "***/tree/master/src/test/run-pass/" returned 404 Not Found
2019-08-02T19:00:40.7251596Z  Caused By: There was an error while fetching "http://aturon.github.io/blog/2017/04/24/negative-chalk/", http://aturon.github.io/blog/2017/04/24/negative-chalk/: timed out
2019-08-02T19:00:40.7252530Z  Caused By: There was an error while fetching "http://rust-lang.github.io/rfcs/1211-mir.html", http://rust-lang.github.io/rfcs/1211-mir.html: timed out
2019-08-02T19:00:40.7253842Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7254282Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7254689Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7255819Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7255819Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7256369Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7256834Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7257323Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7257797Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7258265Z  Caused By: "https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.Place.html" returned 404 Not Found
2019-08-02T19:00:40.7258799Z  Caused By: There was an error while fetching "http://rust-lang.github.io/rfcs/2094-nll.html", http://rust-lang.github.io/rfcs/2094-nll.html: timed out
2019-08-02T19:00:40.7259387Z 
2019-08-02T19:00:40.7259707Z 
2019-08-02T19:00:40.7260096Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-02T19:00:40.7260535Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-08-02T19:27:37.1806931Z      |
2019-08-02T19:27:37.1813521Z 1269 | #[bench]
2019-08-02T19:27:37.1819166Z      |   ^^^^^
2019-08-02T19:27:37.1824766Z      |
2019-08-02T19:27:37.1830453Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:37.1896485Z 
2019-08-02T19:27:37.1896815Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:37.1899223Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1284:3
2019-08-02T19:27:37.1899738Z      |
2019-08-02T19:27:37.1899738Z      |
2019-08-02T19:27:37.1900058Z 1284 | #[bench]
2019-08-02T19:27:37.1900310Z      |   ^^^^^
2019-08-02T19:27:37.1900542Z      |
2019-08-02T19:27:37.1900918Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:37.1901316Z 
2019-08-02T19:27:37.1901630Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:37.1901963Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1302:3
2019-08-02T19:27:37.1902206Z      |
2019-08-02T19:27:37.1902206Z      |
2019-08-02T19:27:37.1902791Z 1302 | #[bench]
2019-08-02T19:27:37.1903022Z      |   ^^^^^
2019-08-02T19:27:37.1903233Z      |
2019-08-02T19:27:37.1903536Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:37.1903882Z 
2019-08-02T19:27:37.1904489Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:37.1904951Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1320:3
2019-08-02T19:27:37.1905141Z      |
2019-08-02T19:27:37.1905141Z      |
2019-08-02T19:27:37.1905354Z 1320 | #[bench]
2019-08-02T19:27:37.1905575Z      |   ^^^^^
2019-08-02T19:27:37.1905752Z      |
2019-08-02T19:27:37.1906024Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:37.1906333Z 
2019-08-02T19:27:37.1906598Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:37.1906893Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1335:3
2019-08-02T19:27:37.1907081Z      |
2019-08-02T19:27:37.1907081Z      |
2019-08-02T19:27:37.1907293Z 1335 | #[bench]
2019-08-02T19:27:37.1907517Z      |   ^^^^^
2019-08-02T19:27:37.1907691Z      |
2019-08-02T19:27:37.1907984Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:37.1908366Z 
2019-08-02T19:27:39.0078505Z error: aborting due to 5 previous errors
2019-08-02T19:27:39.0082895Z 
2019-08-02T19:27:39.0088117Z For more information about this error, try `rustc --explain E0658`.
---
2019-08-02T19:27:49.5261446Z      |
2019-08-02T19:27:49.5261740Z 1269 | #[bench]
2019-08-02T19:27:49.5261993Z      |   ^^^^^
2019-08-02T19:27:49.5262209Z      |
2019-08-02T19:27:49.5262958Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:49.5263302Z 
2019-08-02T19:27:49.5263615Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:49.5263937Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1284:3
2019-08-02T19:27:49.5264143Z      |
2019-08-02T19:27:49.5264143Z      |
2019-08-02T19:27:49.5264388Z 1284 | #[bench]
2019-08-02T19:27:49.5264613Z      |   ^^^^^
2019-08-02T19:27:49.5264806Z      |
2019-08-02T19:27:49.5265141Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:49.5265460Z 
2019-08-02T19:27:49.5265822Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:49.5266320Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1302:3
2019-08-02T19:27:49.5266551Z      |
2019-08-02T19:27:49.5266551Z      |
2019-08-02T19:27:49.5266787Z 1302 | #[bench]
2019-08-02T19:27:49.5267023Z      |   ^^^^^
2019-08-02T19:27:49.5267238Z      |
2019-08-02T19:27:49.5267831Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:49.5268178Z 
2019-08-02T19:27:49.5268476Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:49.5268896Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1320:3
2019-08-02T19:27:49.5269167Z      |
2019-08-02T19:27:49.5269167Z      |
2019-08-02T19:27:49.5269406Z 1320 | #[bench]
2019-08-02T19:27:49.5270373Z      |   ^^^^^
2019-08-02T19:27:49.5270611Z      |
2019-08-02T19:27:49.5270949Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:49.5271329Z 
2019-08-02T19:27:49.5271640Z error[E0658]: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
2019-08-02T19:27:49.5271993Z     --> /cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_data_structures-542.0.0/bit_set.rs:1335:3
2019-08-02T19:27:49.5272213Z      |
2019-08-02T19:27:49.5272213Z      |
2019-08-02T19:27:49.5272455Z 1335 | #[bench]
2019-08-02T19:27:49.5272712Z      |   ^^^^^
2019-08-02T19:27:49.5273591Z      |
2019-08-02T19:27:49.5274161Z      = note: for more information, see ***/issues/50297
2019-08-02T19:27:49.5274872Z 
2019-08-02T19:27:51.2720543Z error: aborting due to 5 previous errors
2019-08-02T19:27:51.2721375Z 
2019-08-02T19:27:51.2721983Z For more information about this error, try `rustc --explain E0658`.
---
2019-08-02T19:28:11.3027478Z Verifying status of clippy-driver...
2019-08-02T19:28:11.3038183Z Verifying status of miri...
2019-08-02T19:28:11.3049777Z This PR updated 'src/tools/miri', verifying if status is 'test-pass'...
2019-08-02T19:28:11.3062054Z 
2019-08-02T19:28:11.3069697Z ⚠️ We detected that this PR updated 'miri', but its tests failed.
2019-08-02T19:28:11.3069804Z 
2019-08-02T19:28:11.3070355Z If you do intend to update 'miri', please check the error messages above and
2019-08-02T19:28:11.3070410Z commit another update.
2019-08-02T19:28:11.3070437Z 
2019-08-02T19:28:11.3070673Z If you do NOT intend to update 'miri', please ensure you did not accidentally
2019-08-02T19:28:11.3071325Z change the submodule at 'src/tools/miri'. You may ask your reviewer for the
2019-08-02T19:28:11.3071382Z proper steps.
2019-08-02T19:28:12.2583702Z ##[error]Bash exited with code '3'.
2019-08-02T19:28:12.2652694Z ##[section]Starting: Checkout
2019-08-02T19:28:12.2654825Z ==============================================================================
2019-08-02T19:28:12.2654893Z Task         : Get sources
2019-08-02T19:28:12.2654936Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@RalfJung
Copy link
Member Author

RalfJung commented Aug 2, 2019

Testing only on the tools job seems to work, at least. ;)

Building Miri fails because master is currently broken with Miri.

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Aug 2, 2019

📌 Commit 77028562fc02b3dd2222adbaec94daa9feba1f2f has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 2, 2019
@alexcrichton
Copy link
Member

Or well,

@bors: r- delegate+

r=me when this is ready

@RalfJung
Copy link
Member Author

RalfJung commented Aug 8, 2019

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented Aug 8, 2019

📌 Commit e6be1d7 has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Aug 8, 2019
bors added a commit to rust-lang/miri that referenced this pull request Aug 8, 2019
Cleanup after rustc bootstrap tests Miri with a separate libstd

Should only be merged after rust-lang/rust#63162 got the green light.
@bors
Copy link
Contributor

bors commented Aug 8, 2019

⌛ Testing commit e6be1d7 with merge a430e789d93814093d5f4889a5bcdee977f9aa75...

Centril added a commit to Centril/rust that referenced this pull request Aug 8, 2019
Miri tests: use xargo to build separate libstd

This uses `cargo miri setup` to prepare the libstd that is used for testing Miri, instead of adjusting the entire bootstrap process to make sure the libstd that already gets built is fit for Miri.

The issue with our current approach is that with `test-miri = true`, libstd and the test suite get built with `--cfg miri`, which e.g. means hashbrown uses no SIMD, and not all things are tested. Such global side-effects seem like footguns waiting to go off.

On the other hand, the new approach means we install xargo as a side-effect of doing `./x.py test src/tools/miri`, which might be surprising, and we also both have to build xargo and another libstd which costs some extra time. Not sure if the tools builders have enough time budget for that. Maybe there is a way to cache xargo?

We have to first first land rust-lang/miri#870 in Miri and then update this PR to include that change (also to get CI to test Miri before bors), but I wanted to get the review started here.

Cc @oli-obk (for Miri) @alexcrichton (for CI) @Mark-Simulacrum (for bootstrap)

Fixes rust-lang#61833, fixes rust-lang#63219
@Centril
Copy link
Contributor

Centril commented Aug 8, 2019

@bors retry rolled up.

@bors
Copy link
Contributor

bors commented Aug 8, 2019

⌛ Testing commit e6be1d7 with merge d58ca014d15e3523965f8a7a46f94d1a4ceb5166...

Centril added a commit to Centril/rust that referenced this pull request Aug 8, 2019
Miri tests: use xargo to build separate libstd

This uses `cargo miri setup` to prepare the libstd that is used for testing Miri, instead of adjusting the entire bootstrap process to make sure the libstd that already gets built is fit for Miri.

The issue with our current approach is that with `test-miri = true`, libstd and the test suite get built with `--cfg miri`, which e.g. means hashbrown uses no SIMD, and not all things are tested. Such global side-effects seem like footguns waiting to go off.

On the other hand, the new approach means we install xargo as a side-effect of doing `./x.py test src/tools/miri`, which might be surprising, and we also both have to build xargo and another libstd which costs some extra time. Not sure if the tools builders have enough time budget for that. Maybe there is a way to cache xargo?

We have to first first land rust-lang/miri#870 in Miri and then update this PR to include that change (also to get CI to test Miri before bors), but I wanted to get the review started here.

Cc @oli-obk (for Miri) @alexcrichton (for CI) @Mark-Simulacrum (for bootstrap)

Fixes rust-lang#61833, fixes rust-lang#63219
@Centril
Copy link
Contributor

Centril commented Aug 8, 2019

@bors retry rolled up.

bors added a commit that referenced this pull request Aug 8, 2019
Rollup of 6 pull requests

Successful merges:

 - #63162 (Miri tests: use xargo to build separate libstd)
 - #63289 (Don't recommend `extern crate` syntax)
 - #63373 (gitignore: add comment explaining policy)
 - #63374 (move of packed fields might or might not occur when they actually are sufficiently aligned)
 - #63381 (reduce visibility)
 - #63387 (Test interaction between `async { ... }` and `?`, `return`, and `break`)

Failed merges:

r? @ghost
@bors bors merged commit e6be1d7 into rust-lang:master Aug 9, 2019
@RalfJung RalfJung deleted the miri-xargo branch August 9, 2019 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

miri no longer builds after rust-lang/rust#63214 Get rid of the test-miri flag in config.toml
7 participants