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 panics on 1.52.0 after cargo run and any file edit #85003

Closed
kykosic opened this issue May 6, 2021 · 6 comments
Closed

Compiler panics on 1.52.0 after cargo run and any file edit #85003

kykosic opened this issue May 6, 2021 · 6 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) ❄️ regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Milestone

Comments

@kykosic
Copy link

kykosic commented May 6, 2021

Apologies as this is the most minimal example I've been able to produce; working on finding a better one that doesn't use the kube-rs crate.

Steps to reproduce:

cargo clean
cargo run
touch src/main.rs
cargo run

The second cargo run will give ICE.

Code

use anyhow::Result;
use k8s_openapi::api::core::v1::Node;
use kube::api::{Api, ListParams};
use kube::Client;

#[tokio::main]
async fn main() -> Result<()> {
    let client = Client::try_default().await?;
    let api = Api::<Node>::all(client);
    let params = ListParams::default();
    let _ = api.list(&params).await?;
    Ok(())
}
[package]
name = "scratch-paper-2"
version = "0.1.0"
authors = []
edition = "2018"


[dependencies]
anyhow = "1.0"
k8s-openapi = { version = "0.11.0", default-features = false, features = ["v1_19"] }
kube = "0.52"
tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] }

Meta

rustc --version --verbose:

rustc 1.52.0 (88f19c6da 2021-05-03)
binary: rustc
commit-hash: 88f19c6dab716c6281af7602e30f413e809c5974
commit-date: 2021-05-03
host: x86_64-apple-darwin
release: 1.52.0
LLVM version: 12.0.0

Error output

thread 'rustc' panicked at 'found unstable fingerprints for evaluate_obligation(cd911fb1c8b690c0-4d0c87f154e202fd): Ok(EvaluatedToOk)', /rustc/88f19c6dab716c6281af7602e30f413e809c5974/compiler/rustc_query_system/src/query/plumbing.rs:593:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.52.0 (88f19c6da 2021-05-03) running on x86_64-apple-darwin

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:
#0 [evaluate_obligation] evaluating trait selection obligation `std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>: std::convert::Into<std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>>`
#1 [normalize_projection_ty] normalizing `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: All }, value: ProjectionTy { substs: [&mut kube::Service, http::request::Request<hyper::body::body::Body>], item_def_id: DefId(69:16 ~ tower_service[ac0f]::Service::Error) } } }`
end of query stack
error: could not compile `scratch-paper-2`
Backtrace

