Skip to content

ICE "no ImplicitCtxt stored in tls" in Servo on Windows and macOS #62717

Closed
@SimonSapin

Description

@SimonSapin

Compiling Servo with rustc 1.38.0-nightly (4b65a86 2019-07-15) works fine on Linux. On a Windows or macOS host the compiler panics on the script crate:

thread 'rustc' panicked at 'no ImplicitCtxt stored in tls', src\libcore\option.rs:1065:5
stack backtrace:
   0: std::sys_common::alloc::realloc_fallback
   1: std::panicking::take_hook
   2: std::panicking::take_hook
   3: <rustc::ty::layout::LayoutCx<rustc::ty::query::TyCtxtAt> as rustc_target::abi::LayoutOf>::layout_of
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::begin_panic_fmt
   6: rust_begin_unwind
   7: core::panicking::panic_fmt
   8: core::option::expect_failed
   9: core::option::Option<rustc::ty::context::tls::ImplicitCtxt*>::expect<rustc::ty::context::tls::ImplicitCtxt*>
             at /rustc/4b65a86ebace8600c8e269e8bfe3365cdc460e68\src\libcore\option.rs:341
  10: rustc::ty::context::tls::with_context::{{closure}}<closure,rustc::ty::query::plumbing::TryGetJob<rustc::ty::query::queries::crate_name>>
             at /rustc/4b65a86ebace8600c8e269e8bfe3365cdc460e68\src\librustc\ty\context.rs:1955
  11: rustc::ty::context::tls::with_context_opt<closure,rustc::ty::query::plumbing::TryGetJob<rustc::ty::query::queries::crate_name>>
             at /rustc/4b65a86ebace8600c8e269e8bfe3365cdc460e68\src\librustc\ty\context.rs:1938
  12: rustc::ty::context::tls::with_context<closure,rustc::ty::query::plumbing::TryGetJob<rustc::ty::query::queries::crate_name>>
             at /rustc/4b65a86ebace8600c8e269e8bfe3365cdc460e68\src\librustc\ty\context.rs:1955
  13: rustc::ty::context::tls::with_related_context<closure,rustc::ty::query::plumbing::TryGetJob<rustc::ty::query::queries::crate_name>>
             at /rustc/4b65a86ebace8600c8e269e8bfe3365cdc460e68\src\librustc\ty\context.rs:1968
  14: rustc::ty::context::TyCtxt::get_query<rustc::ty::query::queries::crate_name>
             at /rustc/4b65a86ebace8600c8e269e8bfe3365cdc460e68\src\librustc\ty\query\plumbing.rs:363
  15: script_plugins::utils::match_def_path
             at .\components\script_plugins\utils.rs:14
  16: script_plugins::unrooted_must_root::is_unrooted_ty::{{closure}}
             at .\components\script_plugins\unrooted_must_root.rs:62
  17: rustc::ty::TyS::maybe_walk<closure>
             at /rustc/4b65a86ebace8600c8e269e8bfe3365cdc460e68\src\librustc\ty\mod.rs:2662
  18: script_plugins::unrooted_must_root::is_unrooted_ty
             at .\components\script_plugins\unrooted_must_root.rs:54
  19: script_plugins::unrooted_must_root::{{impl}}::check_fn
             at .\components\script_plugins\unrooted_must_root.rs:222
  20: <rustc::lint::context::LateLintPassObjects as rustc::lint::LateLintPass>::check_fn
  21: rustc_interface::passes::BoxedGlobalCtxt::complete
  22: <rustc_interface::util::ReplaceBodyWithLoop as syntax::mut_visit::MutVisitor>::visit_mac
  23: rustc_interface::passes::BoxedGlobalCtxt::complete
  24: <rustc_interface::util::ReplaceBodyWithLoop as syntax::mut_visit::MutVisitor>::visit_mac
  25: rustc_interface::passes::BoxedGlobalCtxt::complete
  26: <rustc_interface::util::ReplaceBodyWithLoop as syntax::mut_visit::MutVisitor>::visit_mac
  27: rustc_interface::passes::BoxedGlobalCtxt::complete
  28: <rustc_interface::util::ReplaceBodyWithLoop as syntax::mut_visit::MutVisitor>::visit_mac
  29: rustc_interface::passes::BoxedGlobalCtxt::complete
  30: rustc_interface::passes::BoxedGlobalCtxt::complete
  31: <humantime::date::Rfc3339Timestamp as core::fmt::Debug>::fmt
  32: <humantime::date::Rfc3339Timestamp as core::fmt::Debug>::fmt
  33: _rust_maybe_catch_panic
  34: <rustc_interface::profile::trace::Query as core::fmt::Debug>::fmt
  35: _rust_maybe_catch_panic
  36: <humantime::date::Rfc3339Timestamp as core::fmt::Debug>::fmt
  37: rustc_interface::passes::BoxedResolver::to_expansion_result
  38: <rustc_metadata::foreign_modules::Collector as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_impl_item
  39: <rustc_driver::pretty::UserIdentifiedItem as core::fmt::Debug>::fmt
  40: <rustc_metadata::foreign_modules::Collector as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_impl_item
  41: <rustc_metadata::foreign_modules::Collector as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_impl_item
  42: <humantime::date::Rfc3339Timestamp as core::fmt::Debug>::fmt
  43: <rustc_metadata::foreign_modules::Collector as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_impl_item
  44: <env_logger::filter::inner::Filter as core::fmt::Display>::fmt
  45: <env_logger::filter::inner::Filter as core::fmt::Display>::fmt
  46: <serde_json::value::WriterFormatter as std::io::Write>::flush
  47: <rustc_metadata::foreign_modules::Collector as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_impl_item
  48: _rust_maybe_catch_panic
  49: <rustc_metadata::foreign_modules::Collector as rustc::hir::itemlikevisit::ItemLikeVisitor>::visit_impl_item
  50: ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17
  51: std::sys::windows::thread::Thread::new
  52: BaseThreadInitThunk
  53: RtlUserThreadStart
query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack

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/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.38.0-nightly (4b65a86eb 2019-07-15) running on x86_64-pc-windows-msvc

note: compiler flags: -C debuginfo=2 -C linker=lld-link.exe --crate-type lib

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

error: Could not compile `script`.

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions