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

resolve: Fix an ICE in import validation #57160

Merged
merged 1 commit into from
Dec 29, 2018
Merged

Conversation

petrochenkov
Copy link
Contributor

Fixes ICE reported in the comment #56596 (comment)

@rust-highfive
Copy link
Collaborator

r? @eddyb

(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 Dec 28, 2018
@petrochenkov petrochenkov added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Dec 28, 2018
@petrochenkov
Copy link
Contributor Author

Beta-nominating as a regression fix, the assert was introduced in stable Rust 1.31 (in #55884).

@estebank
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Dec 28, 2018

📌 Commit ce73bc7 has been approved by estebank

@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 Dec 28, 2018
@bors
Copy link
Contributor

bors commented Dec 29, 2018

⌛ Testing commit ce73bc7 with merge 4a4fbac...

bors added a commit that referenced this pull request Dec 29, 2018
resolve: Fix an ICE in import validation

Fixes ICE reported in the comment #56596 (comment)
@bors
Copy link
Contributor

bors commented Dec 29, 2018

💔 Test failed - status-travis

@rust-highfive
Copy link
Collaborator

The job dist-powerpc64-linux 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.
Building stage2 tool cargo (powerpc64-unknown-linux-gnu)
[01:19:59]  Downloading crates ...
[01:20:19] warning: spurious network error (2 tries remaining): [6] Couldn't resolve host name (Could not resolve host: crates.io)
[01:20:39] warning: spurious network error (1 tries remaining): [6] Couldn't resolve host name (Could not resolve host: crates.io)
[01:20:59] error: failed to download from `https://crates.io/api/v1/crates/openssl-src/111.1.0+1.1.1a/download`
[01:20:59] Caused by:
[01:20:59]   [6] Couldn't resolve host name (Could not resolve host: crates.io)
[01:20:59] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "powerpc64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--manifest-path" "/checkout/src/tools/cargo/Cargo.toml" "--features" "rustc-workspace-hack/all-static" "--message-format" "json"
[01:20:59] expected success, got: exit code: 101
---
travis_time:end:132cef9b:start=1546068465120615133,finish=1546068465131081311,duration=10466178
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00d411d7
$ ln -s . checkout && for 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 --batch -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:2c32138e
travis_time:start:2c32138e
$ 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:04cdf13c
$ 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 bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 29, 2018
@kennytm
Copy link
Member

kennytm commented Dec 29, 2018

@bors retry

@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 Dec 29, 2018
@bors
Copy link
Contributor

bors commented Dec 29, 2018

⌛ Testing commit ce73bc7 with merge d5175f4...

bors added a commit that referenced this pull request Dec 29, 2018
resolve: Fix an ICE in import validation

Fixes ICE reported in the comment #56596 (comment)
@bors
Copy link
Contributor

bors commented Dec 29, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: estebank
Pushing d5175f4 to master...

@bors bors merged commit ce73bc7 into rust-lang:master Dec 29, 2018
@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #57160!

Tested on commit d5175f4.
Direct link to PR: #57160

🎉 rls on windows: test-fail → test-pass (cc @nrc @Xanewok, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Dec 29, 2018
Tested on commit rust-lang/rust@d5175f4.
Direct link to PR: <rust-lang/rust#57160>

🎉 rls on windows: test-fail → test-pass (cc @nrc @Xanewok, @rust-lang/infra).
@nagisa nagisa added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. beta-accepted Accepted for backporting to the compiler in the beta channel. and removed beta-nominated Nominated for backporting to the compiler in the beta channel. labels Jan 3, 2019
@pietroalbini pietroalbini added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 3, 2019
@pietroalbini
Copy link
Member

This doesn't apply to beta @petrochenkov:

error[E0609]: no field `blacklisted_binding` on type `&mut Resolver<'a, 'crateloader>`resolve                                                                                                                                                                           
   --> src/librustc_resolve/resolve_imports.rs:242:57
    |
242 |                 if let Some(blacklisted_binding) = self.blacklisted_binding {
    |                                                         ^^^^^^^^^^^^^^^^^^^

@petrochenkov
Copy link
Contributor Author

petrochenkov commented Jan 3, 2019

@pietroalbini
Turns out c658d73 is a prerequisite.

It's also a prerequisite for #56759, so there's a good chance that it'll need to be backported anyway.

bors added a commit that referenced this pull request Jan 10, 2019
[beta] Uniform path backports

What's included:
- c658d73 ("resolve: Avoid "self-confirming" resolutions in import validation", prerequisite for the following items)
- #57160 ("resolve: Fix an ICE in import validation")
- #56759 ("Stabilize `uniform_paths`")

r? @Mark-Simulacrum
@petrochenkov
Copy link
Contributor Author

Included into #57483

@pietroalbini pietroalbini removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 11, 2019
bors added a commit that referenced this pull request Jan 11, 2019
[beta] Rollup backports

Cherry-picked:

* #57355: use the correct supertrait substitution in `object_ty_for_trait`
* #57471: Updated RELEASES.md for 1.32.0

Rolled up:

* #57483: [beta] Uniform path backports
  * c658d73: resolve: Avoid "self-confirming" resolutions in import validation
  * #57160: resolve: Fix an ICE in import validation
  * #56759: Stabilize `uniform_paths`

r? @ghost
@petrochenkov petrochenkov deleted the impice2 branch June 5, 2019 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants