Skip to content

Internal Compiler Error: 'rustc' panicked at 'failed to lookup SourceFile in new context' #92235

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

Closed
DrRuhe opened this issue Dec 23, 2021 · 1 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.

Comments

@DrRuhe
Copy link

DrRuhe commented Dec 23, 2021

I've gotten an Internal Compiler Error.

I was changing a &str constant in a test case and suddenly the error logged below popped up.

It seems to me as the error is somehow related to cargo/rustc caching for incremental compile.

Code

Before error:

[...]
#[cfg(test)]
mod tests {

    [...]

    #[test]
    fn test_it_works() {
        let query = "wc count all lines in file";
        [...]
    }
}

Threw error:

[...]
#[cfg(test)]
mod tests {

    [...]

    #[test]
    fn test_it_works() {
        let query = "count lines file";
        [...]
    }
}

Since this should have nothing to do with the error itself, I doubt I can create a reliable minimal working example.

Meta

rustc --version --verbose:

rustc 1.59.0-nightly (34926f0a1 2021-12-22)
binary: rustc
commit-hash: 34926f0a1681458588a2d4240c0715ef9eff7d35
commit-date: 2021-12-22
host: x86_64-unknown-linux-gnu
release: 1.59.0-nightly
LLVM version: 13.0.0

Error output

thread 'rustc' panicked at 'failed to lookup `SourceFile` in new context', compiler/rustc_query_impl/src/on_disk_cache.rs:500:22
stack backtrace:
   0: rust_begin_unwind
             at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/core/src/panicking.rs:107:14
   2: core::panicking::panic_display
             at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/core/src/panicking.rs:63:5
   3: core::option::expect_failed
             at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/core/src/option.rs:1819:5
   4: <rustc_span::span_encoding::Span as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
   5: <rustc_middle::ty::VariantDef as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
   6: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_seq::<alloc::vec::Vec<rustc_middle::ty::VariantDef>, <alloc::vec::Vec<rustc_middle::ty::VariantDef> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}>
   7: <rustc_middle::ty::adt::AdtDef as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
   8: <rustc_middle::ty::sty::TyKind as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
   9: <&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
  10: <&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
  11: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_map::<std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>, <std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}>
  12: <rustc_middle::ty::context::TypeckResults as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}
  13: <rustc_query_impl::on_disk_cache::OnDiskCache>::try_load_query_result::<&rustc_middle::ty::context::TypeckResults>
  14: rustc_query_system::query::plumbing::try_load_from_disk_and_cache_in_memory::<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>
  15: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>>
  16: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::typeck
  17: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_body
  18: rustc_hir::intravisit::walk_expr::<rustc_passes::liveness::IrMaps>
  19: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  20: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  21: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_body
  22: rustc_hir::intravisit::walk_expr::<rustc_passes::liveness::IrMaps>
  23: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  24: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  25: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  26: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_body
  27: rustc_hir::intravisit::walk_expr::<rustc_passes::liveness::IrMaps>
  28: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  29: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  30: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  31: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  32: rustc_hir::intravisit::walk_expr::<rustc_passes::liveness::IrMaps>
  33: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  34: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  35: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_local
  36: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_expr
  37: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_body
  38: rustc_hir::intravisit::walk_impl_item::<rustc_passes::liveness::IrMaps>
  39: <rustc_middle::hir::map::Map>::visit_item_likes_in_module::<rustc_hir::intravisit::DeepVisitor<rustc_passes::liveness::IrMaps>>
  40: rustc_passes::liveness::check_mod_liveness
  41: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>
  42: rustc_data_structures::stack::ensure_sufficient_stack::<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>
  43: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, ()>>
  44: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::check_mod_liveness, rustc_query_impl::plumbing::QueryCtxt>
  45: <core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#1}::{closure#1}> as core::ops::function::FnOnce<()>>::call_once
  46: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#1}>
  47: rustc_interface::passes::analysis
  48: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>
  49: rustc_data_structures::stack::ensure_sufficient_stack::<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>
  50: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<(), core::result::Result<(), rustc_errors::ErrorReported>>>
  51: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  52: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorReported>>
  53: <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorReported>>
  54: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorReported>, rustc_interface::interface::create_compiler_and_run<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#1}>
  55: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
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.59.0-nightly (34926f0a1 2021-12-22) 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 [typeck] type-checking `<impl at tldr_search_engine/src/main.rs:15:10: 15:16>::from_arg_matches::{closure#0}::{closure#0}::{closure#0}`
#1 [check_mod_liveness] checking liveness of variables in top-level module
#2 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `ttse`
The terminal process "cargo 'test', '--package', 'ttse', '--bin', 'ttse', '--', 'tests::test_it_works', '--exact', '--nocapture'" terminated with exit code: 101.

@DrRuhe DrRuhe 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 23, 2021
@ehuss
Copy link
Contributor

ehuss commented Dec 23, 2021

Thanks for the report! This is a known problem with incremental compilation on the nightly channel. You can delete the incremental cache, or use CARGO_INCREMENTAL=0 environment variable to disable it.

Closing as a duplicate of #92163.

@ehuss ehuss closed this as completed Dec 23, 2021
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

2 participants