thread 'rustc' panicked at 'found unstable fingerprints for evaluate_obligation(cd911fb1c8b690c0-4d0c87f154e202fd): Ok(EvaluatedToOk)', /rustc/88f19c6dab716c6281af7602e30f413e809c5974/compiler/rustc_query_system/src/query/plumbing.rs:593:5
stack backtrace:
   0: _rust_begin_unwind
   1: std::panicking::begin_panic_fmt
   2: rustc_query_system::query::plumbing::incremental_verify_ich
   3: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
   4: rustc_data_structures::stack::ensure_sufficient_stack
   5: rustc_query_system::query::plumbing::get_query_impl
   6: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::evaluate_obligation
   7: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
   8: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
   9: rustc_trait_selection::traits::fulfill::FulfillProcessor::process_trait_obligation
  10: rustc_trait_selection::traits::fulfill::FulfillProcessor::progress_changed_obligations
  11: rustc_data_structures::obligation_forest::ObligationForest<O>::process_obligations
  12: <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_where_possible
  13: <rustc_infer::infer::InferCtxtBuilder as rustc_trait_selection::infer::InferCtxtBuilderExt>::enter_canonical_trait_query
  14: rustc_traits::normalize_projection_ty::normalize_projection_ty
  15: rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::normalize_projection_ty>::compute
  16: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  17: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
  18: rustc_data_structures::stack::ensure_sufficient_stack
  19: rustc_query_system::query::plumbing::get_query_impl
  20: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::normalize_projection_ty
  21: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
  22: rustc_middle::ty::fold::TypeFoldable::fold_with
  23: rustc_middle::ty::structural_impls::<impl rustc_middle::ty::fold::TypeFoldable for &rustc_middle::ty::TyS>::super_fold_with
  24: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
  25: rustc_middle::ty::fold::TypeFoldable::fold_with
  26: rustc_middle::ty::structural_impls::<impl rustc_middle::ty::fold::TypeFoldable for &rustc_middle::ty::TyS>::super_fold_with
  27: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
  28: <rustc_infer::infer::at::At as rustc_trait_selection::traits::query::normalize::AtExt>::normalize
  29: rustc_infer::infer::InferCtxtBuilder::enter
  30: rustc_traits::normalize_erasing_regions::normalize_generic_arg_after_erasing_regions
  31: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  32: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
  33: rustc_data_structures::stack::ensure_sufficient_stack
  34: rustc_query_system::query::plumbing::get_query_impl
  35: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::normalize_generic_arg_after_erasing_regions
  36: <rustc_middle::ty::normalize_erasing_regions::NormalizeAfterErasingRegionsFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty
  37: rustc_middle::ty::instance::Instance::subst_mir_and_normalize_erasing_regions
  38: <rustc_mir::monomorphize::collector::MirNeighborCollector as rustc_middle::mir::visit::Visitor>::visit_terminator
  39: rustc_mir::monomorphize::collector::collect_neighbours
  40: rustc_mir::monomorphize::collector::collect_items_rec
  41: rustc_mir::monomorphize::collector::collect_items_rec
  42: rustc_mir::monomorphize::collector::collect_items_rec
  43: rustc_mir::monomorphize::collector::collect_items_rec
  44: rustc_mir::monomorphize::collector::collect_items_rec
  45: rustc_mir::monomorphize::collector::collect_items_rec
  46: rustc_mir::monomorphize::collector::collect_items_rec
  47: rustc_mir::monomorphize::collector::collect_items_rec
  48: rustc_mir::monomorphize::collector::collect_items_rec
  49: rustc_mir::monomorphize::collector::collect_items_rec
  50: rustc_mir::monomorphize::collector::collect_items_rec
  51: rustc_mir::monomorphize::collector::collect_items_rec
  52: rustc_mir::monomorphize::collector::collect_items_rec
  53: rustc_mir::monomorphize::collector::collect_items_rec
  54: rustc_mir::monomorphize::collector::collect_items_rec
  55: rustc_mir::monomorphize::collector::collect_items_rec
  56: rustc_mir::monomorphize::collector::collect_items_rec
  57: rustc_mir::monomorphize::collector::collect_items_rec
  58: rustc_mir::monomorphize::collector::collect_items_rec
  59: rustc_mir::monomorphize::collector::collect_items_rec
  60: rustc_mir::monomorphize::collector::collect_items_rec
  61: rustc_mir::monomorphize::collector::collect_items_rec
  62: rustc_mir::monomorphize::collector::collect_items_rec
  63: rustc_mir::monomorphize::collector::collect_items_rec
  64: rustc_mir::monomorphize::collector::collect_items_rec
  65: rustc_mir::monomorphize::collector::collect_items_rec
  66: rustc_mir::monomorphize::collector::collect_crate_mono_items
  67: rustc_mir::monomorphize::partitioning::collect_and_partition_mono_items
  68: rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::collect_and_partition_mono_items>::compute
  69: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  70: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
  71: rustc_data_structures::stack::ensure_sufficient_stack
  72: rustc_query_system::query::plumbing::force_query_with_job
  73: rustc_query_system::query::plumbing::get_query_impl
  74: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_and_partition_mono_items
  75: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
  76: rustc_interface::passes::QueryContext::enter
  77: rustc_interface::queries::Queries::ongoing_codegen
  78: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  79: rustc_span::with_source_map
  80: rustc_interface::interface::create_compiler_and_run
  81: 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.52.0 (88f19c6da 2021-05-03) running on x86_64-apple-darwin

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:
#0 [evaluate_obligation] evaluating trait selection obligation `std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>: std::convert::Into<std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>>`
#1 [normalize_projection_ty] normalizing `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: All }, value: ProjectionTy { substs: [&mut kube::Service, http::request::Request<hyper::body::body::Body>], item_def_id: DefId(69:16 ~ tower_service[ac0f]::Service::Error) } } }`
#2 [normalize_generic_arg_after_erasing_regions] normalizing `fn(std::result::Result<(), <&mut kube::Service as tower_service::Service<http::request::Request<hyper::body::body::Body>>>::Error>) -> std::result::Result<<std::result::Result<(), <&mut kube::Service as tower_service::Service<http::request::Request<hyper::body::body::Body>>>::Error> as std::ops::Try>::Ok, <std::result::Result<(), <&mut kube::Service as tower_service::Service<http::request::Request<hyper::body::body::Body>>>::Error> as std::ops::Try>::Error> {<std::result::Result<(), <&mut kube::Service as tower_service::Service<http::request::Request<hyper::body::body::Body>>>::Error> as std::ops::Try>::into_result}`
#3 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
error: could not compile `scratch-paper-2`

EDIT1: Thanks @Jake-Shadle for pointing out the issue is unrelated to rust-analyzer; any file change after the first cargo run will cause the issue.

@kykosic kykosic 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 May 6, 2021
@Aaron1011
Copy link
Member

This is a known issue - unfortunately, there isn't a fix for it at the moment. As a workaround, you can run cargo clean -p <your_crate_name>, which will allow you to compile it.

@pietroalbini pietroalbini added the regression-from-stable-to-stable Performance or correctness regression from one stable version to another. label May 6, 2021
@rustbot rustbot added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label May 6, 2021
@pietroalbini pietroalbini added this to the 1.52.0 milestone May 6, 2021
@Jake-Shadle
Copy link

Jake-Shadle commented May 6, 2021

We are seeing the same issue, note that I don't believe it has anything to do with rust-analyzer specifically, rather that the first build succeeds, then any edit which requires a new build will fail.

Eg

cargo build -p crate-name <- succeeds
touch src/lib.rs
cargo build -p crate-name <- ICE
cargo clean -p crate-name
cargo build -p crate-name <- succeeds

@kykosic
Copy link
Author

kykosic commented May 6, 2021

@Jake-Shadle I can confirm this also happens with me. I will edit the rust-analyzer bit out of the original issue.

@kykosic kykosic changed the title Compiler panics on 1.52.0 after rust-analyzer runs Compiler panics on 1.52.0 after run and any file edit May 6, 2021
@kykosic kykosic changed the title Compiler panics on 1.52.0 after run and any file edit Compiler panics on 1.52.0 after cargo run and any file edit May 6, 2021
@estebank estebank added the A-incr-comp Area: Incremental compilation label May 6, 2021
@sophiajt
Copy link
Contributor

sophiajt commented May 7, 2021

I was just coming here to report this. Here's one I saw in Nushell:

thread 'rustc' panicked at 'found unstable fingerprints for evaluate_obligation(ab12843d6b708f6f-ede3d4341e1f4d21): Ok(EvaluatedToOk)', /rustc/88f19c6dab716c6281af7602e30f413e809c5974/compiler/rustc_query_system/src/query/plumbing.rs:593:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.52.0 (88f19c6da 2021-05-03) running on x86_64-unknown-linux-gnu

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

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

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `[closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]: std::ops::FnMut<(for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>,)>`
#1 [normalize_projection_ty] normalizing `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: All }, value: ProjectionTy { substs: [std::iter::Map<std::vec::IntoIter<for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>>, [closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]>], item_def_id: DefId(2:7162 ~ core[b0ed]::iter::traits::iterator::Iterator::Item) } } }`
end of query stack
error: could not compile `nu-command`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
jonathan@spectre ~/S/nushell (syntax_simplification_expr) [101]> RUST_BACKTRACE=1 cargo test --all --features=extra
   Compiling nu-command v0.30.1 (/home/jonathan/Source/nushell/crates/nu-command)
   Compiling nu v0.30.1 (/home/jonathan/Source/nushell)
thread 'rustc' panicked at 'found unstable fingerprints for evaluate_obligation(ab12843d6b708f6f-ede3d4341e1f4d21): Ok(EvaluatedToOk)', /rustc/88f19c6dab716c6281af7602e30f413e809c5974/compiler/rustc_query_system/src/query/plumbing.rs:593:5
stack backtrace:
   0: rust_begin_unwind
             at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:493:5
   1: std::panicking::begin_panic_fmt
             at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:435: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_data_structures::stack::ensure_sufficient_stack
   5: rustc_query_system::query::plumbing::get_query_impl
   6: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::evaluate_obligation
   7: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
   8: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
   9: rustc_trait_selection::traits::fulfill::FulfillProcessor::process_trait_obligation
  10: rustc_trait_selection::traits::fulfill::FulfillProcessor::progress_changed_obligations
  11: rustc_data_structures::obligation_forest::ObligationForest<O>::process_obligations
  12: <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_where_possible
  13: <rustc_infer::infer::InferCtxtBuilder as rustc_trait_selection::infer::InferCtxtBuilderExt>::enter_canonical_trait_query
  14: rustc_traits::normalize_projection_ty::normalize_projection_ty
  15: rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::normalize_projection_ty>::compute
  16: rustc_query_system::query::config::QueryVtable<CTX,K,V>::compute
  17: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  18: rustc_query_system::dep_graph::graph::DepGraph<K>::with_ignore
  19: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
  20: rustc_data_structures::stack::ensure_sufficient_stack
  21: rustc_query_system::query::plumbing::get_query_impl
  22: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::normalize_projection_ty
  23: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
  24: rustc_middle::ty::fold::TypeFoldable::fold_with
  25: rustc_middle::ty::structural_impls::<impl rustc_middle::ty::fold::TypeFoldable for &rustc_middle::ty::TyS>::super_fold_with
  26: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
  27: rustc_middle::ty::fold::TypeFoldable::fold_with
  28: rustc_middle::ty::structural_impls::<impl rustc_middle::ty::fold::TypeFoldable for &rustc_middle::ty::TyS>::super_fold_with
  29: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty
  30: <rustc_infer::infer::at::At as rustc_trait_selection::traits::query::normalize::AtExt>::normalize
  31: rustc_infer::infer::InferCtxtBuilder::enter
  32: rustc_traits::normalize_erasing_regions::normalize_generic_arg_after_erasing_regions
  33: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  34: rustc_query_system::dep_graph::graph::DepGraph<K>::with_ignore
  35: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
  36: rustc_data_structures::stack::ensure_sufficient_stack
  37: rustc_query_system::query::plumbing::get_query_impl
  38: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::normalize_generic_arg_after_erasing_regions
  39: <rustc_middle::ty::normalize_erasing_regions::NormalizeAfterErasingRegionsFolder as rustc_middle::ty::fold::TypeFolder>::fold_ty
  40: rustc_middle::ty::instance::Instance::subst_mir_and_normalize_erasing_regions
  41: <rustc_mir::monomorphize::collector::MirNeighborCollector as rustc_middle::mir::visit::Visitor>::visit_terminator
  42: rustc_mir::monomorphize::collector::collect_neighbours
  43: rustc_mir::monomorphize::collector::collect_items_rec
  44: rustc_mir::monomorphize::collector::collect_items_rec
  45: rustc_mir::monomorphize::collector::collect_items_rec
  46: rustc_mir::monomorphize::collector::collect_items_rec
  47: rustc_mir::monomorphize::collector::collect_crate_mono_items
  48: rustc_mir::monomorphize::partitioning::collect_and_partition_mono_items
  49: rustc_query_impl::<impl rustc_query_system::query::config::QueryAccessors<rustc_query_impl::plumbing::QueryCtxt> for rustc_query_impl::queries::collect_and_partition_mono_items>::compute
  50: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  51: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
  52: rustc_data_structures::stack::ensure_sufficient_stack
  53: rustc_query_system::query::plumbing::force_query_with_job
  54: rustc_query_system::query::plumbing::get_query_impl
  55: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_and_partition_mono_items
  56: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
  57: rustc_interface::passes::QueryContext::enter
  58: rustc_interface::queries::Queries::ongoing_codegen
  59: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  60: rustc_span::with_source_map
  61: rustc_interface::interface::create_compiler_and_run
  62: 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.52.0 (88f19c6da 2021-05-03) running on x86_64-unknown-linux-gnu

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

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

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `[closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]: std::ops::FnMut<(for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>,)>`
#1 [normalize_projection_ty] normalizing `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: All }, value: ProjectionTy { substs: [std::iter::Map<std::vec::IntoIter<for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>>, [closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]>], item_def_id: DefId(2:7162 ~ core[b0ed]::iter::traits::iterator::Iterator::Item) } } }`
#2 [normalize_generic_arg_after_erasing_regions] normalizing `fn(std::iter::Map<std::vec::IntoIter<for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>>, [closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]>) -> std::vec::Vec<<std::iter::Map<std::vec::IntoIter<for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>>, [closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]> as std::iter::Iterator>::Item> {<std::iter::Map<std::vec::IntoIter<for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>>, [closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]> as std::iter::Iterator>::collect::<std::vec::Vec<<std::iter::Map<std::vec::IntoIter<for<'r, 's> fn(&'r [nu_protocol::Value], &'s nu_source::Tag) -> std::result::Result<nu_protocol::Value, nu_errors::ShellError>>, [closure@crates/nu-command/src/commands/math/command.rs:179:22: 179:63]> as std::iter::Iterator>::Item>>}`
#3 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
error: could not compile `nu-command`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...

@lights0123
Copy link

#83291

@wesleywiser
Copy link
Member

Thanks for filing the bug report! We just shipped a patch release to work around this issue and are currently triaging related issues related to ensure each underlying problem gets resolved. Since this appears to be a duplicate of #83538, I'm going to close in favor of that issue.

@apiraino apiraino removed the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Mar 10, 2022
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) ❄️ regression-from-stable-to-stable Performance or correctness regression from one stable version to another. 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

10 participants