Skip to content

thread 'rustc' panicked at 'already borrowed: BorrowMutError' #670

@bjorn3

Description

@bjorn3

While trying to compile veloren, compilation of wayland-protocols failed with:

thread 'rustc' panicked at 'already borrowed: BorrowMutError', src/libcore/result.rs:1084:5
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.34/src/backtrace/libunwind.rs:88
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.34/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:47
   3: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:36
   4: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:200
   5: std::panicking::default_hook
             at src/libstd/panicking.rs:214
   6: rustc::util::common::panic_hook
   7: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:481
   8: std::panicking::continue_panic_fmt
             at src/libstd/panicking.rs:384
   9: rust_begin_unwind
             at src/libstd/panicking.rs:311
  10: core::panicking::panic_fmt
             at src/libcore/panicking.rs:85
  11: core::result::unwrap_failed
             at src/libcore/result.rs:1084
  12: rustc_mir::interpret::memory::Memory<M>::allocate
  13: rustc_mir::const_eval::eval_body_using_ecx
  14: rustc_mir::const_eval::const_eval_raw_provider
  15: rustc::ty::query::__query_compute::const_eval_raw
  16: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::const_eval_raw>::compute
  17: rustc::dep_graph::graph::DepGraph::with_task_impl
  18: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
  19: rustc_mir::const_eval::const_eval_provider
  20: rustc::ty::query::__query_compute::const_eval
  21: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::const_eval>::compute
  22: rustc::dep_graph::graph::DepGraph::with_task_impl
  23: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
  24: rustc_mir::const_eval::const_eval_provider
  25: rustc::ty::query::__query_compute::const_eval
  26: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::const_eval>::compute
  27: rustc::dep_graph::graph::DepGraph::with_task_impl
  28: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
  29: <rustc::traits::query::normalize::QueryNormalizer as rustc::ty::fold::TypeFolder>::fold_const
  30: rustc::ty::structural_impls::<impl rustc::ty::fold::TypeFoldable for &rustc::ty::TyS>::super_fold_with
  31: <rustc::traits::query::normalize::QueryNormalizer as rustc::ty::fold::TypeFolder>::fold_ty
  32: rustc::traits::query::normalize::<impl rustc::infer::at::At>::normalize
  33: rustc::ty::context::GlobalCtxt::enter_local
  34: rustc_traits::normalize_erasing_regions::normalize_ty_after_erasing_regions
  35: rustc::ty::query::__query_compute::normalize_ty_after_erasing_regions
  36: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::normalize_ty_after_erasing_regions>::compute
  37: rustc::dep_graph::graph::DepGraph::with_task_impl
  38: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
  39: rustc::traits::query::normalize_erasing_regions::<impl rustc::ty::context::TyCtxt>::normalize_erasing_regions
  40: <rustc::ty::layout::LayoutCx<rustc::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of
  41: rustc::ty::layout::<impl rustc::ty::context::TyCtxt>::layout_of
             at /rustc/60960a260f7b5c695fd0717311d72ce62dd4eb43/src/librustc/ty/layout.rs:2010
  42: rustc_codegen_cranelift::constant::data_id_for_static
             at src/constant.rs:196
  43: rustc_codegen_cranelift::constant::define_all_allocs
             at src/constant.rs:315
  44: rustc_codegen_cranelift::constant::ConstantCx::finalize
             at src/constant.rs:35
  45: rustc_codegen_cranelift::CodegenCx<B>::finalize
             at src/lib.rs:156
  46: rustc_codegen_cranelift::driver::codegen_mono_items::{{closure}}
             at src/driver.rs:308
  47: rustc_codegen_cranelift::driver::time
             at src/driver.rs:358
  48: rustc_codegen_cranelift::driver::codegen_mono_items
             at src/driver.rs:300
  49: rustc_codegen_cranelift::driver::codegen_cgus
             at src/driver.rs:287
  50: rustc_codegen_cranelift::driver::run_aot
             at src/driver.rs:205
  51: rustc_codegen_cranelift::driver::codegen_crate
             at src/driver.rs:39
  52: <rustc_codegen_cranelift::CraneliftCodegenBackend as rustc_codegen_utils::codegen_backend::CodegenBackend>::codegen_crate
             at src/lib.rs:202
  53: rustc::util::common::time
  54: rustc_interface::passes::start_codegen
  55: rustc::ty::context::tls::enter_global
  56: rustc_interface::passes::BoxedGlobalCtxt::access::{{closure}}
  57: rustc_interface::passes::create_global_ctxt::{{closure}}
  58: rustc_interface::passes::BoxedGlobalCtxt::enter
  59: rustc_interface::queries::Query<T>::compute
  60: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::ongoing_codegen
  61: rustc_interface::interface::run_compiler_in_existing_thread_pool
  62: std::thread::local::LocalKey<T>::with
  63: syntax::with_globals
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
query stack during panic:
#0 [const_eval_raw] const-evaluating `wayland_client::sys::protocol_interfaces::wl_surface_requests::{{constant}}#0`
#1 [const_eval] const-evaluating + checking `wayland_client::sys::protocol_interfaces::wl_surface_requests::{{constant}}#0`
#2 [const_eval] const-evaluating + checking `wayland_client::sys::protocol_interfaces::wl_surface_requests::{{constant}}#0`
#3 [normalize_ty_after_erasing_regions] normalizing `ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: All, def_id: None }, value: [wayland_sys::common::wl_message; _] }`
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 (60960a260 2019-08-12) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z always-encode-mir -Z codegen-backend=/home/bjorn/Documenten/cg_clif/target/debug/librustc_codegen_cranelift.so -C opt-level=2 -C debuginfo=2 -C debug-assertions=on -C overflow-checks=off -C panic=abort -C debuginfo=2 --crate-type lib

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

error: Could not compile `wayland-protocols`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions