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

Compiler crash when adding a new variant to an enum that contains a tuple #118506

Open
dansiemon opened this issue Dec 1, 2023 · 3 comments
Open
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

@dansiemon
Copy link

dansiemon commented Dec 1, 2023

This occurs with the current beta release.

Error

error: internal compiler error: compiler/rustc_mir_transform/src/coroutine.rs:1463:14: unexpected coroutine type Pin<&mut {async fn body@APP/src/controller/worker_task.rs:500:29: 525:2}>
   --> APP/src/controller/worker_task.rs:500:29
    |
500 |   ) -> Result<(u32, u32), ()> {
    |  _____________________________^
501 | |     let r = worker_sender
502 | |         .send_async(worker::Request::AllocateInnerPair(
503 | |             external_rate,
...   |
524 | |     }
525 | | }
    | |_^

thread 'rustc' panicked at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/compiler/rustc_errors/src/lib.rs:1000:33:
Box<dyn Any>
stack backtrace:
   0:     0x7fd35378b62c - std::backtrace_rs::backtrace::libunwind::trace::hbc3147b2412df928
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x7fd35378b62c - std::backtrace_rs::backtrace::trace_unsynchronized::hed430ddffc4179e4
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fd35378b62c - std::sys_common::backtrace::_print_fmt::h4bde3488c2931b1d
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7fd35378b62c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbd701e3cb537dd44
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fd3537de630 - core::fmt::rt::Argument::fmt::hbab9463f2c792b08
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/core/src/fmt/rt.rs:142:9
   5:     0x7fd3537de630 - core::fmt::write::h160083586ebb88cb
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/core/src/fmt/mod.rs:1120:17
   6:     0x7fd35377f54f - std::io::Write::write_fmt::h258bcc4ab6dd0d57
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/io/mod.rs:1762:15
   7:     0x7fd35378b414 - std::sys_common::backtrace::_print::he4125c08cc216390
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7fd35378b414 - std::sys_common::backtrace::print::h39d583284495354a
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7fd35378e0a7 - std::panicking::default_hook::{{closure}}::hfc25a6e43b9c968c
  10:     0x7fd35378de0f - std::panicking::default_hook::h12d0ee92a77b69c0
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/panicking.rs:292:9
  11:     0x7fd356338d30 - std[7bde1b71ad8ab579]::panicking::update_hook::<alloc[c34fee255adf1fde]::boxed::Box<rustc_driver_impl[38fb992a4e3916bf]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7fd35378e7e8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc8454c1ae8dfce60
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/alloc/src/boxed.rs:2021:9
  13:     0x7fd35378e7e8 - std::panicking::rust_panic_with_hook::h4377eb73d5c58883
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/panicking.rs:783:13
  14:     0x7fd356918514 - std[7bde1b71ad8ab579]::panicking::begin_panic::<rustc_errors[612d9135be2c10e2]::ExplicitBug>::{closure#0}
  15:     0x7fd35690e066 - std[7bde1b71ad8ab579]::sys_common::backtrace::__rust_end_short_backtrace::<std[7bde1b71ad8ab579]::panicking::begin_panic<rustc_errors[612d9135be2c10e2]::ExplicitBug>::{closure#0}, !>
  16:     0x7fd3568fddb6 - std[7bde1b71ad8ab579]::panicking::begin_panic::<rustc_errors[612d9135be2c10e2]::ExplicitBug>
  17:     0x7fd3568f00fe - <rustc_errors[612d9135be2c10e2]::HandlerInner>::span_bug::<rustc_span[c4dcaf8f1da0d4d6]::span_encoding::Span, alloc[c34fee255adf1fde]::string::String>
  18:     0x7fd3568e4d1b - <rustc_errors[612d9135be2c10e2]::Handler>::span_bug::<rustc_span[c4dcaf8f1da0d4d6]::span_encoding::Span, alloc[c34fee255adf1fde]::string::String>
  19:     0x7fd35691865b - rustc_middle[3440a3894ae873c7]::util::bug::opt_span_bug_fmt::<rustc_span[c4dcaf8f1da0d4d6]::span_encoding::Span>::{closure#0}
  20:     0x7fd35691868a - rustc_middle[3440a3894ae873c7]::ty::context::tls::with_opt::<rustc_middle[3440a3894ae873c7]::util::bug::opt_span_bug_fmt<rustc_span[c4dcaf8f1da0d4d6]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  21:     0x7fd35690e418 - rustc_middle[3440a3894ae873c7]::ty::context::tls::with_context_opt::<rustc_middle[3440a3894ae873c7]::ty::context::tls::with_opt<rustc_middle[3440a3894ae873c7]::util::bug::opt_span_bug_fmt<rustc_span[c4dcaf8f1da0d4d6]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  22:     0x7fd355390ad4 - rustc_middle[3440a3894ae873c7]::util::bug::span_bug_fmt::<rustc_span[c4dcaf8f1da0d4d6]::span_encoding::Span>
  23:     0x7fd3569a99cf - rustc_mir_transform[4ca2bbd2b2385ed2]::coroutine::mir_coroutine_witnesses
  24:     0x7fd356b41fb3 - rustc_query_impl[2e2d64ba361d5a0b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2e2d64ba361d5a0b]::query_impl::mir_coroutine_witnesses::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>
  25:     0x7fd35785aa69 - rustc_query_system[4d6511391a91d0fb]::query::plumbing::try_execute_query::<rustc_query_impl[2e2d64ba361d5a0b]::DynamicConfig<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::DefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[2e2d64ba361d5a0b]::plumbing::QueryCtxt, true>
  26:     0x7fd356b47e7d - rustc_query_impl[2e2d64ba361d5a0b]::query_impl::mir_coroutine_witnesses::get_query_incr::__rust_end_short_backtrace
  27:     0x7fd3577ef1c1 - rustc_middle[3440a3894ae873c7]::query::plumbing::query_get_at::<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::DefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>>
  28:     0x7fd3567a781c - <rustc_middle[3440a3894ae873c7]::ty::context::TyCtxt>::coroutine_hidden_types
  29:     0x7fd356e10259 - rustc_trait_selection[e5868580bceb2a20]::traits::select::bind_coroutine_hidden_types_above
  30:     0x7fd3580560da - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::confirm_candidate
  31:     0x7fd3553afe76 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  32:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  33:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  34:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  35:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  36:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  37:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  38:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  39:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  40:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  41:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  42:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  43:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  44:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  45:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  46:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  47:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  48:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  49:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  50:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  51:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  52:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  53:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  54:     0x7fd357d8281d - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_predicate_recursively
  55:     0x7fd3553affd3 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#0}::{closure#1}
  56:     0x7fd357d84559 - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  57:     0x7fd357d7d99c - <rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluation_probe::<<rustc_trait_selection[e5868580bceb2a20]::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>
  58:     0x7fd3578cf6ca - rustc_traits[e56c188614a9987]::evaluate_obligation::evaluate_obligation
  59:     0x7fd3578cf120 - rustc_query_impl[2e2d64ba361d5a0b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2e2d64ba361d5a0b]::query_impl::evaluate_obligation::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 2usize]>>
  60:     0x7fd3578ccff1 - rustc_query_system[4d6511391a91d0fb]::query::plumbing::try_execute_query::<rustc_query_impl[2e2d64ba361d5a0b]::DynamicConfig<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_type_ir[3e481c3238e778b9]::canonical::Canonical<rustc_middle[3440a3894ae873c7]::ty::context::TyCtxt, rustc_middle[3440a3894ae873c7]::ty::ParamEnvAnd<rustc_middle[3440a3894ae873c7]::ty::Predicate>>, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[2e2d64ba361d5a0b]::plumbing::QueryCtxt, true>
  61:     0x7fd3578cc2a4 - rustc_query_impl[2e2d64ba361d5a0b]::query_impl::evaluate_obligation::get_query_incr::__rust_end_short_backtrace
  62:     0x7fd354806077 - <rustc_trait_selection[e5868580bceb2a20]::traits::fulfill::FulfillProcessor as rustc_data_structures[8c04cfcc59bbcf89]::obligation_forest::ObligationProcessor>::process_obligation
  63:     0x7fd3576110d5 - <rustc_data_structures[8c04cfcc59bbcf89]::obligation_forest::ObligationForest<rustc_trait_selection[e5868580bceb2a20]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[e5868580bceb2a20]::traits::fulfill::FulfillProcessor>
  64:     0x7fd358000066 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_argument_types
  65:     0x7fd357ff884b - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_call
  66:     0x7fd3580b93d4 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  67:     0x7fd357b7b731 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_decl
  68:     0x7fd357b7911a - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_block_with_expected
  69:     0x7fd3580b9529 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  70:     0x7fd3580a8456 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_match::{closure#0}
  71:     0x7fd3580ba473 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  72:     0x7fd357b79756 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_block_with_expected
  73:     0x7fd3580bd6bf - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  74:     0x7fd3580a8456 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_match::{closure#0}
  75:     0x7fd3580ba473 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  76:     0x7fd3580bac74 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  77:     0x7fd357b79756 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_block_with_expected
  78:     0x7fd3580b9529 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  79:     0x7fd3580bac74 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  80:     0x7fd357b78259 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_block_with_expected
  81:     0x7fd3580b9529 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  82:     0x7fd357d99a3e - rustc_hir_typeck[d9db300f8d8fb647]::check::check_fn
  83:     0x7fd357e6ea59 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_closure
  84:     0x7fd3580bcce4 - <rustc_hir_typeck[d9db300f8d8fb647]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  85:     0x7fd357d99a3e - rustc_hir_typeck[d9db300f8d8fb647]::check::check_fn
  86:     0x7fd357961dda - rustc_hir_typeck[d9db300f8d8fb647]::typeck
  87:     0x7fd357961247 - rustc_query_impl[2e2d64ba361d5a0b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2e2d64ba361d5a0b]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>
  88:     0x7fd357ade6a1 - rustc_query_system[4d6511391a91d0fb]::query::plumbing::try_execute_query::<rustc_query_impl[2e2d64ba361d5a0b]::DynamicConfig<rustc_query_system[4d6511391a91d0fb]::query::caches::VecCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::LocalDefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[2e2d64ba361d5a0b]::plumbing::QueryCtxt, true>
  89:     0x7fd357a6c54b - rustc_query_impl[2e2d64ba361d5a0b]::query_impl::typeck::get_query_incr::__rust_end_short_backtrace
  90:     0x7fd3584726b3 - rustc_hir_analysis[bd6ae69c2cd29121]::collect::type_of::type_of_opaque
  91:     0x7fd3584725c9 - rustc_query_impl[2e2d64ba361d5a0b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2e2d64ba361d5a0b]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>
  92:     0x7fd35785aa69 - rustc_query_system[4d6511391a91d0fb]::query::plumbing::try_execute_query::<rustc_query_impl[2e2d64ba361d5a0b]::DynamicConfig<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::DefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[2e2d64ba361d5a0b]::plumbing::QueryCtxt, true>
  93:     0x7fd358545089 - rustc_query_impl[2e2d64ba361d5a0b]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace
  94:     0x7fd35770e0bb - rustc_middle[3440a3894ae873c7]::query::plumbing::query_get_at::<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::DefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>>
  95:     0x7fd354ad6c78 - rustc_hir_analysis[bd6ae69c2cd29121]::collect::type_of::type_of
  96:     0x7fd357660e69 - rustc_query_impl[2e2d64ba361d5a0b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2e2d64ba361d5a0b]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>
  97:     0x7fd35785aa69 - rustc_query_system[4d6511391a91d0fb]::query::plumbing::try_execute_query::<rustc_query_impl[2e2d64ba361d5a0b]::DynamicConfig<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::DefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[2e2d64ba361d5a0b]::plumbing::QueryCtxt, true>
  98:     0x7fd357823a69 - rustc_query_impl[2e2d64ba361d5a0b]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace
  99:     0x7fd35770e0bb - rustc_middle[3440a3894ae873c7]::query::plumbing::query_get_at::<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::DefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 8usize]>>>
 100:     0x7fd3581f1f72 - rustc_hir_analysis[bd6ae69c2cd29121]::check::check::check_mod_item_types
 101:     0x7fd3581f0939 - rustc_query_impl[2e2d64ba361d5a0b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2e2d64ba361d5a0b]::query_impl::check_mod_item_types::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 0usize]>>
 102:     0x7fd357f89b0d - rustc_query_system[4d6511391a91d0fb]::query::plumbing::try_execute_query::<rustc_query_impl[2e2d64ba361d5a0b]::DynamicConfig<rustc_query_system[4d6511391a91d0fb]::query::caches::DefaultCache<rustc_span[c4dcaf8f1da0d4d6]::def_id::LocalModDefId, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[2e2d64ba361d5a0b]::plumbing::QueryCtxt, true>
 103:     0x7fd357a6a640 - rustc_query_impl[2e2d64ba361d5a0b]::query_impl::check_mod_item_types::get_query_incr::__rust_end_short_backtrace
 104:     0x7fd357a6b2db - rustc_hir_analysis[bd6ae69c2cd29121]::check_crate
 105:     0x7fd357f7c7d9 - rustc_interface[fc3300b7a611734d]::passes::analysis
 106:     0x7fd357f7c1f5 - rustc_query_impl[2e2d64ba361d5a0b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2e2d64ba361d5a0b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 1usize]>>
 107:     0x7fd35812e184 - rustc_query_system[4d6511391a91d0fb]::query::plumbing::try_execute_query::<rustc_query_impl[2e2d64ba361d5a0b]::DynamicConfig<rustc_query_system[4d6511391a91d0fb]::query::caches::SingleCache<rustc_middle[3440a3894ae873c7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[2e2d64ba361d5a0b]::plumbing::QueryCtxt, true>
 108:     0x7fd35812de60 - rustc_query_impl[2e2d64ba361d5a0b]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
 109:     0x7fd358405ea1 - rustc_interface[fc3300b7a611734d]::interface::run_compiler::<core[18455079b98ad5ec]::result::Result<(), rustc_span[c4dcaf8f1da0d4d6]::ErrorGuaranteed>, rustc_driver_impl[38fb992a4e3916bf]::run_compiler::{closure#1}>::{closure#0}
 110:     0x7fd35849a71b - std[7bde1b71ad8ab579]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[fc3300b7a611734d]::util::run_in_thread_with_globals<rustc_interface[fc3300b7a611734d]::interface::run_compiler<core[18455079b98ad5ec]::result::Result<(), rustc_span[c4dcaf8f1da0d4d6]::ErrorGuaranteed>, rustc_driver_impl[38fb992a4e3916bf]::run_compiler::{closure#1}>::{closure#0}, core[18455079b98ad5ec]::result::Result<(), rustc_span[c4dcaf8f1da0d4d6]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[18455079b98ad5ec]::result::Result<(), rustc_span[c4dcaf8f1da0d4d6]::ErrorGuaranteed>>
 111:     0x7fd35849a573 - <<std[7bde1b71ad8ab579]::thread::Builder>::spawn_unchecked_<rustc_interface[fc3300b7a611734d]::util::run_in_thread_with_globals<rustc_interface[fc3300b7a611734d]::interface::run_compiler<core[18455079b98ad5ec]::result::Result<(), rustc_span[c4dcaf8f1da0d4d6]::ErrorGuaranteed>, rustc_driver_impl[38fb992a4e3916bf]::run_compiler::{closure#1}>::{closure#0}, core[18455079b98ad5ec]::result::Result<(), rustc_span[c4dcaf8f1da0d4d6]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[18455079b98ad5ec]::result::Result<(), rustc_span[c4dcaf8f1da0d4d6]::ErrorGuaranteed>>::{closure#1} as core[18455079b98ad5ec]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
 112:     0x7fd3537986a5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h60be2fb405354d2b
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/alloc/src/boxed.rs:2007:9
 113:     0x7fd3537986a5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha872cf1acaacdc8d
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/alloc/src/boxed.rs:2007:9
 114:     0x7fd3537986a5 - std::sys::unix::thread::Thread::new::thread_start::hc143752955b6bec4
                               at /rustc/bd45872d96b0866775cd99ce94fc4462647e50f3/library/std/src/sys/unix/thread.rs:108:17
 115:     0x7fd35358b897 - start_thread
 116:     0x7fd3536126bc - clone3
 117:                0x0 - <unknown>

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.75.0-beta.4 (bd45872d9 2023-11-28) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED] -C target-cpu=native -C link-arg=-fuse-ld=lld -C force-frame-pointers=yes -C link-arg=-Wl,--no-rosegment

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

query stack during panic:
#0 [mir_coroutine_witnesses] coroutine witness types for `controller::worker_task::allocate_inner_pair::{closure#0}`
#1 [evaluate_obligation] evaluating trait selection obligation `controller::worker_task::run::{opaque#0}: core::marker::Send`
#2 [typeck] type-checking `controller::<impl at APP/src/controller.rs:99:1: 102:29>::run`
#3 [type_of_opaque] computing type of opaque `controller::<impl at APP/src/controller.rs:99:1: 102:29>::run::{opaque#0}`
#4 [type_of] computing type of `controller::<impl at APP/src/controller.rs:99:1: 102:29>::run::{opaque#0}`
#5 [check_mod_item_types] checking item types in module `controller`
#6 [analysis] running analysis passes on this crate
end of query stack
For more information about this error, try `rustc --explain E0004`.
error: could not compile `APP` (bin "APP" test) due to previous error
@dansiemon dansiemon 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 Dec 1, 2023
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Dec 1, 2023
@dansiemon
Copy link
Author

This happened with I added the DeallocateInnerPair variant to this enum:

#[derive(Debug)]
pub enum Request {
    Stats(Box<Stats>),
    Shutdown,
    FlowTableCount,
    FlowDump(Vec<FlowDetails>),
    FlowDelete(Vec<flow::Flow>),
    CheckInvariants,
    AllocateInnerPair(Option<u64>, Option<u64>), // TODO Tuples are rate in kbps, make these real types
    SetLeafParent([(u32, u32); 2]),
    DeallocateInnerPair(u32, u32),
}

There are several places in the code that exhaustively match on this enum. Once I added the new variant to all those match statements, the ICE went away.

@dansiemon
Copy link
Author

I've updated the top-level comment. Originally it stated this problem also occurs on stable but I had made a mistake and didn't change toolchains. This has been updated to reflect this is reproducible on beta not stable.

@lukas-code
Copy link
Member

This is #117670, which is fixed by #117686. The fix should land on beta tomorrow.

@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Dec 2, 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

4 participants