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

Conversation

Projects
None yet
8 participants
@petrochenkov
Copy link
Contributor

petrochenkov commented Dec 28, 2018

Fixes ICE reported in the comment #56596 (comment)

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Dec 28, 2018

r? @eddyb

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

@petrochenkov

This comment has been minimized.

Copy link
Contributor

petrochenkov commented Dec 28, 2018

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

@estebank

This comment has been minimized.

Copy link
Contributor

estebank commented Dec 28, 2018

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 28, 2018

📌 Commit ce73bc7 has been approved by estebank

@bors

This comment has been minimized.

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

Auto merge of #57160 - petrochenkov:impice2, r=estebank
resolve: Fix an ICE in import validation

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

This comment has been minimized.

Copy link
Contributor

bors commented Dec 29, 2018

💔 Test failed - status-travis

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Dec 29, 2018

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)

@kennytm

This comment has been minimized.

Copy link
Member

kennytm commented Dec 29, 2018

@bors retry

@bors

This comment has been minimized.

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

Auto merge of #57160 - petrochenkov:impice2, r=estebank
resolve: Fix an ICE in import validation

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

This comment has been minimized.

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

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Dec 29, 2018

📣 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

📣 Toolstate changed by rust-lang/rust#57160!
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).
@pietroalbini

This comment has been minimized.

Copy link
Member

pietroalbini commented Jan 3, 2019

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

This comment has been minimized.

Copy link
Contributor

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

Auto merge of #57483 - petrochenkov:beta, r=<try>
[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

This comment has been minimized.

Copy link
Contributor

petrochenkov commented Jan 10, 2019

Included into #57483

bors added a commit that referenced this pull request Jan 11, 2019

Auto merge of #57516 - pietroalbini:beta-rollup, r=pietroalbini
[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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment