Skip to content

Noratrieb/icefun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust compiler panic error report

While trying to upgrade rustc to the latest nightly, I stumbled across a Rust compiler panic. This repo contains a minimum-reproducible test case (well, reasonably compact).

From my brief investigation, it appears that adding the warp::trace::request() combinator causes recent rustc nightly's to panic.

I've bisected the recent nightly versions; nightly-2023-02-09 is the first that starts panicking. Running with nightly-2023-02-08 builds successfully.

To reproduce the bug, just run cargo build. Running cargo check doesn't panic, though, since it seems to be codegen related.

The full error log:

rustc-warp-ice$ cargo build
   Compiling rustc-warp-ice v0.1.0
error: internal compiler error: compiler/rustc_monomorphize/src/collector.rs:1076:22: unexpected unsized tail: hyper::server::server::new_svc::State<hyper::server::conn::AddrStream, futures::future::Ready<std::result::Result<warp::filter::service::FilteredService<warp::trace::internal::WithTrace<[closure@warp::trace::request::{closure#0}], warp::filter::map::Map<warp::filter::FilterFn<[closure@warp::path::end::{closure#0}]>, [closure@src/main.rs:11:18: 11:20]>>>, std::convert::Infallible>>, warp::filter::service::FilteredService<warp::trace::internal::WithTrace<[closure@warp::trace::request::{closure#0}], warp::filter::map::Map<warp::filter::FilterFn<[closure@warp::path::end::{closure#0}]>, [closure@src/main.rs:11:18: 11:20]>>>, hyper::common::exec::Exec, hyper::server::server::NoopWatcher>

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/ef934d9b632b8ac00276558824664c104b92b5f0/compiler/rustc_errors/src/lib.rs:1644:9
stack backtrace:
   0:        0x102f28ba8 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1d8000cb115ab1b1
   1:        0x102f7883c - core::fmt::write::hb4a42c7efd8f1690
   2:        0x102f1c4c8 - std::io::Write::write_fmt::h4afe2735edabbc94
   3:        0x102f289bc - std::sys_common::backtrace::print::hff3831971f64cecb
   4:        0x102f2b4c0 - std::panicking::default_hook::{{closure}}::h71a6ecf250628b79
   5:        0x102f2b218 - std::panicking::default_hook::hca770bcc00460b96
   6:        0x10b25f0e8 - rustc_driver_impl[26e6f04b306098c]::DEFAULT_HOOK::{closure#0}::{closure#0}
   7:        0x102f2bbb8 - std::panicking::rust_panic_with_hook::h165d4369c18cfdb9
   8:        0x10f0401c0 - std[19d8fbcf6afc7ffd]::panicking::begin_panic::<rustc_errors[ea1af16506b93a34]::ExplicitBug>::{closure#0}
   9:        0x10f03ee14 - std[19d8fbcf6afc7ffd]::sys_common::backtrace::__rust_end_short_backtrace::<std[19d8fbcf6afc7ffd]::panicking::begin_panic<rustc_errors[ea1af16506b93a34]::ExplicitBug>::{closure#0}, !>
  10:        0x10f5b3088 - std[19d8fbcf6afc7ffd]::panicking::begin_panic::<rustc_errors[ea1af16506b93a34]::ExplicitBug>
  11:        0x10f090f84 - std[19d8fbcf6afc7ffd]::panic::panic_any::<rustc_errors[ea1af16506b93a34]::ExplicitBug>
  12:        0x10f090578 - <rustc_errors[ea1af16506b93a34]::HandlerInner>::bug::<&alloc[9c94e105aad12a13]::string::String>
  13:        0x10f0901c8 - <rustc_errors[ea1af16506b93a34]::Handler>::bug::<&alloc[9c94e105aad12a13]::string::String>
  14:        0x10f0be91c - rustc_middle[a501841c49e30a1f]::util::bug::opt_span_bug_fmt::<rustc_span[161be7aa2f1e880]::span_encoding::Span>::{closure#0}
  15:        0x10f0bae1c - rustc_middle[a501841c49e30a1f]::ty::context::tls::with_opt::<rustc_middle[a501841c49e30a1f]::util::bug::opt_span_bug_fmt<rustc_span[161be7aa2f1e880]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  16:        0x10f0bade8 - rustc_middle[a501841c49e30a1f]::ty::context::tls::with_context_opt::<rustc_middle[a501841c49e30a1f]::ty::context::tls::with_opt<rustc_middle[a501841c49e30a1f]::util::bug::opt_span_bug_fmt<rustc_span[161be7aa2f1e880]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  17:        0x10f0be88c - rustc_middle[a501841c49e30a1f]::util::bug::opt_span_bug_fmt::<rustc_span[161be7aa2f1e880]::span_encoding::Span>
  18:        0x10f5b7b90 - rustc_middle[a501841c49e30a1f]::util::bug::bug_fmt
  19:        0x10d7f58d8 - rustc_monomorphize[681161328a34c57f]::collector::find_vtable_types_for_unsizing
  20:        0x10d7f57e8 - rustc_monomorphize[681161328a34c57f]::collector::find_vtable_types_for_unsizing
  21:        0x10d7f3800 - <rustc_monomorphize[681161328a34c57f]::collector::MirNeighborCollector as rustc_middle[a501841c49e30a1f]::mir::visit::Visitor>::visit_rvalue
  22:        0x10d7f8f14 - rustc_monomorphize[681161328a34c57f]::collector::collect_neighbours
  23:        0x10d7f7844 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  24:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  25:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  26:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  27:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  28:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  29:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  30:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  31:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  32:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  33:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  34:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  35:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  36:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  37:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  38:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  39:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  40:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  41:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  42:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  43:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  44:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  45:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  46:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  47:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  48:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  49:        0x10d7f7c40 - rustc_monomorphize[681161328a34c57f]::collector::collect_items_rec
  50:        0x10d7fb980 - <core[84c79705706f622d]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[d1e121937e7265f2]::sync::par_for_each_in<alloc[9c94e105aad12a13]::vec::Vec<rustc_middle[a501841c49e30a1f]::mir::mono::MonoItem>, rustc_monomorphize[681161328a34c57f]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}> as core[84c79705706f622d]::ops::function::FnOnce<()>>::call_once
  51:        0x10d8073ac - <rustc_session[ff84896cf05d094f]::session::Session>::time::<(), rustc_monomorphize[681161328a34c57f]::collector::collect_crate_mono_items::{closure#1}>
  52:        0x10d7f601c - rustc_monomorphize[681161328a34c57f]::collector::collect_crate_mono_items
  53:        0x10d814230 - rustc_monomorphize[681161328a34c57f]::partitioning::collect_and_partition_mono_items
  54:        0x10e501720 - <rustc_query_system[ee0c09c3b3207d2e]::dep_graph::graph::DepGraph<rustc_middle[a501841c49e30a1f]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[a501841c49e30a1f]::ty::context::TyCtxt, (), (&rustc_data_structures[d1e121937e7265f2]::unord::UnordSet<rustc_span[161be7aa2f1e880]::def_id::DefId>, &[rustc_middle[a501841c49e30a1f]::mir::mono::CodegenUnit])>
  55:        0x10e2e0010 - rustc_query_system[ee0c09c3b3207d2e]::query::plumbing::try_execute_query::<rustc_query_impl[5448ec55ad5312ac]::queries::collect_and_partition_mono_items, rustc_query_impl[5448ec55ad5312ac]::plumbing::QueryCtxt>
  56:        0x10e440700 - <rustc_query_impl[5448ec55ad5312ac]::Queries as rustc_middle[a501841c49e30a1f]::ty::query::QueryEngine>::collect_and_partition_mono_items
  57:        0x10b374124 - rustc_codegen_ssa[5598ec4cf5527612]::base::codegen_crate::<rustc_codegen_llvm[f5898e0b00a25cd2]::LlvmCodegenBackend>
  58:        0x10b3a2834 - <rustc_codegen_llvm[f5898e0b00a25cd2]::LlvmCodegenBackend as rustc_codegen_ssa[5598ec4cf5527612]::traits::backend::CodegenBackend>::codegen_crate
  59:        0x10b2fb86c - <rustc_session[ff84896cf05d094f]::session::Session>::time::<alloc[9c94e105aad12a13]::boxed::Box<dyn core[84c79705706f622d]::any::Any>, rustc_interface[fd5e8e13dbefeeaf]::passes::start_codegen::{closure#0}>
  60:        0x10b2e9b10 - rustc_interface[fd5e8e13dbefeeaf]::passes::start_codegen
  61:        0x10b2e8e8c - <rustc_interface[fd5e8e13dbefeeaf]::passes::QueryContext>::enter::<<rustc_interface[fd5e8e13dbefeeaf]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[84c79705706f622d]::result::Result<alloc[9c94e105aad12a13]::boxed::Box<dyn core[84c79705706f622d]::any::Any>, rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>>
  62:        0x10b3097d0 - <rustc_interface[fd5e8e13dbefeeaf]::queries::Queries>::ongoing_codegen
  63:        0x10b2386fc - <rustc_interface[fd5e8e13dbefeeaf]::interface::Compiler>::enter::<rustc_driver_impl[26e6f04b306098c]::run_compiler::{closure#1}::{closure#2}, core[84c79705706f622d]::result::Result<core[84c79705706f622d]::option::Option<rustc_interface[fd5e8e13dbefeeaf]::queries::Linker>, rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>>
  64:        0x10b1dda34 - rustc_span[161be7aa2f1e880]::with_source_map::<core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>, rustc_interface[fd5e8e13dbefeeaf]::interface::run_compiler<core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>, rustc_driver_impl[26e6f04b306098c]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  65:        0x10b22eb90 - <scoped_tls[6ecc173de2707b37]::ScopedKey<rustc_span[161be7aa2f1e880]::SessionGlobals>>::set::<rustc_interface[fd5e8e13dbefeeaf]::interface::run_compiler<core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>, rustc_driver_impl[26e6f04b306098c]::run_compiler::{closure#1}>::{closure#0}, core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>>
  66:        0x10b1f4168 - std[19d8fbcf6afc7ffd]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[fd5e8e13dbefeeaf]::util::run_in_thread_pool_with_globals<rustc_interface[fd5e8e13dbefeeaf]::interface::run_compiler<core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>, rustc_driver_impl[26e6f04b306098c]::run_compiler::{closure#1}>::{closure#0}, core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>>
  67:        0x10b1e502c - <<std[19d8fbcf6afc7ffd]::thread::Builder>::spawn_unchecked_<rustc_interface[fd5e8e13dbefeeaf]::util::run_in_thread_pool_with_globals<rustc_interface[fd5e8e13dbefeeaf]::interface::run_compiler<core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>, rustc_driver_impl[26e6f04b306098c]::run_compiler::{closure#1}>::{closure#0}, core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[84c79705706f622d]::result::Result<(), rustc_errors[ea1af16506b93a34]::ErrorGuaranteed>>::{closure#1} as core[84c79705706f622d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  68:        0x102f3402c - std::sys::unix::thread::Thread::new::thread_start::h088a4f7b78481523
  69:        0x198e4a06c - __pthread_deallocate

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.69.0-nightly (ef934d9b6 2023-02-08) running on aarch64-apple-darwin

note: compiler flags: --crate-type bin -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
error: could not compile `rustc-warp-ice`

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages