Skip to content

error: internal compiler error: src/librustc/ty/context.rs:248 "node {} with HirId::owner {:?} cannot be placed in TypeckTables with local_id_root {:?}" #57298

Closed
@ghost

Description

EDIT3: ignore everything(to save time) and skip directly to this comment for this ICE reproduction steps.
EDIT2: this is probably already fixed nope! To reproduce the ICE currently, you have to do this because rust-clippy worked around it.
EDIT: ICE only happens when rustc has been compiled with debug-assertions = true

After successfully compiling rust-clippy HEAD with this rustc HEAD, running rust-clippy on itself causes an ICE like so:

/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy 
$ RUST_BACKTRACE=1 ./target/debug/cargo-clippy
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy' with args: 'check'
    Checking unicode-normalization v0.1.7
    Checking itertools v0.7.8
    Checking regex-syntax v0.6.2
    Checking serde v1.0.80
error: internal compiler error: src/librustc/ty/context.rs:248: node type Result<T, Option<T>> (id=19954) with HirId::owner DefId(0/0:744 ~ itertools[656b]::Itertools[0]::tree_fold1[0]::State[0]) cannot be placed in TypeckTables with local_id_root DefId(0/0:743 ~ itertools[656b]::Itertools[0]::tree_fold1[0])

thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:590:9
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
   6: std::panicking::begin_panic
   7: rustc_errors::Handler::bug
   8: rustc::util::bug::opt_span_bug_fmt::{{closure}}
   9: rustc::ty::context::tls::with_opt::{{closure}}
  10: rustc::ty::context::tls::with_context_opt
  11: rustc::ty::context::tls::with_opt
  12: rustc::util::bug::opt_span_bug_fmt
  13: rustc::util::bug::bug_fmt
  14: rustc::ty::context::validate_hir_id_for_typeck_tables::{{closure}}
  15: rustc::ty::context::tls::with::{{closure}}
  16: rustc::ty::context::tls::with_context::{{closure}}
  17: rustc::ty::context::tls::with_context_opt
  18: rustc::ty::context::tls::with_context
  19: rustc::ty::context::tls::with
  20: rustc::ty::context::TypeckTables::node_id_to_type_opt
  21: <clippy_lints::random_state::Pass as rustc::lint::LateLintPass<'a, 'tcx>>::check_ty
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/random_state.rs:38
  22: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_ty
  23: rustc::hir::intravisit::walk_item
  24: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  25: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  26: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_decl
  27: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_stmt
  28: rustc::hir::intravisit::walk_block
  29: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_block
  30: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  31: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  32: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_body
  33: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_nested_body
  34: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_fn
  35: rustc::hir::intravisit::walk_trait_item
  36: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  37: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_trait_item
  38: rustc::hir::intravisit::walk_trait_item_ref
  39: rustc::hir::intravisit::walk_item
  40: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  41: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  42: rustc::hir::intravisit::walk_mod
  43: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_mod
  44: rustc::hir::intravisit::walk_crate
  45: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  46: rustc::lint::context::check_crate
  47: rustc::util::common::time
  48: <std::thread::local::LocalKey<T>>::with
  49: rustc::ty::context::tls::enter_global
  50: rustc::ty::context::TyCtxt::create_and_enter
  51: rustc_driver::driver::phase_3_run_analysis_passes
  52: rustc_driver::driver::compile_input
  53: rustc_driver::run_compiler_with_pool
  54: <scoped_tls::ScopedKey<T>>::set
  55: rustc_driver::driver::spawn_thread_pool
  56: rustc_driver::run_compiler
  57: clippy_driver::main::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/src/driver.rs:154
  58: rustc_driver::run::{{closure}}::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:170
  59: <scoped_tls::ScopedKey<T>>::set
             at /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
  60: syntax::with_globals::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/libsyntax/lib.rs:113
  61: <scoped_tls::ScopedKey<T>>::set
             at /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
  62: syntax::with_globals
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/libsyntax/lib.rs:112
  63: rustc_driver::run::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:169
  64: rustc_driver::monitor::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:1566
query stack during panic:
end of query stack
error: aborting due to previous error


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.33.0-dev (ec194646f 2019-01-02) running on x86_64-unknown-linux-gnu

note: compiler flags: -C debuginfo=2 --crate-type lib

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

error: Could not compile `itertools`.
warning: build failed, waiting for other jobs to finish...
error: internal compiler error: src/librustc/ty/context.rs:248: node type &'static [(char, char)] (id=26257) with HirId::owner DefId(0/0:621 ~ regex_syntax[bb8f]::hir[0]::translate[0]::ascii_class[0]::T[0]) cannot be placed in TypeckTables with local_id_root DefId(0/0:619 ~ regex_syntax[bb8f]::hir[0]::translate[0]::ascii_class[0])

thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:590:9
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
   6: std::panicking::begin_panic
   7: rustc_errors::Handler::bug
   8: rustc::util::bug::opt_span_bug_fmt::{{closure}}
   9: rustc::ty::context::tls::with_opt::{{closure}}
  10: rustc::ty::context::tls::with_context_opt
  11: rustc::ty::context::tls::with_opt
  12: rustc::util::bug::opt_span_bug_fmt
  13: rustc::util::bug::bug_fmt
  14: rustc::ty::context::validate_hir_id_for_typeck_tables::{{closure}}
  15: rustc::ty::context::tls::with::{{closure}}
  16: rustc::ty::context::tls::with_context::{{closure}}
  17: rustc::ty::context::tls::with_context_opt
  18: rustc::ty::context::tls::with_context
  19: rustc::ty::context::tls::with
  20: rustc::ty::context::TypeckTables::node_id_to_type_opt
  21: <clippy_lints::random_state::Pass as rustc::lint::LateLintPass<'a, 'tcx>>::check_ty
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/random_state.rs:38
  22: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_ty
  23: rustc::hir::intravisit::walk_item
  24: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  25: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  26: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_decl
  27: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_stmt
  28: rustc::hir::intravisit::walk_block
  29: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_block
  30: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  31: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  32: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_body
  33: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_nested_body
  34: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_fn
  35: rustc::hir::intravisit::walk_item
  36: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  37: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  38: rustc::hir::intravisit::walk_mod
  39: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_mod
  40: rustc::hir::intravisit::walk_item
  41: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  42: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  43: rustc::hir::intravisit::walk_mod
  44: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_mod
  45: rustc::hir::intravisit::walk_item
  46: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  47: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  48: rustc::hir::intravisit::walk_mod
  49: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_mod
  50: rustc::hir::intravisit::walk_crate
  51: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  52: rustc::lint::context::check_crate
  53: rustc::util::common::time
  54: <std::thread::local::LocalKey<T>>::with
  55: rustc::ty::context::tls::enter_global
  56: rustc::ty::context::TyCtxt::create_and_enter
  57: rustc_driver::driver::phase_3_run_analysis_passes
  58: rustc_driver::driver::compile_input
  59: rustc_driver::run_compiler_with_pool
  60: <scoped_tls::ScopedKey<T>>::set
  61: rustc_driver::driver::spawn_thread_pool
  62: rustc_driver::run_compiler
  63: clippy_driver::main::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/src/driver.rs:154
  64: rustc_driver::run::{{closure}}::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:170
  65: <scoped_tls::ScopedKey<T>>::set
             at /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
  66: syntax::with_globals::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/libsyntax/lib.rs:113
  67: <scoped_tls::ScopedKey<T>>::set
             at /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
  68: syntax::with_globals
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/libsyntax/lib.rs:112
  69: rustc_driver::run::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:169
  70: rustc_driver::monitor::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:1566
query stack during panic:
end of query stack
error: aborting due to previous error


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.33.0-dev (ec194646f 2019-01-02) running on x86_64-unknown-linux-gnu

note: compiler flags: -C debuginfo=2 --crate-type lib

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

error: Could not compile `regex-syntax`.
warning: build failed, waiting for other jobs to finish...
error: internal compiler error: src/librustc/ty/context.rs:248: node type PrimitiveVisitor (id=78333) with HirId::owner DefId(0/0:2831 ~ serde[2a2a]::de[0]::impls[0]::{{impl}}[39]::deserialize[0]::{{impl}}[0]) cannot be placed in TypeckTables with local_id_root DefId(0/0:2829 ~ serde[2a2a]::de[0]::impls[0]::{{impl}}[39]::deserialize[0])

thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:590:9
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
   6: std::panicking::begin_panic
   7: rustc_errors::Handler::bug
   8: rustc::util::bug::opt_span_bug_fmt::{{closure}}
   9: rustc::ty::context::tls::with_opt::{{closure}}
  10: rustc::ty::context::tls::with_context_opt
  11: rustc::ty::context::tls::with_opt
  12: rustc::util::bug::opt_span_bug_fmt
  13: rustc::util::bug::bug_fmt
  14: rustc::ty::context::validate_hir_id_for_typeck_tables::{{closure}}
  15: rustc::ty::context::tls::with::{{closure}}
  16: rustc::ty::context::tls::with_context::{{closure}}
  17: rustc::ty::context::tls::with_context_opt
  18: rustc::ty::context::tls::with_context
  19: rustc::ty::context::tls::with
  20: rustc::ty::context::TypeckTables::node_id_to_type_opt
  21: <clippy_lints::random_state::Pass as rustc::lint::LateLintPass<'a, 'tcx>>::check_ty
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/random_state.rs:38
  22: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_ty
  23: rustc::hir::intravisit::walk_item
  24: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  25: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  26: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_decl
  27: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_stmt
  28: rustc::hir::intravisit::walk_block
  29: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_block
  30: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  31: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  32: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_body
  33: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_nested_body
  34: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_fn
  35: rustc::hir::intravisit::walk_impl_item
  36: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  37: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_impl_item
  38: rustc::hir::intravisit::walk_impl_item_ref
  39: rustc::hir::intravisit::walk_item
  40: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  41: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  42: rustc::hir::intravisit::walk_mod
  43: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_mod
  44: rustc::hir::intravisit::walk_item
  45: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  46: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  47: rustc::hir::intravisit::walk_mod
  48: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_mod
  49: rustc::hir::intravisit::walk_item
  50: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  51: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_item
  52: rustc::hir::intravisit::walk_mod
  53: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_mod
  54: rustc::hir::intravisit::walk_crate
  55: <rustc::lint::context::LateContext<'a, 'tcx> as rustc::lint::context::LintContext<'tcx>>::with_lint_attrs
  56: rustc::lint::context::check_crate
  57: rustc::util::common::time
  58: <std::thread::local::LocalKey<T>>::with
  59: rustc::ty::context::tls::enter_global
  60: rustc::ty::context::TyCtxt::create_and_enter
  61: rustc_driver::driver::phase_3_run_analysis_passes
  62: rustc_driver::driver::compile_input
  63: rustc_driver::run_compiler_with_pool
  64: <scoped_tls::ScopedKey<T>>::set
  65: rustc_driver::driver::spawn_thread_pool
  66: rustc_driver::run_compiler
  67: clippy_driver::main::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/src/driver.rs:154
  68: rustc_driver::run::{{closure}}::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:170
  69: <scoped_tls::ScopedKey<T>>::set
             at /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
  70: syntax::with_globals::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/libsyntax/lib.rs:113
  71: <scoped_tls::ScopedKey<T>>::set
             at /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
  72: syntax::with_globals
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/libsyntax/lib.rs:112
  73: rustc_driver::run::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:169
  74: rustc_driver::monitor::{{closure}}
             at /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/src/librustc_driver/lib.rs:1566
query stack during panic:
end of query stack
error: aborting due to previous error


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.33.0-dev (ec194646f 2019-01-02) running on x86_64-unknown-linux-gnu

note: compiler flags: -C debuginfo=2 --crate-type lib

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

error: Could not compile `serde`.
warning: build failed, waiting for other jobs to finish...
error: build failed

Meta

I used this config.toml when I compiled rustc.

$ rustc -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx' with args: '-vV'
rustc 1.33.0-dev (ec194646f 2019-01-02)
binary: rustc
commit-hash: ec194646fef1a467073ad74b8b68f6f202cfce97
commit-date: 2019-01-02
host: x86_64-unknown-linux-gnu
release: 1.33.0-dev
LLVM version: 8.0

$ cargo -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/home/xftroxgpx' with args: '-vV'
cargo 1.33.0-dev (6e10374b 2019-01-02)
release: 1.33.0
commit-hash: 6e10374b0bceccd6e9de8af0114524337b89a58d
commit-date: 2019-01-02

I'm on ArchLinux x86_64.

Maybe it's something I did, and it's not rustc's or even clippy's fault.

Activity

added
I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
T-dev-toolsRelevant to the dev-tools subteam, which will review and decide on the PR/issue.
on Jan 3, 2019
mati865

mati865 commented on Jan 4, 2019

@mati865
Member

It's being tracked in rust-lang/rust-clippy#3629

added a commit that references this issue on Jan 4, 2019

Auto merge of #3631 - phansch:add_itertools_to_integration_tests, r=p…

ghost

ghost commented on Jan 4, 2019

@ghost

Ok, so I wanted to say the following(and close the issue) but I'm now no longer sure... but instead of deleting all this text and not posting this, i am posting it, but I'm not closing the issue. So consider this undeleted :D

I've since updated and recompiled rustc with a changed config.toml setting namely debug-assertions = false (was true before, in OP), and I'm no longer hitting this ICE, with latest rust-clippy commit(possibly due to mitigations ?)

I've tried using the same commit of rust-clippy from OP but I got other errors(that got fixed by a later commit), so I decided to just use latest commit which was: 8ac411dd42c6612b3184d305f9426e7e364cb211

$ rustc -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx' with args: '-vV'
rustc 1.33.0-dev (a602f13f0 2019-01-04)
binary: rustc
commit-hash: a602f13f02acc17eda0d7f2c2d9adeabbdb59cf4
commit-date: 2019-01-04
host: x86_64-unknown-linux-gnu
release: 1.33.0-dev
LLVM version: 8.0

$ cargo -Vv
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/home/xftroxgpx' with args: '-Vv'
cargo 1.33.0-dev (34320d21 2019-01-03)
release: 1.33.0
commit-hash: 34320d212dca8cd27d06ce93c16c6151f46fcf2e
commit-date: 2019-01-03
/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy 
$ time cargo install --path . --force
...
    Finished release [optimized] target(s) in 8m 40s
   Replacing /home/xftroxgpx/.cargo/bin/cargo-clippy
   Replacing /home/xftroxgpx/.cargo/bin/clippy-driver

real	8m40.501s
user	24m2.846s
sys	0m11.862s

/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy 
$ time ./target/release/cargo-clippy 
...
    Finished dev [unoptimized + debuginfo] target(s) in 7m 53s

real	7m54.015s
user	20m18.805s
sys	0m20.590s

/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy 
$ cargo test --release -- --test-threads 4
...
    Finished release [optimized] target(s) in 7m 39s
     Running target/release/deps/compile_test-9cf56f1de0290b37

running 1 test

running 30 tests
test [run-pass] run-pass/ice-1588.rs ... ok
test [run-pass] run-pass/cc_seme.rs ... ok
test [run-pass] run-pass/enum-glob-import-crate.rs ... ok
test [run-pass] run-pass/associated-constant-ice.rs ... ok
test [run-pass] run-pass/ice-1969.rs ... ok
test [run-pass] run-pass/ice-1782.rs ... ok
test [run-pass] run-pass/ice-2499.rs ... ok
test [run-pass] run-pass/ice-2594.rs ... ok
test [run-pass] run-pass/ice-2727.rs ... ok
test [run-pass] run-pass/ice-2760.rs ... ok
test [run-pass] run-pass/ice-2865.rs ... ok
test [run-pass] run-pass/ice-2774.rs ... ok
test [run-pass] run-pass/ice-3462.rs ... ok
test [run-pass] run-pass/ice-3151.rs ... ok
test [run-pass] run-pass/ice-700.rs ... ok
test [run-pass] run-pass/ice_exacte_size.rs ... ok
test [run-pass] run-pass/if_same_then_else.rs ... ok
test [run-pass] run-pass/issue-2862.rs ... ok
test [run-pass] run-pass/issue-825.rs ... ok
test [run-pass] run-pass/issues_loop_mut_cond.rs ... ok
test [run-pass] run-pass/match_same_arms_const.rs ... ok
test [run-pass] run-pass/mut_mut_macro.rs ... ok
test [run-pass] run-pass/needless_borrow_fp.rs ... ok
test [run-pass] run-pass/needless_lifetimes_impl_trait.rs ... ok
test [run-pass] run-pass/procedural_macro.rs ... ok
test [run-pass] run-pass/regressions.rs ... ok
test [run-pass] run-pass/used_underscore_binding_macro.rs ... FAILED
test [run-pass] run-pass/returns.rs ... ok
test [run-pass] run-pass/single-match-else.rs ... ok
test [run-pass] run-pass/whitelist/conf_whitelisted.rs ... ok

failures:

---- [run-pass] run-pass/used_underscore_binding_macro.rs stdout ----

error: compilation failed!
status: exit code: 1
command: "target/release/clippy-driver" "tests/run-pass/used_underscore_binding_macro.rs" "-L" "/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/test_build_base" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/test_build_base/used_underscore_binding_macro.stage-id" "-L" "target/release" "-L" "target/release/deps" "-Dwarnings" "-Zui-testing" "-L" "/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/test_build_base/used_underscore_binding_macro.stage-id.aux"
stdout:
------------------------------------------

------------------------------------------
stderr:
------------------------------------------
{"message":"multiple matching crates for `serde_derive`","code":{"code":"E0464","explanation":null},"level":"error","spans":[{"file_name":"tests/run-pass/used_underscore_binding_macro.rs","byte_start":543,"byte_end":569,"line_start":14,"line_end":14,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"extern crate serde_derive;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"candidates:\ncrate `serde_derive`: /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/release/deps/libserde_derive-3f71afdce6a2028c.so\ncrate `serde_derive`: /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/release/deps/libserde_derive-17bc36f26561caa5.so","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0464]: multiple matching crates for `serde_derive`\n  --> tests/run-pass/used_underscore_binding_macro.rs:14:1\n   |\nLL | extern crate serde_derive;\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = note: candidates:\n           crate `serde_derive`: /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/release/deps/libserde_derive-3f71afdce6a2028c.so\n           crate `serde_derive`: /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/release/deps/libserde_derive-17bc36f26561caa5.so\n\n"}
{"message":"can't find crate for `serde_derive`","code":{"code":"E0463","explanation":"\nA plugin/crate was declared but cannot be found. Erroneous code example:\n\n```compile_fail,E0463\n#![feature(plugin)]\n#![plugin(cookie_monster)] // error: can't find crate for `cookie_monster`\nextern crate cake_is_a_lie; // error: can't find crate for `cake_is_a_lie`\n```\n\nYou need to link your code to the relevant crate in order to be able to use it\n(through Cargo or the `-L` option of rustc example). Plugins are crates as\nwell, and you link to them the same way.\n"},"level":"error","spans":[{"file_name":"tests/run-pass/used_underscore_binding_macro.rs","byte_start":543,"byte_end":569,"line_start":14,"line_end":14,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"extern crate serde_derive;","highlight_start":1,"highlight_end":27}],"label":"can't find crate","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0463]: can't find crate for `serde_derive`\n  --> tests/run-pass/used_underscore_binding_macro.rs:14:1\n   |\nLL | extern crate serde_derive;\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate\n\n"}
{"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
{"message":"Some errors occurred: E0463, E0464.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0463, E0464.\n"}
{"message":"For more information about an error, try `rustc --explain E0463`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0463`.\n"}

------------------------------------------

thread '[run-pass] run-pass/used_underscore_binding_macro.rs' panicked at 'explicit panic', /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/compiletest_rs-0.3.18/src/runtest.rs:2632:9
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.


failures:
    [run-pass] run-pass/used_underscore_binding_macro.rs

test result: FAILED. 29 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

test compile_test ... FAILED

failures:

---- compile_test stdout ----
thread 'compile_test' panicked at 'Some tests failed', /home/xftroxgpx/.cargo/registry/src/github.com-1ecc6299db9ec823/compiletest_rs-0.3.18/src/lib.rs:90:22


failures:
    compile_test

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

error: test failed, to rerun pass '--test compile-test'

I guess I can close this now, unless someone thinks this ICE can happen in cases unrelated to rust-clippy, or that it happens only when debug-assertions = true ?

EDIT: ok I even tested an earlier clippy commit 756b32e1e2ad474097f8d3e510b319dd5023297d to still not ICE, therefore it must be that debug-assertions = true when the ICE happens.

mati865

mati865 commented on Jan 4, 2019

@mati865
Member

@xftroxgpx this is actually very useful info.
We were wondering why we cannot reproduce it on Clippy CI, cc @phansch @matthiaskrgr

dlrobertson

dlrobertson commented on Jan 7, 2019

@dlrobertson
Contributor

Is this still happening with debug-assertions enabled? I was unable to repro with debug-assertions = true.

Environment:
rust-clippy@5b8496603c4db231719b67c1f88b409e7b278e5e
rust@b92552d5578e4544006da0dd5e793a19c2149321

I also tried rust-clippy@8ac411dd42c6612b3184d305f9426e7e364cb211

mati865

mati865 commented on Jan 7, 2019

@mati865
Member

You should try with Clippy commit 194a91c45d5cbeadeb16afd75ce451753b230b81, if it passes tests then it should be fixed.

ghost

ghost commented on Jan 7, 2019

@ghost

I'll test too, but only after the following PR is resolved: #57414 #57435

Lokathor

Lokathor commented on Jan 8, 2019

@Lokathor
Contributor

Very sorry I messed up that first PR @xftroxgpx XD

People should stop asking me for changes on git

ghost

ghost commented on Jan 8, 2019

@ghost

@Lokathor no worries :) I couldn't have done it either - I've no idea what's happening there either way :D

20 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-dev-toolsRelevant to the dev-tools subteam, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @mati865@estebank@jonas-schievink@Lokathor@dlrobertson

        Issue actions

          error: internal compiler error: src/librustc/ty/context.rs:248 "node {} with HirId::owner {:?} cannot be placed in TypeckTables with local_id_root {:?}" · Issue #57298 · rust-lang/rust