Skip to content

Compile error 'failed to get layout for' #105809

Closed
@rhomber

Description

@rhomber

Code

It's not failing in my project, but a dependency (but rocket).

Meta

Fails the same in two environments:

rustc 1.68.0-nightly (9c07efe84 2022-12-16) running on aarch64-apple-darwin
compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

AND

rustc 1.68.0-nightly (9c07efe84 2022-12-16) running on x86_64-unknown-linux-gnu
compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

Error output

   Compiling rocket_cors v0.6.0-alpha1 (https://github.com/lawliet89/rocket_cors?branch=master#c17e8145)
error: internal compiler error: compiler/rustc_codegen_llvm/src/context.rs:969:13: failed to get layout for `&mut Pin<&mut rocket::http::hyper::server::shutdown::Graceful<rocket::http::private::Incoming<rocket::ext::CancellableListener<rocket::Shutdown, L>>, service::make::MakeServiceFn<[closure@rocket::server::<impl Rocket<Orbit>>::http_server<L>::{closure#0}::{closure#2}]>, rocket::Shutdown, hyper::common::exec::Exec>>`: unable to determine layout for `&mut Pin<&mut rocket::http::hyper::server::shutdown::Graceful<rocket::http::private::Incoming<rocket::ext::CancellableListener<rocket::Shutdown, L>>, service::make::MakeServiceFn<[closure@rocket::server::<impl Rocket<Orbit>>::http_server<L>::{closure#0}::{closure#2}]>, rocket::Shutdown, hyper::common::exec::Exec>>` because `&mut Pin<&mut rocket::http::hyper::server::shutdown::Graceful<rocket::http::private::Incoming<rocket::ext::CancellableListener<rocket::Shutdown, L>>, service::make::MakeServiceFn<[closure@rocket::server::<impl Rocket<Orbit>>::http_server<L>::{closure#0}::{closure#2}]>, rocket::Shutdown, hyper::common::exec::Exec>>` cannot be normalized

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/9c07efe84f28a44f3044237696acc295aa407ee5/compiler/rustc_errors/src/lib.rs:973:33
stack backtrace:
   0:        0x1033ae8e4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf05b923e3705aab6
   1:        0x1033ffb9c - core::fmt::write::h4d4011c40e30a20e
   2:        0x1033a1ea0 - std::io::Write::write_fmt::hac39cff9713a22a8
   3:        0x1033ae6f8 - std::sys_common::backtrace::print::h269f9d0fba6134d5
   4:        0x1033b11a8 - std::panicking::default_hook::{{closure}}::h1b64b947323e5455
   5:        0x1033b0f00 - std::panicking::default_hook::hd5000a9bd64dd6fe
   6:        0x10b602654 - rustc_driver[3bb78e66a26ba6d7]::DEFAULT_HOOK::{closure#0}::{closure#0}
   7:        0x1033b18a0 - std::panicking::rust_panic_with_hook::ha951c23f48d097e1
   8:        0x10b81bda4 - std[4a15b4f0527ee59b]::panicking::begin_panic::<rustc_errors[dfa53bcc3145749c]::ExplicitBug>::{closure#0}
   9:        0x10b81772c - std[4a15b4f0527ee59b]::sys_common::backtrace::__rust_end_short_backtrace::<std[4a15b4f0527ee59b]::panicking::begin_panic<rustc_errors[dfa53bcc3145749c]::ExplicitBug>::{closure#0}, !>
  10:        0x10f80f92c - std[4a15b4f0527ee59b]::panicking::begin_panic::<rustc_errors[dfa53bcc3145749c]::ExplicitBug>
  11:        0x10b81759c - std[4a15b4f0527ee59b]::panic::panic_any::<rustc_errors[dfa53bcc3145749c]::ExplicitBug>
  12:        0x10b80fe5c - <rustc_errors[dfa53bcc3145749c]::HandlerInner>::span_bug::<rustc_span[d14b04d350947fdd]::span_encoding::Span, &alloc[8854800cdb100ea]::string::String>
  13:        0x10b80fa00 - <rustc_errors[dfa53bcc3145749c]::Handler>::span_bug::<rustc_span[d14b04d350947fdd]::span_encoding::Span, &alloc[8854800cdb100ea]::string::String>
  14:        0x10b73fd9c - rustc_middle[f5dd9b07379f660d]::ty::context::tls::with_context_opt::<rustc_middle[f5dd9b07379f660d]::ty::context::tls::with_opt<rustc_middle[f5dd9b07379f660d]::util::bug::opt_span_bug_fmt<rustc_span[d14b04d350947fdd]::span_encoding::Span>::{closure#0}, ()>::{closure#0}, ()>
  15:        0x10b73fc68 - rustc_middle[f5dd9b07379f660d]::util::bug::opt_span_bug_fmt::<rustc_span[d14b04d350947fdd]::span_encoding::Span>
  16:        0x10f80f9a0 - rustc_middle[f5dd9b07379f660d]::util::bug::span_bug_fmt::<rustc_span[d14b04d350947fdd]::span_encoding::Span>
  17:        0x10b73b778 - <rustc_codegen_llvm[2f081aae4baaf7a2]::context::CodegenCx as rustc_middle[f5dd9b07379f660d]::ty::layout::LayoutOfHelpers>::handle_layout_err
  18:        0x10b734acc - <rustc_codegen_llvm[2f081aae4baaf7a2]::context::CodegenCx as rustc_middle[f5dd9b07379f660d]::ty::layout::LayoutOf>::spanned_layout_of::{closure#0}
  19:        0x10b73b0d0 - <rustc_codegen_llvm[2f081aae4baaf7a2]::context::CodegenCx as rustc_middle[f5dd9b07379f660d]::ty::layout::LayoutOf>::layout_of
  20:        0x10b72fe0c - <rustc_codegen_ssa[8d103e59afe8e517]::mir::place::PlaceRef<&rustc_codegen_llvm[2f081aae4baaf7a2]::llvm_::ffi::Value>>::project_type::<rustc_codegen_llvm[2f081aae4baaf7a2]::builder::Builder>
  21:        0x10b807e3c - <rustc_codegen_ssa[8d103e59afe8e517]::mir::FunctionCx<rustc_codegen_llvm[2f081aae4baaf7a2]::builder::Builder>>::codegen_place
  22:        0x10b7fe588 - <rustc_codegen_ssa[8d103e59afe8e517]::mir::FunctionCx<rustc_codegen_llvm[2f081aae4baaf7a2]::builder::Builder>>::codegen_rvalue_operand
  23:        0x10b804748 - <rustc_codegen_ssa[8d103e59afe8e517]::mir::FunctionCx<rustc_codegen_llvm[2f081aae4baaf7a2]::builder::Builder>>::codegen_block
  24:        0x10b7fb9c0 - rustc_codegen_ssa[8d103e59afe8e517]::mir::codegen_mir::<rustc_codegen_llvm[2f081aae4baaf7a2]::builder::Builder>
  25:        0x10b717a64 - rustc_codegen_ssa[8d103e59afe8e517]::base::codegen_instance::<rustc_codegen_llvm[2f081aae4baaf7a2]::builder::Builder>
  26:        0x10b7b65d8 - <rustc_middle[f5dd9b07379f660d]::mir::mono::MonoItem as rustc_codegen_ssa[8d103e59afe8e517]::mono_item::MonoItemExt>::define::<rustc_codegen_llvm[2f081aae4baaf7a2]::builder::Builder>
  27:        0x10b821e70 - rustc_codegen_llvm[2f081aae4baaf7a2]::base::compile_codegen_unit::module_codegen
  28:        0x10b780c40 - <rustc_query_system[22b17381a42b3400]::dep_graph::graph::DepGraph<rustc_middle[f5dd9b07379f660d]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[f5dd9b07379f660d]::ty::context::TyCtxt, rustc_span[d14b04d350947fdd]::symbol::Symbol, rustc_codegen_ssa[8d103e59afe8e517]::ModuleCodegen<rustc_codegen_llvm[2f081aae4baaf7a2]::ModuleLlvm>>
  29:        0x10b826c10 - <rustc_codegen_llvm[2f081aae4baaf7a2]::LlvmCodegenBackend as rustc_codegen_ssa[8d103e59afe8e517]::traits::backend::ExtraBackendMethods>::compile_codegen_unit
  30:        0x10b717240 - rustc_codegen_ssa[8d103e59afe8e517]::base::codegen_crate::<rustc_codegen_llvm[2f081aae4baaf7a2]::LlvmCodegenBackend>
  31:        0x10b827d9c - <rustc_codegen_llvm[2f081aae4baaf7a2]::LlvmCodegenBackend as rustc_codegen_ssa[8d103e59afe8e517]::traits::backend::CodegenBackend>::codegen_crate
  32:        0x10b6793b8 - <rustc_session[4c9d27593fc597b6]::session::Session>::time::<alloc[8854800cdb100ea]::boxed::Box<dyn core[41fe635294967b39]::any::Any>, rustc_interface[cf09683c24aec831]::passes::start_codegen::{closure#0}>
  33:        0x10b6a6004 - rustc_interface[cf09683c24aec831]::passes::start_codegen
  34:        0x10b6a4fec - <rustc_interface[cf09683c24aec831]::passes::QueryContext>::enter::<<rustc_interface[cf09683c24aec831]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[41fe635294967b39]::result::Result<alloc[8854800cdb100ea]::boxed::Box<dyn core[41fe635294967b39]::any::Any>, rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>>
  35:        0x10b6f5f84 - <rustc_interface[cf09683c24aec831]::queries::Queries>::ongoing_codegen
  36:        0x10b5df0e8 - rustc_span[d14b04d350947fdd]::with_source_map::<core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>, rustc_interface[cf09683c24aec831]::interface::run_compiler<core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>, rustc_driver[3bb78e66a26ba6d7]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  37:        0x10b5d2b5c - <scoped_tls[f45245cb1acfce05]::ScopedKey<rustc_span[d14b04d350947fdd]::SessionGlobals>>::set::<rustc_interface[cf09683c24aec831]::interface::run_compiler<core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>, rustc_driver[3bb78e66a26ba6d7]::run_compiler::{closure#1}>::{closure#0}, core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>>
  38:        0x10b5a7878 - std[4a15b4f0527ee59b]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[cf09683c24aec831]::util::run_in_thread_pool_with_globals<rustc_interface[cf09683c24aec831]::interface::run_compiler<core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>, rustc_driver[3bb78e66a26ba6d7]::run_compiler::{closure#1}>::{closure#0}, core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>>
  39:        0x10b58e490 - <<std[4a15b4f0527ee59b]::thread::Builder>::spawn_unchecked_<rustc_interface[cf09683c24aec831]::util::run_in_thread_pool_with_globals<rustc_interface[cf09683c24aec831]::interface::run_compiler<core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>, rustc_driver[3bb78e66a26ba6d7]::run_compiler::{closure#1}>::{closure#0}, core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[41fe635294967b39]::result::Result<(), rustc_errors[dfa53bcc3145749c]::ErrorGuaranteed>>::{closure#1} as core[41fe635294967b39]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  40:        0x1033b9cbc - std::sys::unix::thread::Thread::new::thread_start::ha67a48e73a2ba1c0
  41:        0x19b00c26c - __pthread_deallocate
Backtrace

As above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-criticalCritical priorityS-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions