Closed
Description
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`.