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

Unstable fingerprints for trait predicates #84275

Closed
zeramorphic opened this issue Apr 17, 2021 · 8 comments
Closed

Unstable fingerprints for trait predicates #84275

zeramorphic opened this issue Apr 17, 2021 · 8 comments
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@zeramorphic
Copy link

zeramorphic commented Apr 17, 2021

Context

Unfortunately I haven't been able to work out what caused this bug, and it seems to be transient, so I don't know how to make a minimal verifiable example. Source code: quill-lang. I'm sorry if this is very little information to go off!

The trait that is producing an error, quill_common::location::Ranged, is used in many of the sub-projects. Immediately before this error was raised, I added an import of use quill_common::location::Ranged; in quill_lsp/src/main.rs which was not there before.

For context, I'm developing a Visual Studio Code extension quill_vscode using the src/quill_lsp language server. When booting up the VSCode extension host, TypeScript (quill_vscode/client/stc/extension.ts) runs cargo run -p quill_lsp to instantiate the language server, causing cargo to compile my project while VSCode is already in the "debug" mode for the extension host. I don't know if this is relevant - VSCode isn't compiling any Rust projects so there doesn't seem to be a race condition between two instances of cargo, but I do use the rust-analyzer extension which may run cargo clippy in the background as I edit. I do often compile using a "driver" program quill which internally runs cargo run --bin quillc ... so it's possible that this two-layered build was the problem.

The same error message is emitted each time, using the same cargo build command. Running cargo clean fixes the issue.

Meta

rustc --version --verbose:

rustc 1.53.0-nightly (07e0e2ec2 2021-03-24)
binary: rustc
commit-hash: 07e0e2ec268c140e607e1ac7f49f145612d0f597
commit-date: 2021-03-24
host: x86_64-pc-windows-msvc
release: 1.53.0-nightly
LLVM version: 12.0.0

Error output

The line overwriting quill is produced by my debug output for an unrelated part of the project, please ignore it!

❯ cargo run --bin quill -- -svp stdlib/core run
    Finished dev [unoptimized + debuginfo] target(s) in 0.31s
     Running `target\debug\quill.exe -svp stdlib/core run`
Apr 17 18:49:03.389  INFO quill: initialised logging with verbosity level TRACE
overwriting quill
   Compiling quill_parser v0.1.0 (C:\code\quill-lang\quill\src\quill_parser)
thread 'rustc' panicked at 'found unstable fingerprints for predicates_of(quill_common[8580]::location::Ranged): GenericPredicates { parent: None, predicates: [(Binder(TraitPredicate(<Self as quill_common::location::Ranged>)), C:\code\quill\src\quill_common\src\location.rs:61:1: 63:2 (#0))] }', /rustc/07e0e2ec268c140e607e1ac7f49f145612d0f597\compiler\rustc_query_system\src\query\plumbing.rs:593:5
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.53.0-nightly (07e0e2ec2 2021-03-24) running on x86_64-pc-windows-msvc

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type lib

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

query stack during panic:
#0 [predicates_of] computing predicates of `quill_common::location::Ranged`
#1 [typeck] type-checking `<impl at src\quill_parser\src\lib.rs:512:1: 642:2>::parse_type`
#2 [typeck_item_bodies] type-checking all item bodies
#3 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `quill_parser`

To learn more, run the command again with --verbose.
error: process didn't exit successfully: `target\debug\quill.exe -svp stdlib/core run` (exit code: 1)
Backtrace

stack backtrace:
   0:     0x7ffea5d177ee - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h62553bb33d269d2e
   1:     0x7ffea5d427cc - core::fmt::write::h187a24ff0c56237d
   2:     0x7ffea5d0b208 - <std::io::IoSlice as core::fmt::Debug>::fmt::h7a51133a1941366b
   3:     0x7ffea5d1ba02 - std::panicking::take_hook::ha7af702674468c4c
   4:     0x7ffea5d1b4da - std::panicking::take_hook::ha7af702674468c4c
   5:     0x7ffe9f5fb057 - rustc_driver::report_ice::h530a14ca8f015ece
   6:     0x7ffea5d1c1e5 - std::panicking::rust_panic_with_hook::hffdabf0e02906eb3
   7:     0x7ffea5d1bdc1 - rust_begin_unwind
   8:     0x7ffea5d1810f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h62553bb33d269d2e
   9:     0x7ffea5d1bd19 - rust_begin_unwind
  10:     0x7ffea5d7463c - std::panicking::begin_panic_fmt::h5f113f8f74763d19
  11:     0x7ffea215579c - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  12:     0x7ffea2174874 - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  13:     0x7ffea23a053b - <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::store_diagnostics_for_anon_node::hd7e2bd798bf2fb8b
  14:     0x7ffea2065b60 - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  15:     0x7ffea22c960d - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_print_query_stack::hb6d9ba37c0f7d1ee
  16:     0x7ffea351eadb - rustc_middle::ty::generics::GenericPredicates::instantiate_own::h31039c7956d505c4
  17:     0x7ffea351e637 - rustc_middle::ty::generics::GenericPredicates::instantiate::h63494c069c403f98
  18:     0x7ffea1cc6b09 - rustc_typeck::check::inherited::Inherited::register_predicate::hc12a6cb0e9376803
  19:     0x7ffea1c5a204 - rustc_typeck::check::method::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::lookup_method::h8d2106f09f202a9d
  20:     0x7ffea1c04605 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  21:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  22:     0x7ffea1c09d93 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  23:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  24:     0x7ffea1c22db8 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::structurally_resolved_type::h3eddd86741d04da8
  25:     0x7ffea1bf09e5 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h48b58a17d3ccde21
  26:     0x7ffea1bee47e - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h48b58a17d3ccde21
  27:     0x7ffea1c04bcb - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  28:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  29:     0x7ffea1c22db8 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::structurally_resolved_type::h3eddd86741d04da8
  30:     0x7ffea1bf09e5 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h48b58a17d3ccde21
  31:     0x7ffea1bee47e - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h48b58a17d3ccde21
  32:     0x7ffea1c04bcb - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  33:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  34:     0x7ffea1c22db8 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::structurally_resolved_type::h3eddd86741d04da8
  35:     0x7ffea1bf09e5 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h48b58a17d3ccde21
  36:     0x7ffea1bee47e - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h48b58a17d3ccde21
  37:     0x7ffea1c04bcb - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  38:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  39:     0x7ffea1c26da9 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_no_value::h018b701bc4fa5ea5
  40:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  41:     0x7ffea1bea434 - rustc_typeck::check::_match::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_match::h6a3bb861c583ce79
  42:     0x7ffea1c0453c - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  43:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  44:     0x7ffea1c26da9 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_no_value::h018b701bc4fa5ea5
  45:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  46:     0x7ffea1bea434 - rustc_typeck::check::_match::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_match::h6a3bb861c583ce79
  47:     0x7ffea1c0453c - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  48:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  49:     0x7ffea1c26da9 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_no_value::h018b701bc4fa5ea5
  50:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  51:     0x7ffea1bea434 - rustc_typeck::check::_match::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_match::h6a3bb861c583ce79
  52:     0x7ffea1c0453c - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  53:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  54:     0x7ffea1c03e21 - rustc_typeck::check::demand::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_for_cast::h07b7eeb5dc6ec2ee
  55:     0x7ffea1c2620f - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_decl_local::hd612ea6478a5f0da
  56:     0x7ffea1c26381 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_stmt::h3ec8e98722b5f778
  57:     0x7ffea1c26d61 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_no_value::h018b701bc4fa5ea5
  58:     0x7ffea1c03fbf - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  59:     0x7ffea1c112c4 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::h807e0fa5bb42956a
  60:     0x7ffea1da7ca1 - rustc_typeck::check::check::check_wf_new::h22f4726fa1485181
  61:     0x7ffea1d38ea7 - <rustc_typeck::astconv::ConvertedBindingKind as core::fmt::Debug>::fmt::h2a7010a4ff5b2e0c
  62:     0x7ffea1dc1b07 - <rustc_typeck::check::fixup_opaque_types::FixupFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty::h78d3acd8dc861f09
  63:     0x7ffea2389cd9 - <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::store_diagnostics_for_anon_node::hd7e2bd798bf2fb8b
  64:     0x7ffea22f75db - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_print_query_stack::hb6d9ba37c0f7d1ee
  65:     0x7ffea23c6688 - <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::store_diagnostics_for_anon_node::hd7e2bd798bf2fb8b
  66:     0x7ffea212852a - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  67:     0x7ffea20a24a8 - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  68:     0x7ffea22cd502 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_print_query_stack::hb6d9ba37c0f7d1ee
  69:     0x7ffea1cde788 - <rustc_typeck::constrained_generic_params::Parameter as core::fmt::Debug>::fmt::h0c593faaca6b0e28
  70:     0x7ffea1dc2f33 - <rustc_typeck::check::CheckItemTypesVisitor as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_item::h6f609dad89ba15c2
  71:     0x7ffea238dfd9 - <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::store_diagnostics_for_anon_node::hd7e2bd798bf2fb8b
  72:     0x7ffea2302981 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_print_query_stack::hb6d9ba37c0f7d1ee
  73:     0x7ffea23b129a - <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::store_diagnostics_for_anon_node::hd7e2bd798bf2fb8b
  74:     0x7ffea21129cb - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  75:     0x7ffea206edbb - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  76:     0x7ffea22cd442 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_print_query_stack::hb6d9ba37c0f7d1ee
  77:     0x7ffea1cbcc10 - <rustc_typeck::bounds::Bounds as core::fmt::Debug>::fmt::hf626ecdc20bf1ae1
  78:     0x7ffea1cec8ff - rustc_typeck::check_crate::h590ac54a0ff66e8b
  79:     0x7ffe9f744b8e - rustc_interface::passes::BoxedResolver::to_resolver_outputs::h26a866d2af02ca21
  80:     0x7ffea238b009 - <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::store_diagnostics_for_anon_node::hd7e2bd798bf2fb8b
  81:     0x7ffea230eb58 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_print_query_stack::hb6d9ba37c0f7d1ee
  82:     0x7ffea23ad797 - <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::store_diagnostics_for_anon_node::hd7e2bd798bf2fb8b
  83:     0x7ffea2114b1a - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  84:     0x7ffea20901fe - <rustc_ast_lowering::item::ItemLowerer as rustc_ast::visit::Visitor>::visit_foreign_item::h10fb49fa6f6cbb54
  85:     0x7ffea22c9452 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_print_query_stack::hb6d9ba37c0f7d1ee
  86:     0x7ffe9f66c51a - <rustc_driver::args::Error as core::fmt::Debug>::fmt::h54d0345b5b43328e
  87:     0x7ffe9f612c17 - <rustc_middle::ty::SymbolName as core::fmt::Debug>::fmt::h898edfdbf8c7dbdf
  88:     0x7ffe9f6716bc - <rustc_driver::args::Error as core::fmt::Debug>::fmt::h54d0345b5b43328e
  89:     0x7ffe9f6151eb - <rustc_middle::ty::SymbolName as core::fmt::Debug>::fmt::h898edfdbf8c7dbdf
  90:     0x7ffe9f604034 - rustc_driver::pretty::print_after_hir_lowering::h04bf553be4aa75de
  91:     0x7ffe9f61745f - <rustc_middle::ty::SymbolName as core::fmt::Debug>::fmt::h898edfdbf8c7dbdf
  92:     0x7ffe9f63676d - <rustc_hir::intravisit::ErasedMap as rustc_hir::intravisit::Map>::foreign_item::he23d70bdee5d6fd3
  93:     0x7ffea5d2b16a - std::sys::windows::thread::Thread::new::h485ded1a10d2ce17
  94:     0x7fff40427034 - BaseThreadInitThunk
  95:     0x7fff41522651 - RtlUserThreadStart

@zeramorphic zeramorphic added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 17, 2021
@zeramorphic
Copy link
Author

Could be a duplicate of #84269.

@zeramorphic zeramorphic changed the title ICE: Unstable fingerprints for trait predicates Unstable fingerprints for trait predicates Apr 17, 2021
@Aaron1011
Copy link
Member

@thirdsgames: The next time this happens, could you zip and upload your entire target directory?

@zeramorphic
Copy link
Author

In retrospect that would have been an obvious thing to do (sorry) - I wanted to see if clean fixed the problem.

@zeramorphic
Copy link
Author

I've reproduced the problem (and zipped the target dir) on my linux machine.

Meta

rustc --version --verbose:

rustc 1.53.0-nightly (392ba2ba1 2021-04-17)
binary: rustc
commit-hash: 392ba2ba1a7d6c542d2459fb8133bebf62a4a423
commit-date: 2021-04-17
host: x86_64-unknown-linux-gnu
release: 1.53.0-nightly
LLVM version: 12.0.0

Error output:

$ cargo run --bin quill -- -svp stdlib/core run
    Finished dev [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/quill -svp stdlib/core run`
Apr 19 13:56:30.151  INFO quill: initialised logging with verbosity level TRACE
   Compiling quill_parser v0.1.0 (/home/sky/code/quill/src/quill_parser)
thread 'rustc' panicked at 'assertion failed: `(left == right)`
  left: `Some(Fingerprint(17272853890222528742, 4579056754543839504))`,
 right: `Some(Fingerprint(16699371946333824810, 9762301140808967693))`: found unstable fingerprints for predicates_of(core[ec89]::iter::traits::collect::IntoIterator): GenericPredicates { parent: None, predicates: [(Binder(TraitPredicate(<Self as std::iter::IntoIterator>), []), /home/sky/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/collect.rs:202:1: 202:23 (#0))] }', /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/compiler/rustc_query_system/src/query/plumbing.rs:593:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.53.0-nightly (392ba2ba1 2021-04-17) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type lib

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

query stack during panic:
#0 [predicates_of] computing predicates of `std::iter::IntoIterator`
#1 [inferred_outlives_crate] computing the inferred outlives predicates for items in this crate
end of query stack
error: could not compile `quill_parser`

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

Error output with backtrace:

$ cargo run --bin quill -- -svp stdlib/core run
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/quill -svp stdlib/core run`
Apr 19 13:57:29.088  INFO quill: initialised logging with verbosity level TRACE
   Compiling quill_parser v0.1.0 (/home/sky/code/quill/src/quill_parser)
thread 'rustc' panicked at 'assertion failed: `(left == right)`
  left: `Some(Fingerprint(17272853890222528742, 4579056754543839504))`,
 right: `Some(Fingerprint(16699371946333824810, 9762301140808967693))`: found unstable fingerprints for predicates_of(core[ec89]::iter::traits::collect::IntoIterator): GenericPredicates { parent: None, predicates: [(Binder(TraitPredicate(<Self as std::iter::IntoIterator>), []), /home/sky/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/collect.rs:202:1: 202:23 (#0))] }', /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/compiler/rustc_query_system/src/query/plumbing.rs:593:5
stack backtrace:
   0:     0x7efec38ec2f0 - std::backtrace_rs::backtrace::libunwind::trace::hdcf4f90f85129e83
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x7efec38ec2f0 - std::backtrace_rs::backtrace::trace_unsynchronized::h2669e30cb82f6732
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7efec38ec2f0 - std::sys_common::backtrace::_print_fmt::hfbda19e17f6db318
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7efec38ec2f0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1a8751bf59281272
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x7efec395d6af - core::fmt::write::h7aa6cd0067dca82a
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/core/src/fmt/mod.rs:1094:17
   5:     0x7efec38e0bb5 - std::io::Write::write_fmt::hd7dd3a1df9b6befb
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/io/mod.rs:1580:15
   6:     0x7efec38f009b - std::sys_common::backtrace::_print::h551e9ec8a9fa8106
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x7efec38f009b - std::sys_common::backtrace::print::ha4b1c5e95fa040b3
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x7efec38f009b - std::panicking::default_hook::{{closure}}::h0b34c9ab7fb9f857
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/panicking.rs:208:50
   9:     0x7efec38efb7d - std::panicking::default_hook::h3067e8318decd17a
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/panicking.rs:225:9
  10:     0x7efec40b24bd - rustc_driver::report_ice::h0582ed2432eb0d01
  11:     0x7efec38f07b0 - std::panicking::rust_panic_with_hook::h81b8facc50f34daa
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/panicking.rs:595:17
  12:     0x7efec38f0387 - std::panicking::begin_panic_handler::{{closure}}::ha376ab85d95a000e
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/panicking.rs:497:13
  13:     0x7efec38ec7ac - std::sys_common::backtrace::__rust_end_short_backtrace::h6795c8afdd1a77e6
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/sys_common/backtrace.rs:141:18
  14:     0x7efec38f02e9 - rust_begin_unwind
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/panicking.rs:493:5
  15:     0x7efec38be151 - core::panicking::panic_fmt::hbe99dddd3092ba3c
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/core/src/panicking.rs:92:14
  16:     0x7efec395a15e - core::panicking::assert_failed_inner::h4fdb1013d187f202
  17:     0x7efec4767b5c - core::panicking::assert_failed::h2cb4c07ec1e15c78
  18:     0x7efec5fa9d68 - rustc_query_system::query::plumbing::incremental_verify_ich::h103c82e00d4a796c
  19:     0x7efec5fbca07 - rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory::h9e56d761c3f55fd9
  20:     0x7efec547b9b0 - rustc_query_system::query::plumbing::get_query_impl::hc7fa0ab16d733c7a
  21:     0x7efec54f5139 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::predicates_of::hdd387b0bd96159fb
  22:     0x7efec5e8aa1f - rustc_typeck::outlives::explicit::ExplicitPredicatesMap::explicit_predicates_of::h7f5a65d7b7f8e549
  23:     0x7efec5e7c741 - rustc_typeck::outlives::implicit_infer::check_explicit_predicates::h292082c868c02c01
  24:     0x7efec5369d33 - <rustc_typeck::outlives::implicit_infer::InferVisitor as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_item::h12f919059fbb748e
  25:     0x7efec5305c2d - rustc_hir::hir::Crate::visit_all_item_likes::hfab858b1d0b814e0
  26:     0x7efec5e76270 - rustc_typeck::outlives::inferred_outlives_crate::h160e6255f8a7907a
  27:     0x7efec5fc6a69 - rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::inferred_outlives_crate>::compute::h1a0fcac7ff623cbe
  28:     0x7efec478e822 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::h4ff6601a56bd7da2
  29:     0x7efec6071929 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::hc08baff31b13bc74
  30:     0x7efec5fde251 - rustc_data_structures::stack::ensure_sufficient_stack::h382a8ee98844a78b
  31:     0x7efec5f8a7da - rustc_query_system::query::plumbing::force_query_with_job::h83453c0b2eb8234a
  32:     0x7efec457fd29 - rustc_query_system::query::plumbing::force_query_impl::hba244d2d1734459e
  33:     0x7efec454a59b - rustc_query_system::query::plumbing::force_query::h913482f152e63322
  34:     0x7efec4660085 - rustc_query_impl::query_callbacks::inferred_outlives_crate::force_from_dep_node::h985057f702da451c
  35:     0x7efec54f0ed3 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::he8103ccf5a5923bc
  36:     0x7efec54f0eb9 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::he8103ccf5a5923bc
  37:     0x7efec54f0eb9 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::he8103ccf5a5923bc
  38:     0x7efec54f0cf2 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_green_and_read::h5067a5afaf756be4
  39:     0x7efec5486ce2 - rustc_query_system::query::plumbing::ensure_must_run::h334a6f03cc9b27a9
  40:     0x7efec54f5173 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::predicates_of::hdd387b0bd96159fb
  41:     0x7efec538080c - rustc_typeck::collect::convert_item::h3a8ddc32236e43e8
  42:     0x7efec537c788 - <rustc_typeck::collect::CollectItemTypesVisitor as rustc_hir::intravisit::Visitor>::visit_item::hc2eef9ecb205b621
  43:     0x7efec53644bd - rustc_middle::hir::map::Map::visit_item_likes_in_module::h9ffb890de3357425
  44:     0x7efec5e9b812 - rustc_typeck::collect::collect_mod_item_types::ha83d945a3be56349
  45:     0x7efec609808c - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::hb593b4d9fe3c3cf3
  46:     0x7efec54f03be - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::hfb1fec0d6fa7ea05
  47:     0x7efec5495dbe - rustc_query_system::query::plumbing::force_query_with_job::hbdb06ac2597934e2
  48:     0x7efec545d614 - rustc_query_system::query::plumbing::get_query_impl::h328bf99f81d3ad62
  49:     0x7efec6083ccd - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_mod_item_types::h73924a9da5c73b0e
  50:     0x7efec5e0668e - rustc_session::session::Session::track_errors::h632dc2a904201ad0
  51:     0x7efec5e3ca1d - rustc_typeck::check_crate::heb848e97b33b6184
  52:     0x7efec5bdac8d - rustc_interface::passes::analysis::hdf0c41e7bd20242b
  53:     0x7efec4793e9a - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::h79da03c51d5eb779
  54:     0x7efec60741a8 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::he1753e46538bf70f
  55:     0x7efec5fdf317 - rustc_data_structures::stack::ensure_sufficient_stack::h55b64aa8321942c2
  56:     0x7efec5f949b1 - rustc_query_system::query::plumbing::force_query_with_job::hec25eeb08c07b506
  57:     0x7efec5f69663 - rustc_query_system::query::plumbing::get_query_impl::hd4f6191670b007e2
  58:     0x7efec608201f - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis::ha4b253866e559d53
  59:     0x7efec5bb96fa - rustc_interface::passes::QueryContext::enter::h1243d4d1902c3141
  60:     0x7efec5b9e5b5 - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::hedca2acec6ab04da
  61:     0x7efec5b9d554 - rustc_span::with_source_map::h67cb68e15a9ffc39
  62:     0x7efec5b9f581 - rustc_interface::interface::create_compiler_and_run::he6a465670788f848
  63:     0x7efec5bb8d08 - scoped_tls::ScopedKey<T>::set::h8de4c07d6e313e7a
  64:     0x7efec5bb9223 - std::sys_common::backtrace::__rust_begin_short_backtrace::h953d4096b984a1d5
  65:     0x7efec5bbcb15 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hf2d8af4e3cccbbb1
  66:     0x7efec3900587 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3aa31cb6360b59d9
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/alloc/src/boxed.rs:1546:9
  67:     0x7efec3900587 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7719d3c7c5841461
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/alloc/src/boxed.rs:1546:9
  68:     0x7efec3900587 - std::sys::unix::thread::Thread::new::thread_start::hfbe13ead469fd0bc
                               at /rustc/392ba2ba1a7d6c542d2459fb8133bebf62a4a423/library/std/src/sys/unix/thread.rs:71:17
  69:     0x7efec3829609 - start_thread
  70:     0x7efec373d293 - clone
  71:                0x0 - <unknown>

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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.53.0-nightly (392ba2ba1 2021-04-17) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type lib

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

query stack during panic:
#0 [predicates_of] computing predicates of `std::iter::IntoIterator`
#1 [inferred_outlives_crate] computing the inferred outlives predicates for items in this crate
#2 [collect_mod_item_types] collecting item types in top-level module
#3 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `quill_parser`

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

@Aaron1011
Copy link
Member

@thirdsgames: Have you updated your version of Rust (or changed anything in /home/sky/.rustup/toolchains) since this crash started happening?

@zeramorphic
Copy link
Author

No I haven't, I'm still running the the 2021-04-17 nightly release. But the original issue was raised with an earlier version, on a different machine, and with a clean compile, so both releases (and OSes) are affected.

@wesleywiser
Copy link
Member

Thanks for filing the bug report! We are currently triaging issues related to #84970 to ensure each underlying problem gets resolved. Since this appears to be a duplicate of #83259, I'm going to close in favor of that issue.

@zeramorphic
Copy link
Author

Thanks for your support! I've just read the 1.52.1 blog post, hope this ends up getting resolved!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants