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 bug #133173

Open
brunbjerg opened this issue Nov 18, 2024 · 3 comments
Open

compiler bug #133173

brunbjerg opened this issue Nov 18, 2024 · 3 comments
Labels
A-incr-comp Area: Incremental compilation C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-needs-repro Status: This issue has no reproduction and needs a reproduction to make progress. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@brunbjerg
Copy link

Code

12000-15000 lines of Rust code. If you think that it is valueable for me to provide more information let me know before I start to dig through this.

The bug dissappeared by deleting the ./target/ directory and recompiling.

Meta

rustc --version --verbose:

rustc 1.81.0 (eeb90cda1 2024-09-04)

Error output

thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/def_path_hash_map.rs:23:54:
called `Option::unwrap()` on a `None` value
Backtrace

[Running 'cargo run --bin scheduling_system']
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
   Compiling scheduling_system v0.1.0 (/home/cbrje/projects/ordinator/ordinator-api/scheduling_system)
thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/def_path_hash_map.rs:23:54:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:74:14
   2: core::panicking::panic
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:148:5
   3: core::option::unwrap_failed
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/option.rs:2020:5
   4: <rustc_query_system::dep_graph::dep_node::DepNode as rustc_middle::dep_graph::dep_node::DepNodeExt>::extract_def_id
   5: rustc_query_impl::plumbing::force_from_dep_node::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>>
   6: <rustc_query_impl::plumbing::query_callback<rustc_query_impl::query_impl::type_of::QueryType>::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode)>>::call_once
   7: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
   8: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
   9: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  10: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  11: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  12: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_type_ir::canonical::Canonical<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::predicate::Predicate>>, rustc_middle::query::erase::Erased<[u8; 2]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
  13: <rustc_trait_selection::traits::fulfill::FulfillProcessor as rustc_data_structures::obligation_forest::ObligationProcessor>::process_obligation
  14: <rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor>
  15: <rustc_hir_typeck::fn_ctxt::FnCtxt>::confirm_builtin_call
  16: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  17: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_match::{closure#0}
  18: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  19: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  20: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  21: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_decl
  22: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  23: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  24: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_decl
  25: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  26: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  27: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_match::{closure#0}
  28: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  29: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  30: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  31: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_match::{closure#0}
  32: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  33: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  34: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  35: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  36: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_match::{closure#0}
  37: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  38: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  39: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  40: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  41: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  42: rustc_hir_typeck::check::check_fn
  43: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_closure
  44: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  45: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_decl
  46: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  47: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  48: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  49: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  50: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  51: rustc_hir_typeck::check::check_fn
  52: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_closure
  53: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  54: rustc_hir_typeck::check::check_fn
  55: rustc_hir_typeck::typeck
      [... omitted 9 frames ...]
  56: rustc_hir_analysis::check_crate
  57: rustc_interface::passes::analysis
      [... omitted 1 frame ...]
  58: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: 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.81.0 (eeb90cda1 2024-09-04) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C panic=abort -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `actix::address::channel::AddressSender<agents::tactical_agent::TacticalAgent>: actix::address::channel::Sender<shared_types::tactical::TacticalRequestMessage>`
#1 [typeck] type-checking `agents::orchestrator::<impl at scheduling_system/src/agents/orchestrator.rs:89:1: 89:18>::handle`
#2 [analysis] running analysis passes on this crate
end of query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 TraitSelect(acf96d00149b5230-5a1656faecfb744d)
#1 TraitSelect(899481a9d0fc17ef-f8e92bf418646f1a)
#2 TraitSelect(a6d1874fa255230b-5d721251afa3aefe)
#3 TraitSelect(b12ff30b1bf399a8-fb50c5413460e82)
#4 evaluate_obligation(bb32c38117febccd-d97e88f56c1e7a3b)
end of try_mark_green dep node stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 type_of_opaque(scheduling_system[1f2c]::agents::orchestrator::{impl#1}::handle::{opaque#0})
#1 type_of(scheduling_system[1f2c]::agents::orchestrator::{impl#1}::handle::{opaque#0})
#2 check_well_formed(scheduling_system[1f2c]::agents::orchestrator::{impl#1}::handle::{opaque#0})
#3 check_mod_type_wf(scheduling_system[1f2c]::agents::orchestrator)
end of try_mark_green dep node stack
thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/def_path_hash_map.rs:23:54:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:74:14
   2: core::panicking::panic
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:148:5
   3: core::option::unwrap_failed
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/option.rs:2020:5
   4: <rustc_query_system::dep_graph::dep_node::DepNode as rustc_middle::dep_graph::dep_node::DepNodeExt>::extract_def_id
   5: rustc_query_impl::plumbing::force_from_dep_node::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>>
   6: <rustc_query_impl::plumbing::query_callback<rustc_query_impl::query_impl::type_of::QueryType>::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode)>>::call_once
   7: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
   8: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
   9: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  10: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  11: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  12: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_type_ir::canonical::Canonical<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::predicate::Predicate>>, rustc_middle::query::erase::Erased<[u8; 2]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
  13: <rustc_trait_selection::traits::fulfill::FulfillProcessor as rustc_data_structures::obligation_forest::ObligationProcessor>::process_obligation
  14: <rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor>
  15: <rustc_hir_typeck::fn_ctxt::FnCtxt>::confirm_builtin_call
  16: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  17: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_match::{closure#0}
  18: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  19: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  20: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  21: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_decl
  22: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  23: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  24: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_match::{closure#0}
  25: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  26: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_decl
  27: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  28: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  29: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  30: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  31: rustc_hir_typeck::check::check_fn
  32: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_closure
  33: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  34: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_decl
  35: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  36: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  37: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  38: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_block_with_expected
  39: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  40: rustc_hir_typeck::check::check_fn
  41: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_closure
  42: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  43: rustc_hir_typeck::check::check_fn
  44: rustc_hir_typeck::typeck
      [... omitted 9 frames ...]
  45: rustc_hir_analysis::check_crate
  46: rustc_interface::passes::analysis
      [... omitted 1 frame ...]
  47: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: 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.81.0 (eeb90cda1 2024-09-04) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C panic=abort -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `actix::address::channel::AddressSender<agents::tactical_agent::TacticalAgent>: actix::address::channel::Sender<shared_types::tactical::TacticalRequestMessage>`
#1 [typeck] type-checking `api::routes::http_to_scheduling_system`
#2 [analysis] running analysis passes on this crate
end of query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 TraitSelect(acf96d00149b5230-5a1656faecfb744d)
#1 TraitSelect(899481a9d0fc17ef-f8e92bf418646f1a)
#2 TraitSelect(a6d1874fa255230b-5d721251afa3aefe)
#3 TraitSelect(b12ff30b1bf399a8-fb50c5413460e82)
#4 evaluate_obligation(bd25b5bc52f3387-117923fd2c965a12)
end of try_mark_green dep node stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 type_of_opaque(scheduling_system[1f2c]::api::routes::http_to_scheduling_system::{opaque#0})
#1 type_of(scheduling_system[1f2c]::api::routes::http_to_scheduling_system::{opaque#0})
#2 check_well_formed(scheduling_system[1f2c]::api::routes::http_to_scheduling_system::{opaque#0})
#3 check_mod_type_wf(scheduling_system[1f2c]::api::routes)
end of try_mark_green dep node stack
note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: {OpaqueTypeKey { def_id: DefId(0:3235 ~ scheduling_system[1f2c]::agents::orchestrator::{impl#1}::handle::{opaque#0}), args: [ReLateParam(DefId(0:1716 ~ scheduling_system[1f2c]::agents::orchestrator::{impl#1}::handle), BrNamed(DefId(0:3234 ~ scheduling_system[1f2c]::agents::orchestrator::{impl#1}::handle::'_), '_))] }: OpaqueTypeDecl { hidden_type: OpaqueHiddenType { span: scheduling_system/src/agents/orchestrator.rs:91:5: 94:46 (#4744), ty: ?0t } }}
  |
  = note: delayed at compiler/rustc_infer/src/infer/opaque_types/table.rs:44:43
             0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
             1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
             2: <rustc_span::ErrorGuaranteed as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
             3: <rustc_errors::DiagCtxtHandle>::delayed_bug::<alloc::string::String>
             4: core::ptr::drop_in_place::<rustc_infer::infer::InferCtxt>
             5: core::ptr::drop_in_place::<rustc_hir_typeck::typeck_root_ctxt::TypeckRootCtxt>
             6: rustc_hir_typeck::typeck
             7: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
             8: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
             9: rustc_query_impl::plumbing::force_from_dep_node::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>>
            10: <rustc_query_impl::plumbing::query_callback<rustc_query_impl::query_impl::typeck::QueryType>::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode)>>::call_once
            11: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            12: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            13: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            14: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            15: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl::plumbing::QueryCtxt>
            16: rustc_query_system::query::plumbing::ensure_must_run::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
            17: rustc_query_impl::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
            18: rustc_hir_analysis::check_crate
            19: rustc_interface::passes::analysis
            20: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 1]>>
            21: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            22: rustc_query_impl::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
            23: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
            24: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
            25: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            26: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/alloc/src/boxed.rs:2070:9
            27: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/alloc/src/boxed.rs:2070:9
            28: std::sys::pal::unix::thread::Thread::new::thread_start
                       at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sys/pal/unix/thread.rs:108:17
            29: start_thread
            30: clone3
          

error: internal compiler error: {OpaqueTypeKey { def_id: DefId(0:3400 ~ scheduling_system[1f2c]::api::routes::http_to_scheduling_system::{opaque#0}), args: [] }: OpaqueTypeDecl { hidden_type: OpaqueHiddenType { span: scheduling_system/src/api/routes.rs:28:1: 32:18 (#5298), ty: ?0t } }}
  |
  = note: delayed at compiler/rustc_infer/src/infer/opaque_types/table.rs:44:43
             0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
             1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
             2: <rustc_span::ErrorGuaranteed as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
             3: <rustc_errors::DiagCtxtHandle>::delayed_bug::<alloc::string::String>
             4: core::ptr::drop_in_place::<rustc_infer::infer::InferCtxt>
             5: core::ptr::drop_in_place::<rustc_hir_typeck::typeck_root_ctxt::TypeckRootCtxt>
             6: rustc_hir_typeck::typeck
             7: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
             8: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
             9: rustc_query_impl::plumbing::force_from_dep_node::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>>
            10: <rustc_query_impl::plumbing::query_callback<rustc_query_impl::query_impl::typeck::QueryType>::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode)>>::call_once
            11: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            12: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            13: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            14: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
            15: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl::plumbing::QueryCtxt>
            16: rustc_query_system::query::plumbing::ensure_must_run::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
            17: rustc_query_impl::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
            18: rustc_hir_analysis::check_crate
            19: rustc_interface::passes::analysis
            20: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 1]>>
            21: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            22: rustc_query_impl::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
            23: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
            24: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
            25: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            26: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/alloc/src/boxed.rs:2070:9
            27: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/alloc/src/boxed.rs:2070:9
            28: std::sys::pal::unix::thread::Thread::new::thread_start
                       at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sys/pal/unix/thread.rs:108:17
            29: start_thread
            30: clone3
          

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.81.0 (eeb90cda1 2024-09-04) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C panic=abort -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
end of query stack
thread 'rustc' panicked at library/core/src/panicking.rs:229:5:
panic in a destructor during cleanup

error: 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.81.0 (eeb90cda1 2024-09-04) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C panic=abort -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
end of query stack
thread caused non-unwinding panic. aborting.
error: could not compile `scheduling_system` (bin "scheduling_system")

Caused by:
  process didn't exit successfully: `/home/cbrje/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name scheduling_system --edition=2021 scheduling_system/src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=51 --crate-type bin --emit=dep-info,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("extensive_assertions"))' -C metadata=67c55e0a54f90f16 -C extra-filename=-67c55e0a54f90f16 --out-dir /home/cbrje/projects/ordinator/ordinator-api/target/debug/deps -C incremental=/home/cbrje/projects/ordinator/ordinator-api/target/debug/incremental -L dependency=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps --extern actix=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libactix-7e327b6cadab76e5.rlib --extern actix_rt=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libactix_rt-f221b53a5da6ce05.rlib --extern actix_web=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libactix_web-66549a0dc42b9198.rlib --extern actix_web_actors=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libactix_web_actors-e32fc945cf925ba8.rlib --extern anyhow=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libanyhow-4e112fe982d5a6bb.rlib --extern arc_swap=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libarc_swap-2ec006c15e6d4936.rlib --extern atomic_enum=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libatomic_enum-4e2dc186d0d6ddb0.so --extern bincode=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libbincode-50067c023ee41964.rlib --extern calamine=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libcalamine-d7763a449201c734.rlib --extern chrono=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libchrono-0d5e9e9aa65fe083.rlib --extern chrono_tz=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libchrono_tz-a278fb7f07dc3e86.rlib --extern colored=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libcolored-5be76fa0737c69d0.rlib --extern csv=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libcsv-610f3ce35ed3f4d8.rlib --extern data_processing=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libdata_processing-32725d1225e989e8.rlib --extern dotenvy=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libdotenvy-9e57049d5ead3534.rlib --extern futures=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libfutures-88122388b6c588f2.rlib --extern futures_util=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libfutures_util-8c8398311e077943.rlib --extern itertools=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libitertools-444d6d3b6b0b6ea2.rlib --extern priority_queue=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libpriority_queue-d64983fb4a9a2fed.rlib --extern proptest=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libproptest-7c5648759959faef.rlib --extern rand=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/librand-edf2faa9f9e1fed5.rlib --extern regex=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libregex-4df0e697c67b1f77.rlib --extern rust_decimal=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/librust_decimal-828308e38360c33c.rlib --extern serde=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libserde-05d61c43d6c5edcd.rlib --extern serde_json=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libserde_json-64ba3fc86c457c84.rlib --extern serde_json_any_key=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libserde_json_any_key-86ae2a6d01dc91ff.rlib --extern shared_types=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libshared_types-912054020b984d56.rlib --extern strum=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libstrum-4f08d89a9125ddef.rlib --extern strum_macros=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libstrum_macros-bd62b5e7759fe7d3.so --extern thiserror=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libthiserror-016ae815a1967939.rlib --extern tokio=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libtokio-3189da269dc1c799.rlib --extern toml=/hom
e/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libtoml-d90c0e0ba49379e4.rlib --extern tracing=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libtracing-770154f983d0a551.rlib --extern tracing_appender=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libtracing_appender-cce8029ecbfca948.rlib --extern tracing_flame=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libtracing_flame-be50a713f3908937.rlib --extern tracing_subscriber=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libtracing_subscriber-70970d7983566d50.rlib --extern uuid=/home/cbrje/projects/ordinator/ordinator-api/target/debug/deps/libuuid-d3a12a4867d9ef31.rlib -L native=/home/cbrje/projects/ordinator/ordinator-api/target/debug/build/zstd-sys-b2c590615b25cbf0/out` (signal: 6, SIGABRT: process abort signal)
[Finished running. Exit status: 101]

@brunbjerg brunbjerg 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 Nov 18, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Nov 18, 2024
@saethlin saethlin added A-incr-comp Area: Incremental compilation and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Nov 18, 2024
@saethlin
Copy link
Member

saethlin commented Nov 18, 2024

Based on your description, I don't think it's too worth your time hunting to find the cause of this, because it's likely something related to cancelling a compilation or racing with another compiler. Did you encounter this using cargo watch?

@aDotInTheVoid aDotInTheVoid added the S-needs-repro Status: This issue has no reproduction and needs a reproduction to make progress. label Nov 18, 2024
@brunbjerg
Copy link
Author

Yes I did encounter this with cargo watch! That sounds like a reasonable explaination to me

Should I close the issue, or would you like me to do anything to assist further?

@saethlin
Copy link
Member

saethlin commented Nov 19, 2024

This issue should stay open, nothing further is needed from you. It should stay open because we haven't addressed the root cause, and the compiler is definitely not supposed to crash when used like this. We have a fair bit of code that's supposed to handle interrupted or racing builds, and it sure looks like it has a subtle bug that nobody has managed to understand and debug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-incr-comp Area: Incremental compilation C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-needs-repro Status: This issue has no reproduction and needs a reproduction to make progress. 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