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 no longer builds after rust-lang/rust#62335 #62347

Closed
rust-highfive opened this issue Jul 3, 2019 · 12 comments · Fixed by #62594
Closed

miri no longer builds after rust-lang/rust#62335 #62347

rust-highfive opened this issue Jul 3, 2019 · 12 comments · Fixed by #62594
Assignees
Labels
P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@rust-highfive
Copy link
Collaborator

Hello, this is your friendly neighborhood mergebot.
After merging PR #62335, I observed that the tool miri has failing tests.
A follow-up PR to the repository https://github.com/rust-lang/miri is needed to fix the fallout.

cc @Mark-Simulacrum, do you think you would have time to do the follow-up work?
If so, that would be great!

cc @Mark-Simulacrum, the PR reviewer, and @rust-lang/compiler -- nominating for prioritization.

@rust-highfive rust-highfive added I-nominated T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 3, 2019
@Mark-Simulacrum
Copy link
Member

2019-07-03T17:22:14.8438802Z normalized stderr:
2019-07-03T17:22:15.0846046Z error[E0080]: Miri evaluation error: type validation failed: encountered 65543, but expected a pointer
2019-07-03T17:22:15.0936029Z   --> D:/a/1/s/src/libstd/sys/windows/compat.rs:68:13
2019-07-03T17:22:15.0936200Z    |
2019-07-03T17:22:15.0936318Z 68 |             mem::transmute::<usize, F>(addr)($($argname),*)
2019-07-03T17:22:15.0936484Z    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Miri evaluation error: type validation failed: encountered 65543, but expected a pointer
2019-07-03T17:22:15.0936579Z    |
2019-07-03T17:22:15.0936705Z    = note: inside call to `std::sys::windows::c::SetThreadStackGuarantee` at D:/a/1/s/src/libstd/sys/windows/stack_overflow.rs:12:12
2019-07-03T17:22:15.0937192Z    = note: inside call to `std::sys::windows::stack_overflow::Handler::new` at D:/a/1/s/src/libstd/sys/windows/stack_overflow.rs:39:14
2019-07-03T17:22:15.0937351Z    = note: inside call to `std::sys::windows::stack_overflow::init` at D:/a/1/s/src/libstd/rt.rs:34:9
2019-07-03T17:22:15.0937457Z    = note: inside call to `std::rt::lang_start_internal` at D:/a/1/s/src/libstd/rt.rs:64:5
2019-07-03T17:22:15.0937584Z    = note: inside call to `std::rt::lang_start::<()>`
2019-07-03T17:22:15.0937824Z 
2019-07-03T17:22:15.0937917Z error: aborting due to previous error
2019-07-03T17:22:15.0937963Z 
2019-07-03T17:22:15.0938062Z For more information about this error, try `rustc --explain E0080`.
2019-07-03T17:22:15.0938125Z 
2019-07-03T17:22:15.0938158Z 
2019-07-03T17:22:15.0938248Z expected stderr:
2019-07-03T17:22:15.0938290Z 
2019-07-03T17:22:15.0938324Z 
2019-07-03T17:22:15.0938402Z diff of stderr:
2019-07-03T17:22:15.0938445Z 
2019-07-03T17:22:15.0938528Z +error[E0080]: Miri evaluation error: type validation failed: encountered 65543, but expected a pointer
2019-07-03T17:22:15.0938660Z +  --> D:/a/1/s/src/libstd/sys/windows/compat.rs:68:13
2019-07-03T17:22:15.0938764Z +   |
2019-07-03T17:22:15.0938835Z +68 |             mem::transmute::<usize, F>(addr)($($argname),*)
2019-07-03T17:22:15.0938977Z +   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Miri evaluation error: type validation failed: encountered 65543, but expected a pointer
2019-07-03T17:22:15.0939067Z +   |
2019-07-03T17:22:15.0939195Z +   = note: inside call to `std::sys::windows::c::SetThreadStackGuarantee` at D:/a/1/s/src/libstd/sys/windows/stack_overflow.rs:12:12
2019-07-03T17:22:15.0939426Z +   = note: inside call to `std::sys::windows::stack_overflow::Handler::new` at D:/a/1/s/src/libstd/sys/windows/stack_overflow.rs:39:14
2019-07-03T17:22:15.0939573Z +   = note: inside call to `std::sys::windows::stack_overflow::init` at D:/a/1/s/src/libstd/rt.rs:34:9
2019-07-03T17:22:15.0939677Z +   = note: inside call to `std::rt::lang_start_internal` at D:/a/1/s/src/libstd/rt.rs:64:5
2019-07-03T17:22:15.0939846Z +   = note: inside call to `std::rt::lang_start::<()>`
2019-07-03T17:22:15.0939916Z +
2019-07-03T17:22:15.0940003Z +error: aborting due to previous error
2019-07-03T17:22:15.0940069Z +
2019-07-03T17:22:15.0940177Z +For more information about this error, try `rustc --explain E0080`.
2019-07-03T17:22:15.0940250Z +

from https://dev.azure.com/rust-lang/e71b0ddf-dd27-435a-873c-e30f86eea377/_apis/build/builds/2278/logs/929

@RalfJung
Copy link
Member

RalfJung commented Jul 3, 2019

Looks like a bunch of tests are affected the same way:

2019-07-03T17:22:44.0216742Z failures:
2019-07-03T17:22:44.0216890Z     [ui] run-pass\hashmap.rs
2019-07-03T17:22:44.0217073Z     [ui] run-pass\heap_allocator.rs
2019-07-03T17:22:44.0217242Z     [ui] run-pass\intptrcast.rs
2019-07-03T17:22:44.0217414Z     [ui] run-pass\intptrcast_format.rs

@RalfJung
Copy link
Member

RalfJung commented Jul 3, 2019

Cc @christianpoveda this is likely caused by your change, somehow.

@RalfJung
Copy link
Member

RalfJung commented Jul 3, 2019

Likely caused by a missing force_ptr in function pointer validation. Should be fixed by #62245.

@pvdrz
Copy link
Contributor

pvdrz commented Jul 4, 2019

I merged @RalfJung's branches with my branches in both the rust and miri repos and all the tests passed :D

@pnkfelix
Copy link
Member

pnkfelix commented Jul 4, 2019

triage: P-medium, removing nomination, assigning already assigned to @RalfJung

@pnkfelix pnkfelix added P-medium Medium priority and removed I-nominated labels Jul 4, 2019
@RalfJung
Copy link
Member

RalfJung commented Jul 6, 2019

Miri upstream CI passes now, but only because I disabled a bunch of tests. I felt that was the better alternative, compared to not being able to land any update in Miri until a fix happens on the rustc side.

But this means we shouldn't update the in-tree Miri tool yet.

@RalfJung
Copy link
Member

RalfJung commented Jul 6, 2019

PR fixing things for Miri: rust-lang/miri#830. Blocked on #62441.

@RalfJung
Copy link
Member

RalfJung commented Jul 9, 2019

@lzutao Miri master got broken again, CI is failing. Do you want to try to fix that?

@tesuji
Copy link
Contributor

tesuji commented Jul 9, 2019

I believe #62403 broke miri. Hopefully I get time to fix it?

@RalfJung
Copy link
Member

RalfJung commented Jul 9, 2019

Should be an easy fix by making Miri not use that trait explicitly. It's yours!

bors added a commit to rust-lang/miri that referenced this issue Jul 10, 2019
@RalfJung
Copy link
Member

RalfJung commented Jul 10, 2019

Hooray, #62441 landed! Looks like this is blocked on a serde update regression now, judging from https://travis-ci.com/rust-lang/miri/jobs/214779163.

EDIT: blocked on #62562, actually.

bors added a commit that referenced this issue Jul 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants