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, generics_of #87860

Closed
ijackson opened this issue Aug 8, 2021 · 7 comments
Closed

unstable fingerprints, generics_of #87860

ijackson opened this issue Aug 8, 2021 · 7 comments
Assignees
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

@ijackson
Copy link
Contributor

ijackson commented Aug 8, 2021

Hi. I got one of these unstable fingerprint ICEs, with a nightly compiler from a few weeks ago. I'm not sure if this is a useful report; #84970 didn't really say whether it would be, nor precisely what to put in it. I assume there is no point trying a repro with a recent nightly.

I have preserved a copy of my target/ directory in case it will be useful. It's 2.9GB so do let me know when I can delete it :-).

Code

https://salsa.debian.org/iwj/hippotat/-/tree/ice.fingerprints.2021-08-08

With the following compile rune:

cargo build --manifest-path=/home/ian/Rustup/Hippotat/hippotat/Cargo.toml --locked --target-dir=target --offline

(This is an out-of-tree build.)

Meta

rustc --version --verbose:

rustc 1.56.0-nightly (d9aa28767 2021-07-24)
binary: rustc
commit-hash: d9aa28767287670df6cf823b94629122e04442c0
commit-date: 2021-07-24
host: x86_64-unknown-linux-gnu
release: 1.56.0-nightly
LLVM version: 12.0.1

Error output

error: internal compiler error: encountered incremental compilation error with generics_of(hippotat[eb06]::ipif::{impl#0}::start)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p hippotat` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information

thread 'rustc' panicked at 'Found unstable fingerprints for generics_of(hippotat[eb06]::ipif::{impl#0}::start): Generics { parent: Some(DefId(19:384 ~ hippotat[eb06]::ipif::{impl#0})), parent_count: 0, params: [], param_def_id_to_index: {}, has_self: false, has_late_bound_regions: Some(/home/ian/Rustup/Hippotat/hippotat/src/ipif.rs:16:21: 16:22 (#0)) }', /rustc/d9aa28767287670df6cf823b94629122e04442c0/compiler/rustc_query_system/src/query/plumbing.rs:624:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Full output including backtrace

-*- mode: compilation; default-directory: "~/Rustup/Hippotat/hippotat/" -*-
Compilation started at Sun Aug  8 12:05:27

RUST_BACKTRACE=1 nailing-cargo build
nailing-cargo: out-of-tree, building in: `/home/ian/Rustup/Hippotat/Build/hippotat'
nailing-cargo: using really to run as user `rustcargo'
nailing-cargo: *WARNING* cwd is not in Cargo.nail thbough it has Cargo.toml!
nailing-cargo: nailed (0 manifests, 0 packages)
nailing-cargo: invoking: cargo build --manifest-path=/home/ian/Rustup/Hippotat/hippotat/Cargo.toml --locked --target-dir=target --offline
   Compiling hippotat v0.0.0 (/home/ian/Rustup/Hippotat/hippotat)
error[E0425]: cannot find value `req` in this scope
  --> src/bin/server.rs:24:22
   |
24 |     let mut ctypes = req.headers().get_all();
   |                      ^^^ help: a local variable with a similar name exists: `_req`

error[E0423]: expected function, found crate `anyhow`
  --> src/bin/server.rs:31:44
   |
31 |       if t.subtype != "form-data" { throw!(anyhow("not multipart/form-data")) }
   |                                            ^^^^^^ not a function

error: internal compiler error: encountered incremental compilation error with generics_of(hippotat[eb06]::ipif::{impl#0}::start)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p hippotat` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information

thread 'rustc' panicked at 'Found unstable fingerprints for generics_of(hippotat[eb06]::ipif::{impl#0}::start): Generics { parent: Some(DefId(19:384 ~ hippotat[eb06]::ipif::{impl#0})), parent_count: 0, params: [], param_def_id_to_index: {}, has_self: false, has_late_bound_regions: Some(/home/ian/Rustup/Hippotat/hippotat/src/ipif.rs:16:21: 16:22 (#0)) }', /rustc/d9aa28767287670df6cf823b94629122e04442c0/compiler/rustc_query_system/src/query/plumbing.rs:624:9
stack backtrace:
   0: rust_begin_unwind
             at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:515:5
   1: std::panicking::begin_panic_fmt
             at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:457:5
   2: rustc_query_system::query::plumbing::incremental_verify_ich
   3: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
   4: rustc_query_system::query::plumbing::get_query_impl
   5: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::generics_of
   6: rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::instantiate_value_path
   7: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
   8: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
   9: rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call
  10: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  11: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  12: rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_argument_types
  13: rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::confirm_builtin_call
  14: rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call
  15: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  16: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  17: rustc_typeck::check::_match::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::demand_scrutinee_type
  18: rustc_typeck::check::_match::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_match
  19: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  20: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  21: rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_decl_initializer
  22: rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_decl_local
  23: rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_stmt
  24: rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_with_expected
  25: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  26: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  27: rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_with_expected
  28: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  29: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_return_expr
  30: rustc_typeck::check::check::check_fn
  31: rustc_typeck::check::closure::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_closure
  32: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  33: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  34: rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_argument_types
  35: rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::confirm_builtin_call
  36: rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call
  37: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  38: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation
  39: rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_return_expr
  40: rustc_typeck::check::check::check_fn
  41: rustc_infer::infer::InferCtxtBuilder::enter
  42: rustc_typeck::check::typeck
  43: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
  44: rustc_data_structures::stack::ensure_sufficient_stack
  45: rustc_query_system::query::plumbing::force_query_with_job
  46: rustc_query_system::query::plumbing::force_query_impl
  47: rustc_query_system::query::plumbing::force_query
  48: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  49: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  50: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  51: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  52: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  53: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  54: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  55: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_green_and_read
  56: rustc_query_system::query::plumbing::ensure_must_run
  57: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::check_mod_item_types
  58: rustc_session::utils::<impl rustc_session::session::Session>::time
  59: rustc_typeck::check_crate
  60: rustc_interface::passes::analysis
  61: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  62: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
  63: rustc_query_system::dep_graph::graph::DepGraph<K>::with_eval_always_task
  64: rustc_data_structures::stack::ensure_sufficient_stack
  65: rustc_query_system::query::plumbing::force_query_with_job
  66: rustc_query_system::query::plumbing::get_query_impl
  67: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  68: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  69: rustc_span::with_source_map
  70: rustc_interface::interface::create_compiler_and_run
  71: scoped_tls::ScopedKey<T>::set
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.56.0-nightly (d9aa28767 2021-07-24) running on x86_64-unknown-linux-gnu

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

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

query stack during panic:
error: internal compiler error: encountered incremental compilation error with item_children(hippotat[eb06])
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p hippotat` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information

thread 'rustc' panicked at 'Found unstable fingerprints for item_children(hippotat[eb06]): [Export { ident: prelude#0, res: Def(Mod, DefId(19:3 ~ hippotat[eb06]::prelude)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:7:1: 7:17 (#0), vis: Public }, Export { ident: config#0, res: Def(Mod, DefId(19:304 ~ hippotat[eb06]::config)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:9:1: 9:16 (#0), vis: Public }, Export { ident: ipif#0, res: Def(Mod, DefId(19:377 ~ hippotat[eb06]::ipif)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:10:1: 10:14 (#0), vis: Public }, Export { ident: slip#0, res: Def(Mod, DefId(19:388 ~ hippotat[eb06]::slip)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:11:1: 11:14 (#0), vis: Public }, Export { ident: reporter#0, res: Def(Mod, DefId(19:409 ~ hippotat[eb06]::reporter)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:12:1: 12:18 (#0), vis: Public }, Export { ident: queue#0, res: Def(Mod, DefId(19:442 ~ hippotat[eb06]::queue)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:13:1: 13:15 (#0), vis: Public }, Export { ident: types#0, res: Def(Mod, DefId(19:470 ~ hippotat[eb06]::types)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:14:1: 14:15 (#0), vis: Public }, Export { ident: utils#0, res: Def(Mod, DefId(19:479 ~ hippotat[eb06]::utils)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:15:1: 15:15 (#0), vis: Public }, Export { ident: ini#0, res: Def(Mod, DefId(19:491 ~ hippotat[eb06]::ini)), span: /home/ian/Rustup/Hippotat/hippotat/src/lib.rs:17:1: 17:13 (#0), vis: Public }]', /rustc/d9aa28767287670df6cf823b94629122e04442c0/compiler/rustc_query_system/src/query/plumbing.rs:624:9
stack backtrace:
   0:     0x7f02fe7d9c00 - std::backtrace_rs::backtrace::libunwind::trace::h0f5cd2ee8b0d7274
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x7f02fe7d9c00 - std::backtrace_rs::backtrace::trace_unsynchronized::h06905b5aeda069a1
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f02fe7d9c00 - std::sys_common::backtrace::_print_fmt::h4fe4c7c875072f30
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7f02fe7d9c00 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hcc0746f004a9b7ef
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x7f02fe84773c - core::fmt::write::h9a6d9c74526a6c1b
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/core/src/fmt/mod.rs:1115:17
   5:     0x7f02fe7cb395 - std::io::Write::write_fmt::h23dab4cc9ce72ee2
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/io/mod.rs:1665:15
   6:     0x7f02fe7dd91b - std::sys_common::backtrace::_print::h173dc702502d65d2
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x7f02fe7dd91b - std::sys_common::backtrace::print::h61bd27c4742ba817
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x7f02fe7dd91b - std::panicking::default_hook::{{closure}}::hcaae87f0495ae613
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:208:50
   9:     0x7f02fe7dd3f1 - std::panicking::default_hook::h0538e728ee080db0
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:225:9
  10:     0x7f02fefb8801 - rustc_driver::DEFAULT_HOOK::{{closure}}::{{closure}}::h9137b7ac1a66352b
  11:     0x7f02e6d19e03 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h676de7ca6fc80388
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/alloc/src/boxed.rs:1586:9
  12:     0x7f02e6d1783a - proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}::{{closure}}::h64d2031cd7bd0497
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/proc_macro/src/bridge/client.rs:320:21
  13:     0x7f02fe7de149 - std::panicking::rust_panic_with_hook::h3039e236b6ca482c
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:626:17
  14:     0x7f02fe7ddc07 - std::panicking::begin_panic_handler::{{closure}}::h884fbab544ffd91c
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:519:13
  15:     0x7f02fe7da0fc - std::sys_common::backtrace::__rust_end_short_backtrace::hdaf2e18ba3d91210
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/sys_common/backtrace.rs:141:18
  16:     0x7f02fe7ddb69 - rust_begin_unwind
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:515:5
  17:     0x7f02fe7a6b6b - std::panicking::begin_panic_fmt::h34884936c58ac1e4
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:457:5
  18:     0x7f02ff7efcec - rustc_query_system::query::plumbing::incremental_verify_ich::h81dd8cf5426ba834
  19:     0x7f02ff8231b9 - rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory::h94fdb837c32917c8
  20:     0x7f030067436b - rustc_query_system::query::plumbing::get_query_impl::hf40c150e06ee145b
  21:     0x7f03006bbffe - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::item_children::h069dc379d9553315
  22:     0x7f030077b8a0 - core::ops::function::FnOnce::call_once::he0f1c3e09140bf9c
  23:     0x7f02ff966d94 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::hc336cd2a29e90600
  24:     0x7f02ff81b667 - rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory::h1c4d6adbe6628f8f
  25:     0x7f02ffa0387f - rustc_data_structures::stack::ensure_sufficient_stack::h33b3f689732d4954
  26:     0x7f0300f53c52 - rustc_query_system::query::plumbing::get_query_impl::h322a4824c6a9cb8a
  27:     0x7f0301033110 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::visible_parent_map::h574fc0273e871ca0
  28:     0x7f0300a09a6d - rustc_middle::ty::print::pretty::PrettyPrinter::try_print_visible_def_path_recur::h5bfd3d6034b56a2e
  29:     0x7f0300a0ece1 - <rustc_middle::ty::print::pretty::FmtPrinter<F> as rustc_middle::ty::print::Printer>::print_def_path::hc9d0cef232d3d52d
  30:     0x7f03009ca312 - rustc_middle::ty::print::pretty::<impl rustc_middle::ty::context::TyCtxt>::def_path_str_with_substs::h490b0253db3644eb
  31:     0x7f03009ca1f4 - rustc_middle::ty::print::pretty::<impl rustc_middle::ty::context::TyCtxt>::def_path_str::he05c0d1157222c9f
  32:     0x7f02ff895f21 - std::thread::local::LocalKey<T>::with::h5fbbfde397a3b8a0
  33:     0x7f02ff8b3a38 - rustc_query_impl::plumbing::<impl rustc_query_system::query::config::QueryDescription<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::generics_of>::describe::hfaa93a4cdfc52ac5
  34:     0x7f02ff896707 - std::thread::local::LocalKey<T>::with::h644132d33bd34891
  35:     0x7f02ff8ca213 - rustc_query_impl::make_query::generics_of::haa3f4ccc5d702d2e
  36:     0x7f02ff811c18 - rustc_query_system::query::plumbing::QueryState<D,K>::try_collect_active_jobs::h53d025dc019a9285
  37:     0x7f02ff8f7795 - rustc_query_impl::Queries::try_collect_active_jobs::h65dbfc5c986c3867
  38:     0x7f02ff879d11 - rustc_query_system::query::job::print_query_stack::h140cdbaff17a7038
  39:     0x7f02ff0c53df - rustc_interface::interface::try_print_query_stack::h4d4e0b48c72c7311
  40:     0x7f02fefb8bef - rustc_driver::report_ice::hc15a5b18557b3a5e
  41:     0x7f02e6d19e03 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h676de7ca6fc80388
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/alloc/src/boxed.rs:1586:9
  42:     0x7f02e6d1783a - proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}::{{closure}}::h64d2031cd7bd0497
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/proc_macro/src/bridge/client.rs:320:21
  43:     0x7f02fe7de149 - std::panicking::rust_panic_with_hook::h3039e236b6ca482c
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:626:17
  44:     0x7f02fe7ddc07 - std::panicking::begin_panic_handler::{{closure}}::h884fbab544ffd91c
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:519:13
  45:     0x7f02fe7da0fc - std::sys_common::backtrace::__rust_end_short_backtrace::hdaf2e18ba3d91210
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/sys_common/backtrace.rs:141:18
  46:     0x7f02fe7ddb69 - rust_begin_unwind
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:515:5
  47:     0x7f02fe7a6b6b - std::panicking::begin_panic_fmt::h34884936c58ac1e4
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/panicking.rs:457:5
  48:     0x7f0300fcad5c - rustc_query_system::query::plumbing::incremental_verify_ich::hc6620688d784ee87
  49:     0x7f0300fd2a89 - rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory::h197f70a0867623be
  50:     0x7f030064f25c - rustc_query_system::query::plumbing::get_query_impl::h5fb5c5bed3fa57b2
  51:     0x7f03006b8758 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::generics_of::h61746816b497f35c
  52:     0x7f03001abf73 - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::instantiate_value_path::h42c57fbc2fae7bf4
  53:     0x7f030019ac17 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind::h8b33ea2510a76dde
  54:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  55:     0x7f0300191636 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h68693c99a0d0ea54
  56:     0x7f030019ae53 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind::h8b33ea2510a76dde
  57:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  58:     0x7f03001af18a - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_argument_types::h3019c1925311e0aa
  59:     0x7f0300192882 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::confirm_builtin_call::h6d6ed534c8384ace
  60:     0x7f0300191895 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h68693c99a0d0ea54
  61:     0x7f030019ae53 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind::h8b33ea2510a76dde
  62:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  63:     0x7f0300190a33 - rustc_typeck::check::_match::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::demand_scrutinee_type::h64cc451773838331
  64:     0x7f030018e494 - rustc_typeck::check::_match::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_match::h6c5890590a6ab3ec
  65:     0x7f030019bc88 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind::h8b33ea2510a76dde
  66:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  67:     0x7f03001b1500 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_decl_initializer::hb97f7312e7903eba
  68:     0x7f03001b1609 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_decl_local::h2f9a9fb153ccadb5
  69:     0x7f03001b17b5 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_stmt::hb8b80b505699cd61
  70:     0x7f03001b2af7 - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_with_expected::h011af43df48de2e3
  71:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  72:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  73:     0x7f03001b207f - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_with_expected::h011af43df48de2e3
  74:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  75:     0x7f03001a5ff3 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_return_expr::ha79c41824c02139e
  76:     0x7f0300285854 - rustc_typeck::check::check::check_fn::hb75a358708d1d85b
  77:     0x7f0300194f1b - rustc_typeck::check::closure::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_closure::ha48692daeb78447f
  78:     0x7f030019d49a - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind::h8b33ea2510a76dde
  79:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  80:     0x7f03001af46b - rustc_typeck::check::fn_ctxt::checks::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_argument_types::h3019c1925311e0aa
  81:     0x7f0300192882 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::confirm_builtin_call::h6d6ed534c8384ace
  82:     0x7f0300191895 - rustc_typeck::check::callee::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_call::h68693c99a0d0ea54
  83:     0x7f030019ae53 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind::h8b33ea2510a76dde
  84:     0x7f030019a555 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation::hb5d02a5b2979c8ce
  85:     0x7f03001a5ff3 - rustc_typeck::check::expr::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::check_return_expr::ha79c41824c02139e
  86:     0x7f0300285854 - rustc_typeck::check::check::check_fn::hb75a358708d1d85b
  87:     0x7f03002103f1 - rustc_infer::infer::InferCtxtBuilder::enter::h5b0049019ece2d91
  88:     0x7f03001f0376 - rustc_typeck::check::typeck::h45b639d5069c89f7
  89:     0x7f0301058aa8 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::h81a3448d8fd75bb4
  90:     0x7f03010d3d1a - rustc_data_structures::stack::ensure_sufficient_stack::h6cffa2c09e8533e7
  91:     0x7f0300faaf45 - rustc_query_system::query::plumbing::force_query_with_job::hdf3deb48d86aa959
  92:     0x7f02ff7aebfe - rustc_query_system::query::plumbing::force_query_impl::h56a11f16028f5249
  93:     0x7f02ff786560 - rustc_query_system::query::plumbing::force_query::h0cc57fd9f8514925
  94:     0x7f03006bec9d - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::hffe9688dc1434e72
  95:     0x7f03006bec75 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::hffe9688dc1434e72
  96:     0x7f03006bec75 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::hffe9688dc1434e72
  97:     0x7f03006bec75 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::hffe9688dc1434e72
  98:     0x7f03006bec75 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::hffe9688dc1434e72
  99:     0x7f03006bec75 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::hffe9688dc1434e72
 100:     0x7f03006bec75 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green::hffe9688dc1434e72
 101:     0x7f03006bea94 - rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_green_and_read::h71479c25581a15e8
 102:     0x7f0300676718 - rustc_query_system::query::plumbing::ensure_must_run::ha8d1c365717ddfe3
 103:     0x7f030102fb8f - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::check_mod_item_types::h422243810d36e977
 104:     0x7f0300d032fa - rustc_session::utils::<impl rustc_session::session::Session>::time::h4d296e2c43d495b2
 105:     0x7f0300cf8899 - rustc_typeck::check_crate::h864746f12aafb21f
 106:     0x7f0300adf7ff - rustc_interface::passes::analysis::h03a70ed0c42fa8b9
 107:     0x7f02ff96b883 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::hf3c0ff2e6ba55734
 108:     0x7f02ff9264c7 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::h016081889e8dfe54
 109:     0x7f02ff93f589 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_eval_always_task::hbbad40e731bbfccb
 110:     0x7f02ffa0c03e - rustc_data_structures::stack::ensure_sufficient_stack::haa708ff3243a17f2
 111:     0x7f02ff7c933d - rustc_query_system::query::plumbing::force_query_with_job::hc943b0ea9dd06133
 112:     0x7f0300f8c306 - rustc_query_system::query::plumbing::get_query_impl::hf521f2a716f3e334
 113:     0x7f030102e06d - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis::h3ac2c7e48d4d969c
 114:     0x7f0300ab3f88 - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::heb7ceb87a90ee964
 115:     0x7f0300aa2d5c - rustc_span::with_source_map::h0260ea075482ae79
 116:     0x7f0300ab51aa - rustc_interface::interface::create_compiler_and_run::he7ef8517199cf024
 117:     0x7f0300aa82d9 - scoped_tls::ScopedKey<T>::set::h603cbfb5f6e2dd76
 118:     0x7f0300aa428a - std::sys_common::backtrace::__rust_begin_short_backtrace::h23393d8936f34bfc
 119:     0x7f0300aa3705 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h513135f67ecd4e6b
 120:     0x7f02fe7ea6d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd5b860c6542b008a
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/alloc/src/boxed.rs:1572:9
 121:     0x7f02fe7ea6d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc87b98c8a3a585ed
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/alloc/src/boxed.rs:1572:9
 122:     0x7f02fe7ea6d7 - std::sys::unix::thread::Thread::new::thread_start::ha990175c8f3779cc
                               at /rustc/d9aa28767287670df6cf823b94629122e04442c0/library/std/src/sys/unix/thread.rs:91:17
 123:     0x7f02fe6defa3 - start_thread
 124:     0x7f02fe5fe4cf - clone
 125:                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.56.0-nightly (d9aa28767 2021-07-24) running on x86_64-unknown-linux-gnu

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

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

query stack during panic:
end of query stack
thread panicked while panicking. aborting.
error: could not compile `hippotat` due to 2 previous errors

Caused by:
  process didn't exit successfully: `rustc --crate-name hippotat --edition=2018 src/bin/client.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=2f2dcbbde940b20f -C extra-filename=-2f2dcbbde940b20f --out-dir /volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps -C incremental=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/incremental -L dependency=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps --extern backtrace=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libbacktrace-97911377ff0eb88d.rlib --extern base64=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libbase64-8b10e97376989597.rlib --extern cervine=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libcervine-80490afc41a212cf.rlib --extern env_logger=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libenv_logger-ce957a086360d851.rlib --extern extend=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libextend-362892b994866dea.so --extern eyre=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libeyre-9cdc44122af4fee5.rlib --extern fehler=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libfehler-f7e4f4c8807b1a24.rlib --extern futures=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libfutures-11255ce18fc5c3d4.rlib --extern hippotat=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libhippotat-26c1d13a5b313865.rlib --extern hippotat_macros=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libhippotat_macros-cf4dde89cb049087.so --extern hyper=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libhyper-302b85ee344e72e9.rlib --extern hyper_tls=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libhyper_tls-8505ee64b390419c.rlib --extern indenter=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libindenter-df36a6f233688bdb.rlib --extern ipnet=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libipnet-7ec94a7054a3e9ae.rlib --extern itertools=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libitertools-78c60b588458e652.rlib --extern lazy_regex=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/liblazy_regex-2f5a071b1a25db30.rlib --extern log=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/liblog-062ec20cca67060d.rlib --extern mime=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libmime-255653d28c915291.rlib --extern parking_lot=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libparking_lot-b8edadbbb50a096a.rlib --extern regex=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libregex-14edb7dff9ca13a5.rlib --extern sha2=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libsha2-9871309993542823.rlib --extern structopt=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libstructopt-872507e34096e591.rlib --extern thiserror=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libthiserror-5edc1b5ff6a0a3f6.rlib --extern tokio=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libtokio-477e7d5793b87944.rlib --extern void=/volatile/rustcargo/Rustup/Hippotat/hippotat/target/debug/deps/libvoid-5636004af8853cbe.rlib` (signal: 4, SIGILL: illegal instruction)
warning: build failed, waiting for other jobs to finish...
error[E0599]: no method named `context` found for enum `Option` in the current scope
    --> src/bin/server.rs:29:41
     |
29   |     let b = t.get_param(mime::BOUNDARY).context("missing boundary=...")?;
     |                                         ^^^^^^^ method not found in `Option<mime::Name<'_>>`
     | 
    ::: /home/rustcargo/.cargo/registry/src/github.com-1ecc6299db9ec823/eyre-0.6.5/src/lib.rs:1087:8
     |
1087 |     fn context<D>(self, msg: D) -> Result<T, Report>
     |        ------- the method is available for `Option<mime::Name<'_>>` here
     |
     = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
     |
5    | use hippotat::prelude::eyre::ContextCompat;
     |

error[E0615]: attempted to take value of method `subtype` on type `Mime`
  --> src/bin/server.rs:31:12
   |
31 |       if t.subtype != "form-data" { throw!(anyhow("not multipart/form-data")) }
   |            ^^^^^^^ method, not a field
   |
help: use parentheses to call the method
   |
31 |       if t.subtype() != "form-data" { throw!(anyhow("not multipart/form-data")) }
   |                   ^^

Some errors have detailed explanations: E0423, E0425, E0599, E0615.
For more information about an error, try `rustc --explain E0423`.
error: build failed
nailing-cargo: really failed (exit status 25856)
nailing-cargo: unnailed.  status 101.

Compilation exited abnormally with code 101 at Sun Aug  8 12:05:29

@ijackson ijackson 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 Aug 8, 2021
@Aaron1011 Aaron1011 self-assigned this Aug 8, 2021
@Aaron1011
Copy link
Member

@ijackson: Thanks for the detailed report!

Before you ran the failing cargo build command, do you know what commit you had checked out? I've tried to reproduce this by first building the parent of https://salsa.debian.org/iwj/hippotat/-/commit/ff07ec217de7ead5f497b05fa1026aaf630978bf (which is https://salsa.debian.org/iwj/hippotat/-/commit/0d814a7ef4345ae488ef8b61676fede4a867d7c3), and then building the commit itself. However, I haven't been able to reproduce the ICE yet.

@ijackson
Copy link
Contributor Author

ijackson commented Aug 8, 2021 via email

@Aaron1011
Copy link
Member

I'm at a loss as to how this could have happened. There's not much data stored in Generics, and I don't see how any of it could change without also changing the crate hash (e.g. changing the lifetime span would change the hash of the function itself, when we hash the parameter).

I wonder if the incremental compilation data or crate metadata could have been corrupted on-disk. As far as I know, we don't have any protections against this.

@Aaron1011
Copy link
Member

I've opened #87896 to detect corruption of crate metadata via a SHA-256 hash.

@ijackson
Copy link
Contributor Author

ijackson commented Aug 10, 2021 via email

@Aaron1011
Copy link
Member

@ijackson: Is it possible that you could have compiled the crate multiple times from different working directories (e.g. running cargo outside of the project directory), but with the same target directory (specified via --target-dir)?

@Enselic
Copy link
Member

Enselic commented Sep 8, 2023

Triage: Thank you for reporting ijackson. Without a way for others to reproduce the ICE, not much can be done at this point. though. Closing. Feel free to reopen if a way to reproduce is found.

@Enselic Enselic closed this as not planned Won't fix, can't repro, duplicate, stale Sep 8, 2023
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