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

ICE when checking hyper: HirIdValidator #55376

Closed
matthiaskrgr opened this issue Oct 26, 2018 · 8 comments
Closed

ICE when checking hyper: HirIdValidator #55376

matthiaskrgr opened this issue Oct 26, 2018 · 8 comments
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-nightly Performance or correctness regression from stable to nightly.

Comments

@matthiaskrgr
Copy link
Member

matthiaskrgr commented Oct 26, 2018

git clone https://github.com/hyperium/hyper 
cd hyper
git checkout 576addd531ec6a6b8d62fbf16411fad7dd475421
cargo +master check
    Checking hyper v0.12.12 (/tmp/hyper)
thread 'main' panicked at 'librustc/hir/map/hir_id_validator.rs:31:
HirIdValidator: The recorded owner of path segment super (id=36924) is ::server[0]::conn[0]::{{?}}[34] instead of ::server[0]::conn[0]::{{?}}[34]::{{?}}[0]
HirIdValidator: Same HirId ::server[0]::conn[0]::{{?}}[34]::{{?}}[0]/2 assigned for nodes path segment super (id=36924) and path segment spawn_all (id=89958)', librustc/util/bug.rs:47:26
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:480
   6: std::panicking::begin_panic
   7: rustc::util::bug::opt_span_bug_fmt::{{closure}}
   8: rustc::ty::context::tls::with_opt::{{closure}}
   9: rustc::ty::context::tls::with_context_opt
  10: rustc::ty::context::tls::with_opt
  11: rustc::util::bug::opt_span_bug_fmt
  12: rustc::util::bug::bug_fmt
  13: rustc::hir::map::hir_id_validator::check_crate
  14: rustc::hir::map::map_crate
  15: rustc::util::common::time
  16: rustc_driver::driver::compile_input
  17: rustc_driver::run_compiler_with_pool
  18: rustc_driver::driver::spawn_thread_pool
  19: rustc_driver::run_compiler
  20: <scoped_tls::ScopedKey<T>>::set
  21: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  22: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:102
  23: rustc_driver::run
  24: rustc_driver::main
  25: std::rt::lang_start::{{closure}}
  26: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  27: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:102
  28: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:392
             at libstd/rt.rs:58
  29: main
  30: __libc_start_main
  31: <unknown>
query stack during panic:
end of query stack

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.31.0-nightly (82239b04d 2018-10-26) running on x86_64-unknown-linux-gnu

note: compiler flags: -C debuginfo=2 -C incremental -C target-cpu=native --crate-type lib

note: some of the compiler flags provided by cargo are hidden

error: Could not compile `hyper`.

To learn more, run the command again with --verbose.

This bug was introduced between 4bd4e41 and 82239b0

Found via rust-lang/rust-clippy#3359

matthiaskrgr added a commit to matthiaskrgr/rust-clippy that referenced this issue Oct 26, 2018
bors bot added a commit to rust-lang/rust-clippy that referenced this issue Oct 26, 2018
3362: travis: work around temporary test failure due to rustc crashing on hyper r=phansch a=matthiaskrgr

Upstream ticket: rust-lang/rust#55376

Co-authored-by: Matthias Krüger <[email protected]>
@matthiaskrgr matthiaskrgr changed the title ICE when checking hyper ICE when checking hyper: HirIdValidator Oct 26, 2018
@oli-obk
Copy link
Contributor

oli-obk commented Oct 26, 2018

I'm assuming this is due to #54145

cc @nrc

@oli-obk oli-obk added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. labels Oct 26, 2018
@phansch
Copy link
Member

phansch commented Oct 27, 2018

If I did nothing wrong, then this is a minimal repro:

pub(super) use self::my_mod::Foo;

mod my_mod {
    pub struct Foo;
}

@matthiaskrgr
Copy link
Member Author

Can we revert the commit for now?

@Manishearth
Copy link
Member

Bisection confirms it's #54145

@matthiaskrgr
Copy link
Member Author

Why was this closed?

@Manishearth Manishearth reopened this Oct 28, 2018
@Manishearth
Copy link
Member

Hit close on the wrong issue

@nrc
Copy link
Member

nrc commented Oct 28, 2018

I'm investigating today

@nrc
Copy link
Member

nrc commented Oct 29, 2018

OK, I have a fix, but I need to write a test, run the whole test suite, etc. and it is late here. I'll have a PR tomorrow.

@petrochenkov petrochenkov added regression-from-stable-to-beta Performance or correctness regression from stable to beta. and removed regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. labels Oct 29, 2018
@petrochenkov petrochenkov added regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. and removed regression-from-stable-to-beta Performance or correctness regression from stable to beta. labels Oct 29, 2018
kennytm added a commit to kennytm/rust that referenced this issue Oct 30, 2018
Adjust Ids of path segments in visibility modifiers

Fixes rust-lang#55376 (nightly regression)

r? @petrochenkov
nikomatsakis pushed a commit to nikomatsakis/rust that referenced this issue Nov 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-nightly Performance or correctness regression from stable to nightly.
Projects
None yet
Development

No branches or pull requests

6 participants