Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

report bug #103081

Closed
walkerofcode opened this issue Oct 15, 2022 · 9 comments
Closed

report bug #103081

walkerofcode opened this issue Oct 15, 2022 · 9 comments
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@walkerofcode
Copy link

walkerofcode commented Oct 15, 2022

Code

<code>

Meta

rustc --version --verbose:

<version>
 v0.3.6

Error output

<output>
(.venv) root@alenservice2:~/pathfinder/py# cargo build --release --bin pathfinder
   Compiling pathfinder v0.3.6 (/root/pathfinder/crates/pathfinder)
    Building [=======================> ] 429/430: pathfinder(bin)             
error: internal compiler error: no errors encountered even though `delay_span_bug` issued

error: internal compiler error: broken MIR in DropGlue(DefId(2:2767 ~ core[ca3d]::ptr::drop_in_place), Some(hyper::server::conn::spawn_all::State<hyper::server::tcp::addr_stream::AddrStream, futures::future::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::conn::spawn_all::NoopWatcher>)) (after pass PhaseChange-Runtime(Optimized)) at bb3[0]:
                                Field projection `((*_1) as Connected).field[0]` specified type `hyper::server::conn::upgrades::UpgradeableConnection<hyper::server::tcp::addr_stream::AddrStream, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec>`, but actual type is <hyper::server::conn::spawn_all::NoopWatcher as hyper::server::conn::spawn_all::Watcher<hyper::server::tcp::addr_stream::AddrStream, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec>>::Future
  |
  = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:127:36

error: internal compiler error: broken MIR in DropGlue(DefId(2:2767 ~ core[ca3d]::ptr::drop_in_place), Some(tokio::runtime::task::core::Stage<hyper::server::conn::spawn_all::NewSvcTask<hyper::server::tcp::addr_stream::AddrStream, futures::future::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::conn::spawn_all::NoopWatcher>>)) (after pass PhaseChange-Runtime(Optimized)) at bb3[0]:
                                Field projection `((*_1) as Finished).field[0]` specified type `std::result::Result<(), tokio::task::JoinError>`, but actual type is std::result::Result<<hyper::server::conn::spawn_all::NewSvcTask<hyper::server::tcp::addr_stream::AddrStream, futures::future::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, std::convert::Infallible>>, hyper::service::util::ServiceFn<[closure@warp::server::Server<warp::filter::or::Or<warp::filter::or::Or<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::health_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, fn() -> impl warp::reply::Reply {warp::reply::reply}>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::ready_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::ready_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::ready_route::{closure#1}]>>, warp::filter::and_then::AndThen<warp::filter::map::Map<warp::filter::and::And<warp::filter::FilterFn<[closure@warp::filters::method::method_is<[closure@warp::filters::method::get::{closure#0}]>::{closure#0}]>, warp::filter::and::And<warp::filter::and::And<warp::filters::any::Any, warp::filters::path::Exact<warp::filters::path::internal::Opaque<pathfinder_lib::monitoring::metrics_route::__StaticPath>>>, warp::filter::FilterFn<[closure@warp::filters::path::end::{closure#0}]>>>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#0}]>, [closure@pathfinder_lib::monitoring::metrics_route::{closure#1}]>>>::bind_ephemeral<std::net::SocketAddr>::{closure#1}::{closure#0}::{closure#0}], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::conn::spawn_all::NoopWatcher> as futures::Future>::Output, tokio::task::JoinError>
  |
  = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:127:36

thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1499:13
stack backtrace:
   0:     0x7fc02845e010 - std::backtrace_rs::backtrace::libunwind::trace::hef7d61bc1f746d9e
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   1:     0x7fc02845e010 - std::backtrace_rs::backtrace::trace_unsynchronized::hf5f51e813259ccf5
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fc02845e010 - std::sys_common::backtrace::_print_fmt::hab5444ef511f9f50
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x7fc02845e010 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h672a37fcb181ad87
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x7fc0284b8e1e - core::fmt::write::ha365d41fbfbc3d99
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/core/src/fmt/mod.rs:1202:17
   5:     0x7fc02844ebd5 - std::io::Write::write_fmt::hccfd6c6541788842
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/io/mod.rs:1679:15
   6:     0x7fc028460c63 - std::sys_common::backtrace::_print::h6b28d3d4b1ee1596
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x7fc028460c63 - std::sys_common::backtrace::print::hf84ccb312d6e358c
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x7fc028460c63 - std::panicking::default_hook::{{closure}}::hd34df275dbd2477a
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/panicking.rs:295:22
   9:     0x7fc02846094f - std::panicking::default_hook::h524bcd868597b19d
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/panicking.rs:314:9
  10:     0x7fc02acb4de1 - rustc_driver[f07d70ef82560c26]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7fc02846149d - std::panicking::rust_panic_with_hook::h76797dba44d06d3b
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/panicking.rs:702:17
  12:     0x7fc02bde39d1 - std[4107dec329232d4d]::panicking::begin_panic::<rustc_errors[d5a9de326e1e0dab]::ExplicitBug>::{closure#0}
  13:     0x7fc02bde3526 - std[4107dec329232d4d]::sys_common::backtrace::__rust_end_short_backtrace::<std[4107dec329232d4d]::panicking::begin_panic<rustc_errors[d5a9de326e1e0dab]::ExplicitBug>::{closure#0}, !>
  14:     0x7fc02bde3096 - std[4107dec329232d4d]::panicking::begin_panic::<rustc_errors[d5a9de326e1e0dab]::ExplicitBug>
  15:     0x7fc02bde5cb6 - std[4107dec329232d4d]::panic::panic_any::<rustc_errors[d5a9de326e1e0dab]::ExplicitBug>
  16:     0x7fc02a81b2f8 - <rustc_errors[d5a9de326e1e0dab]::HandlerInner as core[ca3d6f4a5bbb0418]::ops::drop::Drop>::drop
  17:     0x7fc029aad378 - core[ca3d6f4a5bbb0418]::ptr::drop_in_place::<rustc_session[f26670c2d9a6f903]::parse::ParseSess>
  18:     0x7fc029a6bfc8 - <alloc[38116f25942e088]::rc::Rc<rustc_session[f26670c2d9a6f903]::session::Session> as core[ca3d6f4a5bbb0418]::ops::drop::Drop>::drop
  19:     0x7fc029a68bcd - core[ca3d6f4a5bbb0418]::ptr::drop_in_place::<rustc_interface[fefa945b6091ce56]::interface::Compiler>
  20:     0x7fc029a66417 - rustc_interface[fefa945b6091ce56]::interface::create_compiler_and_run::<core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>, rustc_driver[f07d70ef82560c26]::run_compiler::{closure#1}>
  21:     0x7fc029a64931 - <scoped_tls[5261b271aa48d896]::ScopedKey<rustc_span[9f4721860e90387f]::SessionGlobals>>::set::<rustc_interface[fefa945b6091ce56]::interface::run_compiler<core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>, rustc_driver[f07d70ef82560c26]::run_compiler::{closure#1}>::{closure#0}, core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>>
  22:     0x7fc029a6461f - std[4107dec329232d4d]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[fefa945b6091ce56]::util::run_in_thread_pool_with_globals<rustc_interface[fefa945b6091ce56]::interface::run_compiler<core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>, rustc_driver[f07d70ef82560c26]::run_compiler::{closure#1}>::{closure#0}, core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>>::{closure#0}, core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>>
  23:     0x7fc02ab196a9 - <<std[4107dec329232d4d]::thread::Builder>::spawn_unchecked_<rustc_interface[fefa945b6091ce56]::util::run_in_thread_pool_with_globals<rustc_interface[fefa945b6091ce56]::interface::run_compiler<core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>, rustc_driver[f07d70ef82560c26]::run_compiler::{closure#1}>::{closure#0}, core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>>::{closure#0}, core[ca3d6f4a5bbb0418]::result::Result<(), rustc_errors[d5a9de326e1e0dab]::ErrorGuaranteed>>::{closure#1} as core[ca3d6f4a5bbb0418]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  24:     0x7fc02846b2f3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22c3cb4ad0b05bde
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/alloc/src/boxed.rs:1940:9
  25:     0x7fc02846b2f3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h4722ed9fd39a6440
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/alloc/src/boxed.rs:1940:9
  26:     0x7fc02846b2f3 - std::sys::unix::thread::Thread::new::thread_start::hf692e608a98fe429
                               at /rustc/b44197abb0b3ffe4908892e1e08ab1cd721ff3b9/library/std/src/sys/unix/thread.rs:108:17
  27:     0x7fc02833b609 - start_thread
  28:     0x7fc02825e133 - clone
  29:                0x0 - <unknown>

note: the compiler unexpectedly panicked. this is a bug.

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.65.0-nightly (b44197abb 2022-09-05) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C opt-level=3 -C embed-bitcode=no

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

query stack during panic:
end of query stack
error: could not compile `pathfinder`
Backtrace

<backtrace>

@walkerofcode walkerofcode added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 15, 2022
@gimbling-away

This comment was marked as off-topic.

@rustbot
Copy link
Collaborator

rustbot commented Oct 15, 2022

Error: Label invalid can only be set by Rust team members

Please file an issue on GitHub at triagebot if there's a problem with this bot, or reach out on #t-infra on Zulip.

@TaKO8Ki
Copy link
Member

TaKO8Ki commented Oct 15, 2022

Could you share the code to reproduce the ICE?

@Dylan-DPC Dylan-DPC added the E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example label Oct 15, 2022
@Noratrieb
Copy link
Member

Also, could you verify that this issue is still present on the latest nightly version?

rustup toolchain install nightly
cargo +nightly build

@nlopes
Copy link

nlopes commented Nov 22, 2022

@Nilstrieb I was about to submit an issue with (I think) this very same issue.

In the hopes that this helps (and yes, it is still present in the latest nightly version) although the compiler seems to point to a slightly different line.
If this is not related please let me know and I can open a different issue (and apologies in advance).

Unfortunately I wasn't successful replicating it with "simple" code. This just started popping up in one of my codebases.

Meta

rustc --version --verbose:

rustc 1.67.0-nightly (b7bc90fea 2022-11-21)
binary: rustc
commit-hash: b7bc90fea3b441234a84b49fdafeb75815eebbab
commit-date: 2022-11-21
host: aarch64-apple-darwin
release: 1.67.0-nightly
LLVM version: 15.0.4

Error output

error: internal compiler error: no errors encountered even though `delay_span_bug` issued

error: internal compiler error: broken MIR in DropGlue(DefId(2:2801 ~ core[c179]::ptr::drop_in_place), Some(proptest::strategy::FlattenValueTree<proptest::strategy::Map<proptest::strategy::Map<proptest::strategy::Map<proptest::tuple::TupleValueTree<(proptest::strategy::Map<proptest::num::u32::BinarySearch, [closure@/Users/nlopes/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/sugar.rs:621:17: 621:71]>, proptest::bool::BoolValueTree)>, [closure@/Users/nlopes/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/sugar.rs:621:17: 621:71]>, fn(relay_protocol::logical_replication::StreamStartBody) -> relay_protocol::logical_replication::LogicalReplicationMessage {relay_protocol::logical_replication::LogicalReplicationMessage::StreamStart}>, fn(relay_protocol::logical_replication::LogicalReplicationMessage) -> impl proptest::strategy::Strategy<Value = relay_protocol::replication::XLogDataBody<relay_protocol::logical_replication::LogicalReplicationMessage>> {gen_xlog_data}>>)) (after phase change to runtime-optimized) at bb4[0]:
                                Field projection `(*_1).field[2]` specified type `std::option::Option<proptest::strategy::Fuse<proptest::strategy::Map<proptest::tuple::TupleValueTree<(proptest::num::u64::BinarySearch, proptest::num::u64::BinarySearch, proptest::strategy::Map<proptest::num::u64::BinarySearch, [closure@/Users/nlopes/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/sugar.rs:621:17: 621:71]>, proptest::strategy::Just<relay_protocol::logical_replication::LogicalReplicationMessage>)>, [closure@/Users/nlopes/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/sugar.rs:621:17: 621:71]>>>`, but actual type is `std::option::Option<proptest::strategy::Fuse<<<proptest::strategy::Map<proptest::strategy::Map<proptest::strategy::Map<proptest::tuple::TupleValueTree<(proptest::strategy::Map<proptest::num::u32::BinarySearch, [closure@/Users/nlopes/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/sugar.rs:621:17: 621:71]>, proptest::bool::BoolValueTree)>, [closure@/Users/nlopes/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/sugar.rs:621:17: 621:71]>, fn(relay_protocol::logical_replication::StreamStartBody) -> relay_protocol::logical_replication::LogicalReplicationMessage {relay_protocol::logical_replication::LogicalReplicationMessage::StreamStart}>, fn(relay_protocol::logical_replication::LogicalReplicationMessage) -> impl proptest::strategy::Strategy<Value = relay_protocol::replication::XLogDataBody<relay_protocol::logical_replication::LogicalReplicationMessage>> {gen_xlog_data}> as proptest::strategy::ValueTree>::Value as proptest::strategy::Strategy>::Tree>>`
   --> /Users/nlopes/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
    |
490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:88:36
Backtrace

   --> /Users/nlopes/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:490:1
    |
490 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: delayed at compiler/rustc_const_eval/src/transform/validate.rs:88:36

thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1594:13
stack backtrace:
   0:        0x1018277b8 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h86f81dea2431b255
   1:        0x101878fa0 - core::fmt::write::h99cc000a520a5f0a
   2:        0x10181acbc - std::io::Write::write_fmt::h6dfe77e87020576e
   3:        0x1018275cc - std::sys_common::backtrace::print::h212135278ba731fd
   4:        0x10182a074 - std::panicking::default_hook::{{closure}}::he39bf9e88678c8e4
   5:        0x101829dcc - std::panicking::default_hook::hecb628a57e2b11ab
   6:        0x1099348f0 - rustc_driver[20b538c9ae0efabc]::DEFAULT_HOOK::{closure#0}::{closure#0}
   7:        0x10182a774 - std::panicking::rust_panic_with_hook::h281ab4d4a0a242eb
   8:        0x10d898238 - std[8354aa8059e9bd7]::panicking::begin_panic::<rustc_errors[498705a636aa56c4]::ExplicitBug>::{closure#0}
   9:        0x10d896938 - std[8354aa8059e9bd7]::sys_common::backtrace::__rust_end_short_backtrace::<std[8354aa8059e9bd7]::panicking::begin_panic<rustc_errors[498705a636aa56c4]::ExplicitBug>::{closure#0}, !>
  10:        0x10dc0b128 - std[8354aa8059e9bd7]::panicking::begin_panic::<rustc_errors[498705a636aa56c4]::ExplicitBug>
  11:        0x10d889240 - std[8354aa8059e9bd7]::panic::panic_any::<rustc_errors[498705a636aa56c4]::ExplicitBug>
  12:        0x10d88ff2c - <rustc_errors[498705a636aa56c4]::HandlerInner>::flush_delayed::<alloc[43fad65f40ecac15]::vec::Vec<rustc_errors[498705a636aa56c4]::diagnostic::Diagnostic>, &str>
  13:        0x10d88c86c - <rustc_errors[498705a636aa56c4]::HandlerInner as core[c1799017b12a3ae4]::ops::drop::Drop>::drop
  14:        0x1098c7ab4 - core[c1799017b12a3ae4]::ptr::drop_in_place::<rustc_session[d3c18a1d8780d037]::parse::ParseSess>
  15:        0x1098c8f50 - core[c1799017b12a3ae4]::ptr::drop_in_place::<rustc_session[d3c18a1d8780d037]::session::Session>
  16:        0x109923cfc - core[c1799017b12a3ae4]::ptr::drop_in_place::<rustc_interface[c57057a1c61fa02]::interface::Compiler>
  17:        0x1099102e0 - rustc_span[a0522e4eb001f528]::with_source_map::<core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>, rustc_interface[c57057a1c61fa02]::interface::run_compiler<core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>, rustc_driver[20b538c9ae0efabc]::run_compiler::{closure#1}>::{closure#0}::{closure#1}>
  18:        0x1099082e0 - <scoped_tls[6e629ea917078905]::ScopedKey<rustc_span[a0522e4eb001f528]::SessionGlobals>>::set::<rustc_interface[c57057a1c61fa02]::interface::run_compiler<core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>, rustc_driver[20b538c9ae0efabc]::run_compiler::{closure#1}>::{closure#0}, core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>>
  19:        0x1098d6770 - std[8354aa8059e9bd7]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[c57057a1c61fa02]::util::run_in_thread_pool_with_globals<rustc_interface[c57057a1c61fa02]::interface::run_compiler<core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>, rustc_driver[20b538c9ae0efabc]::run_compiler::{closure#1}>::{closure#0}, core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>>
  20:        0x1098bca94 - <<std[8354aa8059e9bd7]::thread::Builder>::spawn_unchecked_<rustc_interface[c57057a1c61fa02]::util::run_in_thread_pool_with_globals<rustc_interface[c57057a1c61fa02]::interface::run_compiler<core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>, rustc_driver[20b538c9ae0efabc]::run_compiler::{closure#1}>::{closure#0}, core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[c1799017b12a3ae4]::result::Result<(), rustc_errors[498705a636aa56c4]::ErrorGuaranteed>>::{closure#1} as core[c1799017b12a3ae4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  21:        0x101832ab4 - std::sys::unix::thread::Thread::new::thread_start::hcb03e9b32fbe8c31
  22:        0x19eaca06c - __pthread_deallocate

note: the compiler unexpectedly panicked. this is a bug.

@nlopes
Copy link

nlopes commented Nov 23, 2022

Ok, here's a minimal reproducible https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b43429b7dd2b8bced5616a9178a32b36

It requires an external crate: proptest.

cargo +stable test or cargo +beta test runs just fine. cargo +nightly test panics.

@bluelhf
Copy link

bluelhf commented Nov 23, 2022

Also running into this with Warp — I'm not skilled enough to construct an MVCE, though. I wonder if the proptest example could be minified further into self-contained code?

@compiler-errors compiler-errors added the E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc label Nov 23, 2022
@compiler-errors
Copy link
Member

This regressed in 2f8d804

Probably regressed in #104411

@lcnr lcnr removed the E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc label Dec 6, 2022
@apiraino
Copy link
Contributor

apiraino commented Dec 7, 2022

I'm gonna close this as duplicate of #105009 (thanks @compiler-errors for the bisection, I'll mention in that issue)

@rustbot label -E-needs-mcve

@rustbot rustbot removed the E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example label Dec 7, 2022
@apiraino apiraino closed this as not planned Won't fix, can't repro, duplicate, stale Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests