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

Added pointer checking to sanity checks #53831

Merged
merged 1 commit into from
Sep 3, 2018

Conversation

TheDarkula
Copy link
Contributor

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 30, 2018
@TheDarkula
Copy link
Contributor Author

cc @RalfJung

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (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.
[00:50:26] ....................................................................................................
[00:50:29] ....................................................................................................
[00:50:32] ....................................................................................................
[00:50:36] ........i...........................................................................................
[00:50:41] ..............................................................F.....F...............................
[00:50:47] .................ii.iii.............................................................................
[00:50:50] ....................................................................................................
[00:50:52] ....................................................................................................
[00:50:55] ....................................................................................................
---
[00:52:17] .....................................................................i..............................
[00:52:20] ....................................................................................................
[00:52:23] ....................................................................................................
[00:52:26] ....................................................................................................
: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/ub-ptr-in-usize.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/ub-ptr-in-usize/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/ub-ptr-in-usize/auxiliary" "-A" "unused"
[00:52:28] ------------------------------------------
[00:52:28] 
[00:52:28] ------------------------------------------
[00:52:28] stderr:
[00:52:28] stderr:
[00:52:28] ------------------------------------------
[00:52:28] {"message":"this constant likely exhibits undefined behavior","code":{"code":"E0080","explanation":"\nThis error indicates that the compiler was unable to sensibly evaluate an\nconstant expression that had to be evaluated. Attempting to divide by 0\nor causing integer overflow are two ways to induce this error. For example:\n\n```compile_fail,E0080\nenum Enum {\n    X = (1 << 500),\n    Y = (1 / 0)\n}\n```\n\nEnsure that the expressions given can be evaluated as the desired integer type.\nSee the FFI section of the Reference for more information about using a custom\ninteger type:\n\nhttps://doc.rust-lang.org/reference.html#ffi-attributes\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/ub-ptr-in-usize.rs","byte_start":582,"byte_end":636,"line_start":19,"line_end":19,"column_start":1,"column_end":55,"is_primary":true,"text":[{"text":"const PTR_AS_USIZE: usize = unsafe { Foo { a: &1 }.b};","highlight_start":1,"highlight_end":55}],"label":"type validation failed: encountered a pointer, but expected the type usize","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0080]: this constant likely exhibits undefined behavior\n  --> /checkout/src/test/ui/consts/const-eval/ub-ptr-in-usize.rs:19:1\n   |\nLL | const PTR_AS_USIZE: usize = unsafe { Foo { a: &1 }.b};\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type usize\n   |\n   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior\n\n"}
[00:52:28] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:52:28] {"message":"For more information about this error, try `rustc --explain E0080`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0080`.\n"}
[00:52:28] ------------------------------------------
[00:52:28] 
[00:52:28] 
[00:52:28] thags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:52:28] 
[00:52:28] 
[00:52:28] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:52:28] Build completed unsuccessfully in 0:03:21
[00:52:28] Build completed unsuccessfully in 0:03:21
[00:52:28] make: *** [check] Error 1
[00:52:28] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:03ff7587
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:0beabae2:start=1535655199657479966,finish=1535655199667837244,duration=10357278
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:103c6542
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0ffb9f64
$ dmesg | grep -i kill

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)

@bors
Copy link
Contributor

bors commented Aug 31, 2018

☔ The latest upstream changes (presumably #53779) made this pull request unmergeable. Please resolve the merge conflicts.

@TheDarkula TheDarkula force-pushed the pointer-check branch 3 times, most recently from d595ef6 to d396004 Compare August 31, 2018 12:35
@oli-obk
Copy link
Contributor

oli-obk commented Aug 31, 2018

@bors r+

@bors
Copy link
Contributor

bors commented Aug 31, 2018

📌 Commit d39600432c1079352481dc31b4ab7d293fa8cb22 has been approved by oli-obk

@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 31, 2018
@oli-obk
Copy link
Contributor

oli-obk commented Aug 31, 2018

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 31, 2018
@oli-obk
Copy link
Contributor

oli-obk commented Aug 31, 2018

@bors try let's crater this first. This is a breaking change for code that drives dangerously close to UB

@bors
Copy link
Contributor

bors commented Aug 31, 2018

⌛ Trying commit d39600432c1079352481dc31b4ab7d293fa8cb22 with merge aa245a5862056b681d2ccdb178f58891108cd3a6...

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (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.
[00:46:50] ....................................................................................................
[00:46:53] ....................................................................................................
[00:46:56] ....................................................................................................
[00:47:00] ........i...........................................................................................
[00:47:04] .......................F............................................................................
[00:47:07] .i.......i..........................................................................................
[00:47:13] ....................................................................................................
[00:47:16] ....................................................................................................
[00:47:18] ....................................................................................................
[00:47:20] ....................................................................................................
---
[00:48:51] 
[00:48:51] ---- [ui] ui/consts/const-eval/const-pointer-values-in-various-types.rs stdout ----
[00:48:51] diff of stderr:
[00:48:51] 
[00:48:51] 1 error[E0080]: this constant likely exhibits undefined behavior
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:24:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:24:5
[00:48:51] 3    |
[00:48:51] 4 LL |     const I32_REF_USIZE_UNION: usize = unsafe { Nonsense { int_32_ref: &3 }.u };
[00:48:51] 5    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type usize
[00:48:51] 
[00:48:51] 7    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior
[00:48:51] 9 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:27:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:27:5
[00:48:51] 11    |
[00:48:51] 11    |
[00:48:51] 12 LL |     const I32_REF_U8_UNION: u8 = unsafe { Nonsense { int_32_ref: &3 }.uint_8 };
[00:48:51] 
[00:48:51] 17    = note: #[deny(const_err)] on by default
[00:48:51] 18 
[00:48:51] 19 error: this constant cannot be used
[00:48:51] 19 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:30:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:30:5
[00:48:51] 21    |
[00:48:51] 22 LL |     const I32_REF_U16_UNION: u16 = unsafe { Nonsense { int_32_ref: &3 }.uint_16 };
[00:48:51] 
[00:48:51] 
[00:48:51] 25    |                                             a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 27 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:33:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:33:5
[00:48:51] 29    |
[00:48:51] 29    |
[00:48:51] 30 LL |     const I32_REF_U32_UNION: u32 = unsafe { Nonsense { int_32_ref: &3 }.uint_32 };
[00:48:511] +   --> $DIR/const-pointer-values-in-various-types.rs:42:5
[00:48:51] 51    |
[00:48:51] 52 LL |     const I32_REF_I8_UNION: i8 = unsafe { Nonsense { int_32_ref: &3 }.int_8 };
[00:48:51] 
[00:48:51] 
[00:48:51] 55    |                                           a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 57 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:45:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:45:5
[00:48:51] 59    |
[00:48:51] 59    |
[00:48:51] 60 LL |     const I32_REF_I16_UNION: i16 = unsafe { Nonsense { int_32_ref: &3 }.int_16 };
[00:48:51] 
[00:48:51] 
[00:48:51] 63    |                                             a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 65 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:48:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:48:5
[00:48:51] 67    |
[00:48:51] 67    |
[00:48:51] 68 LL |     const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };
[00:48:51] 
[00:48:51] 
[00:48:51] 71    |                                             a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 72 
[00:48:51] 73 error[E0080]: this constant likely e:48:51] 177    |
[00:48:51] 178 LL |     const STR_I32_UNION: i32 = unsafe { Nonsense { stringy: "3" }.int_32 };
[00:48:51] 
[00:48:51] 
[00:48:51] 181    |                                         a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 182 
[00:48:51] 183 error[E0080]: this constant likely exhibits undefined behavior
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:93:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:93:5
[00:48:51] 185    |
[00:48:51] 186 LL |     const STR_I64_UNION: i64 = unsafe { Nonsense { stringy: "3" }.int_64 };
[00:48:51] 187    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type i64
[00:48:51] 
[00:48:51] 189    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior
[00:48:51] 191 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:96:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:96:5
[00:48:51] 193    |
[00:48:51] 193    |
[00:48:51] 194 LL |     const STR_I128_UNION: i128 = unsafe { Nonsense { stringy: "3" }.int_128 };
[00:48:51] 
[00:48:51] 
[00:48:51] 197    |                                           a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 199 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:99:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:99:5
[00:48:51] 201    |
[00:48:51] 201    |
[00:48:51] 202 LL |     const STR_F32_UNION: f32 = unsafe { Nonsense { stringy: "3" }.float_32 };
[00:48:51] 
[00:48:51] 
[00:48:51] 205    |                                         a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 206 
[00:48:51] 207 error[E0080]: this constant likely exhibits undefined behavior
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:102:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:102:5
[00:48:51] 209    |
[00:48:51] 210 LL |     const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: "3" }.float_64 };
[00:48:51] 211    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type f64
[00:48:51] 
[00:48:51] 213    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior
[00:48:51] 215 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:105:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:105:5
[00:48:51] 217    |
[00:48:51] 217    |
[00:48:51] 218 LL |     const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: "3" }.truthy_falsey };
[00:48:51] 
[00:48:51] 
[00:48:51] 221    |                                           a raw memory access tried to access part of a pointer value as raw bytes
[00:48:51] 223 error: this constant cannot be used
[00:48:51] -   --> $DIR/const-pointer-values-in-int-types.rs:108:5
[00:48:51] +   --> $DIR/const-pointer-values-in-various-types.rs:108:5
[00:48:51] 225    |
[00:48:51] 225    |
[00:48:51] 226 LL |     const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: "3" }.character };
[00:48:51] 
[00:48:51] 
[00:48:51] The actual stderr differed from the expected stderr.
[00:48:51] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-pointer-values-in-various-types/const-pointer-values-in-various-types.stderr
[00:48:51] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-pointer-values-in-various-types/const-pointer-values-in-various-types.stderr
[00:48:51] To update references, rerun the tests and pass the `--bless` flag
[00:48:51] To only update this specific test, also pass `--test-args consts/const-eval/const-pointer-values-in-various-types.rs`
[00:48:51] error: 1 errors occurred comparing output.
[00:48:51] status: exit code: 1
[00:48:51] status: exit code: 1
[00:48:51] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/tered a pointer, but expected the type usize","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0080]: this constant likely exhibits undefined behavior\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:24:5\n   |\nLL |     const I32_REF_USIZE_UNION: usize = unsafe { Nonsense { int_32_ref: &3 }.u };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type usize\n   |\n   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":566,"byte_end":600,"line_start":27,"line_end":27,"column_start":43,"column_end":77,"is_primary":false,"text":[{"text":"    const I32_REF_U8_UNION: u8 = unsafe { Nonsense { int_32_ref: &3 }.uint_8 };","highlight_start":43,"highlight_end":77}],"label":"a raw memory access tried to access part of a pointer value as raw bytes"5,"highlight_end":80}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":653,"byte_end":731,"line_start":30,"line_end":30,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":"    const I32_REF_U16_UNION: u16 = unsafe { Nonsense { int_32_ref: &3 }.uint_16 };","highlight_start":5,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:30:5\n   |\nLL |     const I32_REF_U16_UNION: u16 = unsafe { Nonsense { int_32_ref: &3 }.uint_16 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------------------------^^^\n   |                                             |\n   |                                             a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":821,"byte_end":856,"line_start":33,"line_end":33,"column_start":45,"column_end":80,"is_primary":false,"text":[{"text":"    const I32_REF_U32_UNION: u32 = unsafe { Nonsense { int_32_ref: &3 }.uint_32 };","highlight_start":45,"highlight_end":80}],"label":"a raw memory ac information about using a custom\ninteger type:\n\nhttps://doc.rust-lang.org/reference.html#ffi-attributes\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":909,"byte_end":987,"line_start":36,"line_end":36,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":"    const I32_REF_U64_UNION: u64 = unsafe { Nonsense { int_32_ref: &3 }.uint_64 };","highlight_start":5,"highlight_end":83}],"label":"type validation failed: encountered a pointer, but expected the type u64","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0080]: this constant likely exhibits undefined behavior\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:36:5\n   |\nLL |     const I32_REF_U64_UNION: u64 = unsafe { Nonsense { int_32_ref: &3 }.uint_64 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type u64\n   |\n   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior\n\n"}
[00:48:51] {"message":"this con"byte_end":1389,"line_start":45,"line_end":45,"column_start":5,"column_end":82,"is_primary":true,"text":[{"text":"    const I32_REF_I16_UNION: i16 = unsafe { Nonsense { int_32_ref: &3 }.int_16 };","highlight_start":5,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:45:5\n   |\nLL |     const I32_REF_I16_UNION: i16 = unsafe { Nonsense { int_32_ref: &3 }.int_16 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------^^^\n   |                                             |\n   |                                             a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":1479,"byte_end":1513,"line_start":48,"line_end":48,"column_start":45,"column_end":79,"is_primary":false,"text":[{"text":"    const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };","highlight_start":45,"highlight_end":79}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":1439,"byte_end":1516,"line_start":48,"line_end":48,"column_start":5,"column_end":82,"is_primary":true,"text":[{"text":"    const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };","highlight_start":5,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:48:5\n   |\nLL |     const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------^^^\n   |                                             |\n   |                                             a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant likely exhibits undefined behavior","code":{"code":"E0080","explanation":"\nThis error indicates that the compiler was unable to sensibly evaluate an\nconstant expression that had to be evaluated. Attempting to divide by 0\nor causing integer overflow are two ways to induce this error. For example:\n\n```compile_fail,E0080\nenum Enum {\n    X = (1 << 500),\n    Y = (1 / 0)\n}\n```\n\nEnsure that the expressions given can be evaluated as the desired integer type.\nSee the FFI section of the Reference for more information about using a custom\ninteger type:\n\nhttps://doc.rust-lang.org/reference.html#ffi-attributes\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":1566,"byte_end":1643,"line_start":51,"line_end":51,"column_start":5,"column_end":82,"is_primary":true,"text":[{"text":"    const I32_REF_I64_UNION: i64 = unsafe { Nonsense { int_32_ref: &3 }.int_64 };","highlight_start":5,"highlight_end":82}],"label":"type validation failed: encountered a pointer, but expected the type i64","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0080]: this constant likely exhibits undefined behavior\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:51:5\n   |\nLL |     const I32_REF_I64_UNION: i64 = unsafe { Nonsense { int_32_ref: &3 }.int_64 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type i64\n   |\n   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":1713,"byte_end":1793,"line_start":54,"line_end":54,"column_start":5,"column_end":85,"is_primary":true,"text":[{"text":"    const I32_REF_I128_UNION: i128 = unsafe { Nonsense { int_32_ref: &3 }.int_128 };","highlight_start":5,"highlight_end":85}],"label":"attempted to read undefined bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:54:5\n   |\nLL |     const I32_REF_I128_UNION: i128 = unsafe { Nonsense { int_32_ref: &3 }.int_128 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempted to read undefined bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":1883,"byte_end":1919,"line_start":57,"line_end":57,"column_start":45,"column_end":81,"is_primary":false,"text":[{"text":"    const I32_REF_F32_UNION: f32 = unsafe { Nonsense { int_32_ref: &3 }.float_32 };","highlight_start":45,"highlight_end":81}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":1843,"byte_end":1922,"line_start":57,"line_end":57,"column_start":5,"column_end":84,"is_primary":true,"text":[{"text":"    const I32_REF_F32_UNION: f32 = unsafe { Nonsense { int_32_ref: &3 }.float_32 };","highlight_start":5,"highlight_end":84}]84}],"label":"type validation failed: encountered a pointer, but expected the type f64","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0080]: this constant likely exhibits undefined behavior\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:60:5\n   |\nLL |     const I32_REF_F64_UNION: f64 = unsafe { Nonsense { int_32_ref: &3 }.float_64 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type f64\n   |\n   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":2163,"byte_end":2204,"line_start":63,"line_end":63,"column_start":47,"column_end":88,"is_primary":false,"text":[{"text":"    const I32_REF_BOOL_UNION: bool = unsafe { Nonsense { int_32_ref: &3 }.truthy_falsey };","highlight_start":47,"highlight_end":88}],"label":"a raw memory a to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":2257,"byte_end":2339,"line_start":66,"line_end":66,"column_start":5,"column_end":87,"is_primary":true,"text":[{"text":"    const I32_REF_CHAR_UNION: char = unsafe { Nonsense { int_32_ref: &3 }.character };","highlight_start":5,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:66:5\n   |\nLL |     const I32_REF_CHAR_UNION: char = unsafe { Nonsense { int_32_ref: &3 }.character };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------------^^^\n   |                                               |\n   |                                               a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":2423,"byte_end":2455,"line_start":69,"line_end":69,"column_start":39,"column_end":71,"is_primary":false,"text":[{"text":"    const STR_U8_UNION: u8 = unsafe { Nonsense { stringy: \"3\" }.uint_8 };","highlight_start":39,"highlight_end":71}],"label":"a raw memory access tried to access part of a pointer valuesion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":2508,"byte_end":2580,"line_start":72,"line_end":72,"column_start":5,"column_end":77,"is_primary":true,"text":[{"text":"    const STR_U16_UNION: u16 = unsafe { Nonsense { stringy: \"3\" }.uint_16 };","highlight_start":5,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:72:5\n   |\nLL |     const STR_U16_UNION: u16 = unsafe { Nonsense { stringy: \"3\" }.uint_16 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------^^^\n   |                                         |\n   |                                         a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":2666,"byte_end":2699,"line_start":75,"line_end":75,"column_start":41,"column_end":74,"is_primary":false,"text":[{"text":"    const STR_U32_UNION: u32 = unsafe { Nonsense { stringy: \"3\" }.uint_32 };","highlight_start":41,"highlight_end":74}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/conne_start":81,"line_end":81,"column_start":43,"column_end":77,"is_primary":false,"text":[{"text":"    const STR_U128_UNION: u128 = unsafe { Nonsense { stringy: \"3\" }.uint_128 };","highlight_start":43,"highlight_end":77}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":2894,"byte_end":2969,"line_start":81,"line_end":81,"column_start":5,"column_end":80,"is_primary":true,"text":[{"text":"    const STR_U128_UNION: u128 = unsafe { Nonsense { stringy: \"3\" }.uint_128 };","highlight_start":5,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:81:5\n   |\nLL |     const STR_U128_UNION: u128 = unsafe { Nonsense { stringy: \"3\" }.uint_128 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------^^^\n   |                                           |\n   |                                           a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3053,"byte_end":3084,"line_start":84,"line_end":84,"column_start":39,"column_end":70,"is_primary":false,"text":[{"text":"    const STR_I8_UNION: i8 = unsafe { Nonsense { stringy: \"3\" }.int_8 };","highlight_start":39,"highlight_end":70}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3019,"byte_end":3087,"line_start":84,"line_end":84,"column_start":5,"column_end":73,"is_primary":true,"text":[{"text":"    const STR_I8_UNION: i8 = unsafe { Nonsense { stringy: \"3\" }.int_8 };","highlight_start":5,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:84:5\n   |\nLL |     const STR_I8_UNION: i8 = unsafe { Nonsense { stringy: \"3\" }.int_8 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------^^^\n   |                                       |\n   |                                       a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3173,"byte_end":3205,"line_start":87,"line_end":87,"column_start":41,"column_end":73,"is_primary":false,"text":[{"text":"    const STR_I16_UNION: i16 = unsafe { Nonsense { stringy: \"3\" }.int_16 };","highlight_start":41,"highlight_end":73}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3137,"byte_end":3208,"line_start":87,"line_end":87,"column_start":5,"column_end":76,"is_primary":true,"text":[{"text":"    const STR_I16_UNION: i16 = unsafe { Nonsense { stringy: \"3\" }.int_16 };","highlight_start":5,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:87:5\n   |\nLL |     const STR_I16_UNION: i16 = unsafe { Nonsense { stringy: \"3\" }.int_16 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------------^^^\n   |                                         |\n   |                                         a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3294,"byte_end":3326,"line_start":90,"line_end":90,"column_start":41,"column_end":73,"is_primary":false,"text":[{"text":"    const STR_I32_UNION: i32 = unsafe { Nonsense { stringy: \"3\" }.int_32 };","highlight_start":41,"highlight_end":73o sensibly evaluate an\nconstant expression that had to be evaluated. Attempting to divide by 0\nor causing integer overflow are two ways to induce this error. For example:\n\n```compile_fail,E0080\nenum Enum {\n    X = (1 << 500),\n    Y = (1 / 0)\n}\n```\n\nEnsure that the expressions given can be evaluated as the desired integer type.\nSee the FFI section of the Reference for more information about using a custom\ninteger type:\n\nhttps://doc.rust-lang.org/reference.html#ffi-attributes\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3767,"byte_end":3840,"line_start":102,"line_end":102,"column_start":5,"column_end":78,"is_primary":true,"text":[{"text":"    const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: \"3\" }.float_64 };","highlight_start":5,"highlight_end":78}],"label":"type validation failed: encountered a pointer, but expected the type f64","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0080]: this constant likely exhibits undefined behavior\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:102:5\n   |\nLL |     const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: \"3\" }.float_64 };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a pointer, but expected the type f64\n   |\n   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3948,"byte_end":3987,"line_start":105,"line_end":105,"column_start":43,"column_end":82,"is_primary":false,"text":[{"text":"    const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: \"3\" }.truthy_falsey };","highlight_start":43,"highlight_end":82}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":3910,"byte_end":3990,"line_start":105,"line_end":105,"column_start":5,"column_end":85,"is_primary":true,"text":[{"text":"    const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: \"3\" }.truthy_falsey };","highlight_start":5,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:105:5\n   |\nLL |     const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: \"3\" }.truthy_falsey };\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------^^^\n   |                                           |\n   |                                           a raw memory access tried to access part of a pointer value as raw bytes\n\n"}
[00:48:51] {"message":"this constant cannot be used","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":4078,"byte_end":4113,"line_start":108,"line_end":108,"column_start":43,"column_end":78,"is_primary":false,"text":[{"text":"    const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: \"3\" }.character };","highlight_start":43,"highlight_end":78}],"label":"a raw memory access tried to access part of a pointer value as raw bytes","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs","byte_start":4040,"byte_end":4116,"line_start":108,"line_end":108,"column_start":5,"column_end":81,"is_primary":true,"text":[{"text":"    const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: \"3\" }.character };","highlight_start":5,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: this constant cannot be used\n  --> /checkout/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs:108:5\n   |\nLL |     const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: \"3\" }.c/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-5.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "5.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:48:51] 
[00:48:51] 
[00:48:51] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:48:51] Build completed unsuccessfully in 0:03:13
[00:48:51] Build completed unsuccessfully in 0:03:13
[00:48:51] make: *** [check] Error 1
[00:48:51] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:17c5c040
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Fri Aug 31 13:25:35 UTC 2018
or CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0bcc7f9a
travis_time:start:0bcc7f9a
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:012c786e
$ dmesg | grep -i kill

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

You removed two ui tests, didn't they come with .stderr files that should also be removed?

@pietroalbini
Copy link
Member

@craterbot run start=master#1114ab684fbad001c4e580326d8eb4d8c4e917d3 end=try#aa245a5862056b681d2ccdb178f58891108cd3a6 mode=check-only

@craterbot
Copy link
Collaborator

👌 Experiment pr-53831 created and queued.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Aug 31, 2018
@craterbot
Copy link
Collaborator

🚧 Experiment pr-53831 is now running on agent crater-2.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@TheDarkula
Copy link
Contributor Author

TheDarkula commented Aug 31, 2018

@RalfJung Those two tests were actually flagged with //compile-pass , so they had no .stderr. I checked :).
Thanks to both you and @pietroalbini for getting the crater test going

@pietroalbini
Copy link
Member

pietroalbini commented Aug 31, 2018

This experiment is running quite slowly on crater, maybe it would be best to also do a perf run?

@rust-timer build aa245a5862056b681d2ccdb178f58891108cd3a6 (uh, missing permissions for perf)

@rust-timer
Copy link
Collaborator

Insufficient permissions to issue commands to rust-timer.

@rust-lang rust-lang deleted a comment from rust-timer Aug 31, 2018
@RalfJung
Copy link
Member

RalfJung commented Sep 1, 2018

@rust-timer build aa245a5862056b681d2ccdb178f58891108cd3a6

I would be surprised, but let's see.

@rust-timer
Copy link
Collaborator

Success: Queued aa245a5862056b681d2ccdb178f58891108cd3a6 with parent 1114ab6, comparison URL.

@craterbot
Copy link
Collaborator

🎉 Experiment pr-53831 is completed!
📰 Open the full report.

⚠️ If you notice any spurious failure please add them to the blacklist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-crater Status: Waiting on a crater run to be completed. labels Sep 2, 2018
@oli-obk
Copy link
Contributor

oli-obk commented Sep 3, 2018

Some noise in the timer, mostly even positive

Spurious regression in the crater run (thread '' panicked at 'procedural macro API is used outside of a procedural macro', libproc_macro/lib.rs:1295:13)

@bors r+

@bors
Copy link
Contributor

bors commented Sep 3, 2018

📌 Commit de0cd23 has been approved by oli-obk

@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 Sep 3, 2018
@bors
Copy link
Contributor

bors commented Sep 3, 2018

⌛ Testing commit de0cd23 with merge 591a17d...

bors added a commit that referenced this pull request Sep 3, 2018
Added pointer checking to sanity checks

r? @oli-obk
@bors
Copy link
Contributor

bors commented Sep 3, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: oli-obk
Pushing 591a17d to master...

@bors bors merged commit de0cd23 into rust-lang:master Sep 3, 2018
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.

8 participants