rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
97.88k stars 12.67k forks source link

ICE: 'called `Option::unwrap()` on a `None` value', compiler\rustc_metadata\src\rmeta\decoder.rs:1565:75 #79783

Closed fawdlstty closed 10 months ago

fawdlstty commented 3 years ago

recurrence example: https://github.com/fawdlstty/Minx/tree/cb0d94e10bb69ec16ba69c7ad33246a22813fbcf error code: https://github.com/fawdlstty/Minx/blob/cb0d94e10bb69ec16ba69c7ad33246a22813fbcf/src/services/http.rs#L24

Code

match HttpServer::new (|| {
    App::new ()
}).bind ("127.0.0.1:8080") {
    Ok (mut _server) => { _server.run ().await; () },
    Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
};

Meta

rustc --version --verbose:

rustc 1.50.0-nightly (0f6f2d681 2020-12-06)
binary: rustc
commit-hash: 0f6f2d681b39c5f95459cd09cb936b6ceb27cd82
commit-date: 2020-12-06
host: x86_64-pc-windows-msvc
release: 1.50.0-nightly
Backtrace

``` E:\GitHub\_\Minx>cargo build Compiling minx v2020.11.16 (E:\GitHub\_\Minx) thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', compiler\rustc_metadata\src\rmeta\decoder.rs:1565:75 stack backtrace: 0: 0x7fede5fb865 - ::fmt::h106ca6f8fb6a294d 1: 0x7fede62727b - core::fmt::write::h6390b994d95aebdb 2: 0x7fede5ecefd - ::fmt::hd713332ae62141f3 3: 0x7fede5ffbdd - std::panicking::take_hook::h78f8a454f3a4df82 4: 0x7fede5ff66a - std::panicking::take_hook::h78f8a454f3a4df82 5: 0x7fed13b1127 - rustc_driver::report_ice::h4bc3647b6f621de8 6: 0x7fede600730 - std::panicking::rust_panic_with_hook::h931fd6f26be82856 7: 0x7fede6001d3 - rust_begin_unwind 8: 0x7fede5fc20f - ::fmt::h106ca6f8fb6a294d 9: 0x7fede600159 - rust_begin_unwind 10: 0x7fede6232f0 - core::panicking::panic_fmt::h45da916c710b88f7 11: 0x7fede62323c - core::panicking::panic::h3a7a516f2be28c18 12: 0x7fed4b52886 - rustc_metadata::dynamic_lib::DynamicLibrary::open::h6e15f450696ffdaf 13: 0x7fed4cec83d - rustc_metadata::rmeta::decoder::cstore_impl::::def_path_hash_to_def_id::hb8b08d53ae47c264 14: 0x7fed583edd2 - rustc_middle::ty::query::on_disk_cache::OnDiskCache::compute_cnum_map::hbae92ac2867b06ae 15: 0x7fed564d3d4 - rustc_middle::ty::query::force_from_dep_node::h841e1a791cab1f4a 16: 0x7fed5b24ea5 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1 17: 0x7fed5b24c9a - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1 18: 0x7fed576375e - rustc_middle::ty::context::TyCtxt::_intern_place_elems::hf379b6ef10105517 19: 0x7fed5993527 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1 20: 0x7fed562c83c - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 21: 0x7fed563b604 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 22: 0x7fed5647b32 - rustc_middle::ty::print::pretty::provide::hc119ff75f1135c0c 23: 0x7fed563b8b2 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 24: 0x7fed5640fcf - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 25: 0x7fed5909ff5 - ::fmt::ha4f972aa3c4f9a1b 26: 0x7fed562eb8a - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 27: 0x7fed563ca2e - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 28: 0x7fed57b414f - rustc_middle::ty::print::pretty::::fmt::hde99ea841c37be94 29: 0x7fede62727b - core::fmt::write::h6390b994d95aebdb 30: 0x7fed521adb9 - ::get_parent_trait_ref::ha921836971e39e41 31: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 32: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 33: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 34: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 35: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 36: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 37: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 38: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 39: 0x7fed52126af - ::report_selection_error::ha392eaa7ac2cc3a8 40: 0x7fed5218efd - ::report_fulfillment_error::hccbb5a44a34f361b 41: 0x7fed520a608 - ::report_fulfillment_errors::h7cfebedbee09bdc3 42: 0x7fed3a9b175 - rustc_typeck::check::fn_ctxt::_impl::::field_ty::h68f41b73d3eac02e 43: 0x7fed3c7023e - ::hir_id::h06a7c06bd4550e68 44: 0x7fed3cef53a - ::fold_ty::hf14ff5277beb7ffa 45: 0x7fed3c1947e - ::fmt::h65d0ee68b4921492 46: 0x7fed3b45d76 - ::fmt::h1a7ec9871c5aa436 47: 0x7fed3bdb461 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 48: 0x7fed3be8f71 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 49: 0x7fed3d19dc2 - ::fmt::he75db09628d6b785 50: 0x7fed3da3696 - ::fmt::he75db09628d6b785 51: 0x7fed3cf4614 - ::visit_item::h9214ea86e9e730ae 52: 0x7fed3bb69bd - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 53: 0x7fed3b46426 - ::fmt::h1a7ec9871c5aa436 54: 0x7fed3be1e61 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 55: 0x7fed3becba3 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 56: 0x7fed3d9e27c - ::fmt::he75db09628d6b785 57: 0x7fed3c35048 - rustc_typeck::check_crate::h17e0c5356e66338a 58: 0x7fed15dea6a - rustc_interface::passes::QueryContext::print_stats::h34b3c30905286de8 59: 0x7fed1412e4b - ::deref_mut::h130ca4adb9e78d16 60: 0x7fed1416066 - ::deref_mut::h130ca4adb9e78d16 61: 0x7fed13f7513 - ::fmt::hb838ed2d57a61e3c 62: 0x7fed1407826 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5 63: 0x7fed1393ccc - ::fmt::he2ea99b1945e8c7f 64: 0x7fed1417f2b - ::deref_mut::h130ca4adb9e78d16 65: 0x7fed1358b38 - ::no_crt_objects::h47dd01e667a15f55 66: 0x7fed13e9aac - ::fmt::hb838ed2d57a61e3c 67: 0x7fed1359bfc - ::no_crt_objects::h47dd01e667a15f55 68: 0x7fed1400f84 - ::fmt::hb838ed2d57a61e3c 69: 0x7fed1408270 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5 70: 0x7fed1362a3d - ::no_crt_objects::h47dd01e667a15f55 71: 0x7fede60f4f7 - std::sys::windows::thread::Thread::new::h05d768f6146b61f1 72: 0x7713556d - BaseThreadInitThunk 73: 0x774d372d - RtlUserThreadStart 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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md note: rustc 1.50.0-nightly (0f6f2d681 2020-12-06) running on x86_64-pc-windows-msvc note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type bin note: some of the compiler flags provided by cargo are hidden query stack during panic: #0 [visible_parent_map] calculating the visible parent map #1 [typeck] type-checking `::async_entry` #2 [typeck_item_bodies] type-checking all item bodies #3 [analysis] running analysis passes on this crate end of query stack error: internal compiler error: trimmed_def_paths constructed | = note: delayed at 0: std::backtrace::Backtrace::disabled 1: std::backtrace::Backtrace::force_capture 2: rustc_errors::Handler::delay_good_path_bug 3: ::fmt 4: >::hash_stable 5: rustc_middle::dep_graph::::debug_node 6: rustc_middle::ty::context::tls::TLV::__getit 7: rustc_middle::ty::context::TyCtxt::_intern_place_elems 8: rustc_middle::ty::context::tls::TLV::__getit 9: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region 10: rustc_middle::ty::print::pretty::provide 11: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region 12: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region 13: ::fmt 14: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region 15: rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region 16: rustc_middle::ty::print::pretty::::fmt 17: core::fmt::write 18: ::get_parent_trait_ref 19: ::get_parent_trait_ref 20: ::get_parent_trait_ref 21: ::get_parent_trait_ref 22: ::get_parent_trait_ref 23: ::get_parent_trait_ref 24: ::get_parent_trait_ref 25: ::get_parent_trait_ref 26: ::get_parent_trait_ref 27: ::report_selection_error 28: ::report_fulfillment_error 29: ::report_fulfillment_errors 30: rustc_typeck::check::fn_ctxt::_impl::::field_ty 31: ::hir_id 32: ::fold_ty 33: ::fmt 34: ::fmt 35: <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const 36: <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const 37: ::fmt 38: ::fmt 39: ::visit_item 40: <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const 41: ::fmt 42: <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const 43: <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const 44: ::fmt 45: rustc_typeck::check_crate 46: rustc_interface::passes::QueryContext::print_stats 47: ::deref_mut 48: ::deref_mut 49: ::fmt 50: rustc_ast::util::parser::prec_let_scrutinee_needs_par 51: ::fmt 52: ::deref_mut 53: ::no_crt_objects 54: ::fmt 55: ::no_crt_objects 56: ::fmt 57: rustc_ast::util::parser::prec_let_scrutinee_needs_par 58: ::no_crt_objects 59: std::sys::windows::thread::Thread::new 60: BaseThreadInitThunk 61: RtlUserThreadStart thread 'rustc' panicked at 'no warnings or errors encountered even though `delayed_good_path_bugs` issued', compiler\rustc_errors\src\lib.rs:974:13 stack backtrace: 0: 0x7fede5fb865 - ::fmt::h106ca6f8fb6a294d 1: 0x7fede62727b - core::fmt::write::h6390b994d95aebdb 2: 0x7fede5ecefd - ::fmt::hd713332ae62141f3 3: 0x7fede5ffbdd - std::panicking::take_hook::h78f8a454f3a4df82 4: 0x7fede5ff66a - std::panicking::take_hook::h78f8a454f3a4df82 5: 0x7fed13b1127 - rustc_driver::report_ice::h4bc3647b6f621de8 6: 0x7fede600730 - std::panicking::rust_panic_with_hook::h931fd6f26be82856 7: 0x7fede600201 - rust_begin_unwind 8: 0x7fede5fc20f - ::fmt::h106ca6f8fb6a294d 9: 0x7fede600159 - rust_begin_unwind 10: 0x7fede60010c - std::panicking::begin_panic_fmt::h33e8bdfb545f007a 11: 0x7fed5c519e4 - rustc_errors::HandlerInner::delay_as_bug::h5a7d10ea72b1c82f 12: 0x7fed5c4d122 - ::drop::hc04473ab921ca342 13: 0x7fed13daea7 - ::fmt::h717dc5c57c70fe70 14: 0x7fed13e509a - ::fmt::h717dc5c57c70fe70 15: 0x7fed13fb74c - ::fmt::hb838ed2d57a61e3c 16: 0x7fed13ea0ce - ::fmt::hb838ed2d57a61e3c 17: 0x7fed5df4ad0 - _rust_alloc_zeroed 18: 0x7fed5df3f1a - _rust_alloc_zeroed 19: 0x7fed5defd24 - _rust_alloc_zeroed 20: 0x7fed5df3281 - _rust_alloc_zeroed 21: 0x7fed5df063d - _rust_alloc_zeroed 22: 0x774ebf1d - _chkstk 23: 0x774bca19 - RtlUnwindEx 24: 0x77150f2e - RtlUnwindEx 25: 0x7fed5df01ee - _rust_alloc_zeroed 26: 0x7fed5df1ef1 - _rust_alloc_zeroed 27: 0x7fed5df231b - _rust_alloc_zeroed 28: 0x7fed5df337d - _rust_alloc_zeroed 29: 0x7fed5df063d - _rust_alloc_zeroed 30: 0x774ebe9d - _chkstk 31: 0x774c040a - RtlInitializeResource 32: 0x774c3c0f - RtlRaiseException 33: 0x7fefd05b87d - RaiseException 34: 0x7fede64b8e8 - _udivmodti4 35: 0x7fede612a71 - _rust_start_panic 36: 0x7fede6129f9 - _rust_start_panic 37: 0x7fede600908 - rust_panic 38: 0x7fede6007b6 - std::panicking::rust_panic_with_hook::h931fd6f26be82856 39: 0x7fede6001d3 - rust_begin_unwind 40: 0x7fede5fc20f - ::fmt::h106ca6f8fb6a294d 41: 0x7fede600159 - rust_begin_unwind 42: 0x7fede6232f0 - core::panicking::panic_fmt::h45da916c710b88f7 43: 0x7fede62323c - core::panicking::panic::h3a7a516f2be28c18 44: 0x7fed4b52886 - rustc_metadata::dynamic_lib::DynamicLibrary::open::h6e15f450696ffdaf 45: 0x7fed4cec83d - rustc_metadata::rmeta::decoder::cstore_impl::::def_path_hash_to_def_id::hb8b08d53ae47c264 46: 0x7fed583edd2 - rustc_middle::ty::query::on_disk_cache::OnDiskCache::compute_cnum_map::hbae92ac2867b06ae 47: 0x7fed564d3d4 - rustc_middle::ty::query::force_from_dep_node::h841e1a791cab1f4a 48: 0x7fed5b24ea5 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1 49: 0x7fed5b24c9a - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1 50: 0x7fed576375e - rustc_middle::ty::context::TyCtxt::_intern_place_elems::hf379b6ef10105517 51: 0x7fed5993527 - rustc_middle::ty::context::tls::TLV::__getit::h04ab82409bdf58e1 52: 0x7fed562c83c - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 53: 0x7fed563b604 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 54: 0x7fed5647b32 - rustc_middle::ty::print::pretty::provide::hc119ff75f1135c0c 55: 0x7fed563b8b2 - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 56: 0x7fed5640fcf - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 57: 0x7fed5909ff5 - ::fmt::ha4f972aa3c4f9a1b 58: 0x7fed562eb8a - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 59: 0x7fed563ca2e - rustc_middle::ty::print::pretty::RegionHighlightMode::highlighting_bound_region::h7e8b8f69a10c3c2f 60: 0x7fed57b414f - rustc_middle::ty::print::pretty::::fmt::hde99ea841c37be94 61: 0x7fede62727b - core::fmt::write::h6390b994d95aebdb 62: 0x7fed521adb9 - ::get_parent_trait_ref::ha921836971e39e41 63: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 64: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 65: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 66: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 67: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 68: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 69: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 70: 0x7fed521ac89 - ::get_parent_trait_ref::ha921836971e39e41 71: 0x7fed52126af - ::report_selection_error::ha392eaa7ac2cc3a8 72: 0x7fed5218efd - ::report_fulfillment_error::hccbb5a44a34f361b 73: 0x7fed520a608 - ::report_fulfillment_errors::h7cfebedbee09bdc3 74: 0x7fed3a9b175 - rustc_typeck::check::fn_ctxt::_impl::::field_ty::h68f41b73d3eac02e 75: 0x7fed3c7023e - ::hir_id::h06a7c06bd4550e68 76: 0x7fed3cef53a - ::fold_ty::hf14ff5277beb7ffa 77: 0x7fed3c1947e - ::fmt::h65d0ee68b4921492 78: 0x7fed3b45d76 - ::fmt::h1a7ec9871c5aa436 79: 0x7fed3bdb461 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 80: 0x7fed3be8f71 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 81: 0x7fed3d19dc2 - ::fmt::he75db09628d6b785 82: 0x7fed3da3696 - ::fmt::he75db09628d6b785 83: 0x7fed3cf4614 - ::visit_item::h9214ea86e9e730ae 84: 0x7fed3bb69bd - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 85: 0x7fed3b46426 - ::fmt::h1a7ec9871c5aa436 86: 0x7fed3be1e61 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 87: 0x7fed3becba3 - <::visit_ty::TyAliasVisitor as rustc_middle::ty::fold::TypeVisitor>::visit_const::h3a109b0bc4478fc7 88: 0x7fed3d9e27c - ::fmt::he75db09628d6b785 89: 0x7fed3c35048 - rustc_typeck::check_crate::h17e0c5356e66338a 90: 0x7fed15dea6a - rustc_interface::passes::QueryContext::print_stats::h34b3c30905286de8 91: 0x7fed1412e4b - ::deref_mut::h130ca4adb9e78d16 92: 0x7fed1416066 - ::deref_mut::h130ca4adb9e78d16 93: 0x7fed13f7513 - ::fmt::hb838ed2d57a61e3c 94: 0x7fed1407826 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5 95: 0x7fed1393ccc - ::fmt::he2ea99b1945e8c7f 96: 0x7fed1417f2b - ::deref_mut::h130ca4adb9e78d16 97: 0x7fed1358b38 - ::no_crt_objects::h47dd01e667a15f55 98: 0x7fed13e9aac - ::fmt::hb838ed2d57a61e3c 99: 0x7fed1359bfc - ::no_crt_objects::h47dd01e667a15f55 100: 0x7fed1400f84 - ::fmt::hb838ed2d57a61e3c 101: 0x7fed1408270 - rustc_ast::util::parser::prec_let_scrutinee_needs_par::h0da38a96661182e5 102: 0x7fed1362a3d - ::no_crt_objects::h47dd01e667a15f55 103: 0x7fede60f4f7 - std::sys::windows::thread::Thread::new::h05d768f6146b61f1 104: 0x7713556d - BaseThreadInitThunk 105: 0x774d372d - RtlUserThreadStart 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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md note: rustc 1.50.0-nightly (0f6f2d681 2020-12-06) running on x86_64-pc-windows-msvc note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type bin note: some of the compiler flags provided by cargo are hidden query stack during panic: end of query stack thread panicked while panicking. aborting. error: could not compile `minx` Caused by: process didn't exit successfully: `rustc --crate-name minx --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=79fa729978b18445 --out-dir E:\GitHub\_\Minx\target\debug\deps -C incremental=E:\GitHub\_\Minx\target\debug\incremental -L dependency=E:\GitHub\_\Minx\target\debug\deps --extern actix=E:\GitHub\_\Minx\target\debug\deps\libactix-ac0b0924fe535a6e.rlib --extern actix_web=E:\GitHub\_\Minx\target\debug\deps\libactix_web-5982602c8341b800.rlib --extern actix_web_actors=E:\GitHub\_\Minx\target\debug\deps\libactix_web_actors-6031667e7ab26ef4.rlib --extern async_std=E:\GitHub\_\Minx\target\debug\deps\libasync_std-85302f03ebbe7733.rlib --extern async_trait=E:\GitHub\_\Minx\target\debug\deps\async_trait-fb11d953e5565a14.dll --extern chrono=E:\GitHub\_\Minx\target\debug\deps\libchrono-80c3605d5f62f906.rlib --extern serde=E:\GitHub\_\Minx\target\debug\deps\libserde-d556fcd1453ddced.rlib --extern serde_json=E:\GitHub\_\Minx\target\debug\deps\libserde_json-cd88f5c32193f7dd.rlib -L native=E:\GitHub\_\Minx\target\debug\build\brotli-sys-634ca30154564d93\out -L native=E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build -L E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build` (exit code: 0xc000001d, STATUS_ILLEGAL_INSTRUCTION) E:\GitHub\_\Minx> ```

LeSeulArtichaut commented 3 years ago

@Aaron1011 could this be due to #74967?

Aaron1011 commented 3 years ago

Opened https://github.com/rust-lang/rust/pull/79810

camelid commented 3 years ago

I've seen several people run into this bug, so I requested prioritization.

jyn514 commented 3 years ago

https://github.com/rust-lang/rust/pull/79810#issuecomment-740209218:

This resolves the crash in issue #79783. However, I haven't been able to come up with a minimal reproduction yet, so I'm leaving that issue open for now.

So this just needs a test to be closed.

fawdlstty commented 3 years ago

I have try to compile the code:

let _bind_str = format! ("0.0.0.0:{}", 2233);
match HttpServer::new (|| {
    App::new ()
}).bind (&_bind_str [..]) {
    Ok (mut _server) => { _server.run ().await; () },
    Err (_e) => println! ("http listen failed: {}", _e.to_string ()),
};

but still catch question,

impl ServiceModule for Http {
    async fn async_entry (&self) {
        // if that code in there, I can't compile
    }
}

#[async_std::main]
async fn main () {
    // if that code in there, everything is okay
}

compile output:

Backtrace

``` E:\GitHub\_\Minx>cargo build --verbose Fresh unicode-xid v0.2.1 Fresh cfg-if v0.1.10 Fresh autocfg v1.0.1 Fresh futures-core v0.3.8 Fresh lazy_static v1.4.0 Fresh cfg-if v1.0.0 Fresh futures-io v0.3.8 Fresh winapi-build v0.1.1 Fresh pin-project-lite v0.1.11 Fresh once_cell v1.5.2 Fresh slab v0.4.2 Fresh winapi v0.2.8 Fresh futures-sink v0.3.8 Fresh version_check v0.9.2 Fresh bytes v0.5.6 Fresh fnv v1.0.7 Fresh pin-utils v0.1.0 Fresh iovec v0.1.4 Fresh smallvec v1.5.1 Fresh cc v1.0.65 Fresh scopeguard v1.1.0 Fresh matches v0.1.8 Fresh tinyvec_macros v0.1.0 Fresh percent-encoding v2.1.0 Fresh copyless v0.1.5 Fresh adler v0.2.3 Fresh gimli v0.23.0 Fresh ppv-lite86 v0.2.10 Fresh unicode-segmentation v1.7.1 Fresh itoa v0.4.6 Fresh match_cfg v0.1.0 Fresh object v0.22.0 Fresh either v1.6.1 Fresh rustc-demangle v0.1.18 Fresh linked-hash-map v0.5.3 Fresh quick-error v1.2.3 Fresh widestring v0.4.3 Fresh cache-padded v1.1.1 Fresh pin-project-lite v0.2.0 Fresh hashbrown v0.9.1 Fresh waker-fn v1.1.0 Fresh fastrand v1.4.0 Fresh regex-syntax v0.6.21 Fresh parking v2.0.0 Fresh opaque-debug v0.3.0 Fresh cpuid-bool v0.1.2 Fresh mime v0.3.16 Fresh event-listener v2.5.1 Fresh mio-uds v0.6.8 Fresh language-tags v0.2.2 Fresh vec-arena v1.0.0 Fresh base64 v0.13.0 Fresh async-task v4.0.3 Fresh atomic-waker v1.0.0 Fresh instant v0.1.9 Fresh tracing-core v0.1.17 Fresh thread_local v1.0.1 Fresh futures-task v0.3.8 Fresh futures-channel v0.3.8 Fresh bytestring v0.1.5 Fresh lock_api v0.4.2 Fresh unicode-bidi v0.3.4 Fresh tinyvec v1.1.0 Fresh form_urlencoded v1.0.0 Fresh addr2line v0.14.0 Fresh heck v0.3.1 Fresh http v0.2.1 Fresh lru-cache v0.1.2 Fresh concurrent-queue v1.2.2 Fresh async-mutex v1.4.0 Fresh proc-macro2 v1.0.24 Fresh winapi v0.3.9 Fresh memchr v2.3.4 Fresh log v0.4.11 Fresh libc v0.2.80 Fresh proc-macro-hack v0.5.19 Fresh proc-macro-nested v0.1.6 Fresh bitflags v1.2.1 Fresh getrandom v0.1.15 Fresh unicode-normalization v0.1.16 Fresh const_fn v0.4.3 Fresh typenum v1.12.0 Fresh ryu v1.0.5 Fresh crc32fast v1.2.1 Fresh byteorder v1.3.4 Fresh async-channel v1.5.1 Fresh httparse v1.3.4 Fresh encoding_rs v0.8.26 Fresh maybe-uninit v2.0.0 Fresh quote v1.0.7 Fresh net2 v0.2.36 Fresh parking_lot_core v0.8.1 Fresh socket2 v0.3.17 Fresh hostname v0.3.1 Fresh winreg v0.6.2 Fresh aho-corasick v0.7.15 Fresh futures-lite v1.11.2 Fresh nb-connect v1.0.2 Fresh miniz_oxide v0.4.3 Fresh tracing v0.1.22 Fresh indexmap v1.6.0 Fresh crossbeam-utils v0.7.2 Fresh kv-log-macro v1.0.7 Fresh num_cpus v1.13.0 Fresh num-traits v0.2.14 Fresh time v0.1.44 Fresh ws2_32-sys v0.2.1 Fresh kernel32-sys v0.2.2 Fresh standback v0.2.13 Fresh rand_core v0.5.1 Fresh brotli-sys v0.3.2 Fresh wepoll-sys v3.0.1 Fresh idna v0.2.0 Fresh generic-array v0.14.4 Fresh crossbeam-utils v0.8.0 Fresh fxhash v0.2.1 Fresh syn v1.0.51 Fresh parking_lot v0.11.1 Fresh resolv-conf v0.7.0 Fresh ipconfig v0.2.2 Fresh backtrace v0.3.55 Fresh regex v1.4.2 Fresh flate2 v1.0.19 Fresh async-executor v1.4.0 Fresh blocking v1.0.2 Fresh crossbeam-channel v0.4.4 Fresh threadpool v1.8.1 Fresh num-integer v0.1.44 Fresh miow v0.2.2 Fresh rand_chacha v0.2.2 Fresh brotli2 v0.3.2 Fresh url v2.2.0 Fresh digest v0.9.0 Fresh block-buffer v0.9.0 Fresh polling v2.0.2 Fresh pin-project-internal v1.0.2 Fresh futures-macro v0.3.8 Fresh pin-project-internal v0.4.27 Fresh derive_more v0.99.11 Fresh actix-macros v0.1.3 Fresh thiserror-impl v1.0.22 Fresh enum-as-inner v0.3.3 Fresh async-trait v0.1.42 Fresh serde_derive v1.0.117 Fresh time-macros-impl v0.1.1 Fresh actix-web-codegen v0.4.0 Fresh actix_derive v0.5.0 Fresh async-attributes v1.1.1 Fresh mio v0.6.23 Fresh rand v0.7.3 Fresh chrono v0.4.19 Fresh sha-1 v0.9.2 Fresh async-io v1.2.0 Fresh pin-project v1.0.2 Fresh pin-project v0.4.27 Fresh actix-threadpool v0.3.3 Fresh thiserror v1.0.22 Fresh serde v1.0.117 Fresh time-macros v0.1.1 Fresh tokio v0.2.23 Fresh futures-util v0.3.8 Fresh tracing-futures v0.2.4 Fresh async-global-executor v1.4.3 Fresh time v0.2.23 Fresh serde_json v1.0.59 Fresh serde_urlencoded v0.7.0 Fresh actix-router v0.2.5 Fresh tokio-util v0.3.1 Fresh actix-rt v1.1.1 Fresh actix-service v1.0.6 Fresh futures v0.3.8 Fresh async-std v1.7.0 Fresh cookie v0.14.3 Fresh actix-codec v0.3.0 Fresh trust-dns-proto v0.19.6 Fresh h2 v0.2.7 Fresh actix-utils v2.0.0 Fresh trust-dns-resolver v0.19.6 Fresh actix-connect v2.0.0 Fresh actix-server v1.0.4 Fresh actix-tls v2.0.0 Fresh actix v0.10.0 Fresh actix-http v2.2.0 Fresh actix-testing v1.0.1 Fresh awc v2.0.3 Fresh actix-web v3.3.2 Fresh actix-web-actors v3.0.0 Compiling minx v2020.11.16 (E:\GitHub\_\Minx) Running `rustc --crate-name minx --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=79fa729978b18445 --out-dir E:\GitHub\_\Minx\target\debug\deps -C incremental=E:\GitHub\_\Minx\target\debug\incremental -L dependency=E:\GitHub\_\Minx\target\debug\deps --extern actix=E:\GitHub\_\Minx\target\debug\deps\libactix-ac0b0924fe535a6e.rlib --extern actix_web=E:\GitHub\_\Minx\target\debug\deps\libactix_web-5982602c8341b800.rlib --extern actix_web_actors=E:\GitHub\_\Minx\target\debug\deps\libactix_web_actors-6031667e7ab26ef4.rlib --extern async_std=E:\GitHub\_\Minx\target\debug\deps\libasync_std-85302f03ebbe7733.rlib --extern async_trait=E:\GitHub\_\Minx\target\debug\deps\async_trait-fb11d953e5565a14.dll --extern chrono=E:\GitHub\_\Minx\target\debug\deps\libchrono-80c3605d5f62f906.rlib --extern serde=E:\GitHub\_\Minx\target\debug\deps\libserde-d556fcd1453ddced.rlib --extern serde_json=E:\GitHub\_\Minx\target\debug\deps\libserde_json-cd88f5c32193f7dd.rlib -L native=E:\GitHub\_\Minx\target\debug\build\brotli-sys-634ca30154564d93\out -L native=E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build -L E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build` error: future cannot be sent between threads safely --> src\services\http.rs:17:34 | 17 | async fn async_entry (&self) { | __________________________________^ 18 | | let _bind_str = format! ("0.0.0.0:{}", 2233); 19 | | match HttpServer::new (|| { 20 | | App::new () ... | 24 | | }; 25 | | } | |_____^ future returned by `__async_entry` is not `Send` | = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc<[Box<(dyn actix_web::data::DataFactory + 'static)>]>` note: future is not `Send` as this value is used across an await --> src\services\http.rs:22:35 | 19 | match HttpServer::new (|| { | _______________- 20 | | App::new () 21 | | }).bind (&_bind_str [..]) { | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App, actix_web::app_service::AppInit, actix_web::dev::Body>` which is not `Send` 22 | Ok (mut _server) => { _server.run ().await; () }, | ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later 23 | Err (_e) => println! ("http listen failed: {}", _e.to_string ()), 24 | }; | - the value is later dropped here = note: required for the cast to the object type `dyn std::future::Future + std::marker::Send` error: future cannot be sent between threads safely --> src\services\http.rs:17:34 | 17 | async fn async_entry (&self) { | __________________________________^ 18 | | let _bind_str = format! ("0.0.0.0:{}", 2233); 19 | | match HttpServer::new (|| { 20 | | App::new () ... | 24 | | }; 25 | | } | |_____^ future returned by `__async_entry` is not `Send` | = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc<[Box<(dyn Fn() -> Pin, ()>> + 'static)>> + 'static)>]>` note: future is not `Send` as this value is used across an await --> src\services\http.rs:22:35 | 19 | match HttpServer::new (|| { | _______________- 20 | | App::new () 21 | | }).bind (&_bind_str [..]) { | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App, actix_web::app_service::AppInit, actix_web::dev::Body>` which is not `Send` 22 | Ok (mut _server) => { _server.run ().await; () }, | ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later 23 | Err (_e) => println! ("http listen failed: {}", _e.to_string ()), 24 | }; | - the value is later dropped here = note: required for the cast to the object type `dyn std::future::Future + std::marker::Send` error: future cannot be sent between threads safely --> src\services\http.rs:17:34 | 17 | async fn async_entry (&self) { | __________________________________^ 18 | | let _bind_str = format! ("0.0.0.0:{}", 2233); 19 | | match HttpServer::new (|| { 20 | | App::new () ... | 24 | | }; 25 | | } | |_____^ future returned by `__async_entry` is not `Send` | = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc>>>` note: future is not `Send` as this value is used across an await --> src\services\http.rs:22:35 | 19 | match HttpServer::new (|| { | _______________- 20 | | App::new () 21 | | }).bind (&_bind_str [..]) { | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App, actix_web::app_service::AppInit, actix_web::dev::Body>` which is not `Send` 22 | Ok (mut _server) => { _server.run ().await; () }, | ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later 23 | Err (_e) => println! ("http listen failed: {}", _e.to_string ()), 24 | }; | - the value is later dropped here = note: required for the cast to the object type `dyn std::future::Future + std::marker::Send` error: future cannot be sent between threads safely --> src\services\http.rs:17:34 | 17 | async fn async_entry (&self) { | __________________________________^ 18 | | let _bind_str = format! ("0.0.0.0:{}", 2233); 19 | | match HttpServer::new (|| { 20 | | App::new () ... | 24 | | }; 25 | | } | |_____^ future returned by `__async_entry` is not `Send` | = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc>>` note: future is not `Send` as this value is used across an await --> src\services\http.rs:22:35 | 19 | match HttpServer::new (|| { | _______________- 20 | | App::new () 21 | | }).bind (&_bind_str [..]) { | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App, actix_web::app_service::AppInit, actix_web::dev::Body>` which is not `Send` 22 | Ok (mut _server) => { _server.run ().await; () }, | ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later 23 | Err (_e) => println! ("http listen failed: {}", _e.to_string ()), 24 | }; | - the value is later dropped here = note: required for the cast to the object type `dyn std::future::Future + std::marker::Send` error: future cannot be sent between threads safely --> src\services\http.rs:17:34 | 17 | async fn async_entry (&self) { | __________________________________^ 18 | | let _bind_str = format! ("0.0.0.0:{}", 2233); 19 | | match HttpServer::new (|| { 20 | | App::new () ... | 24 | | }; 25 | | } | |_____^ future returned by `__async_entry` is not `Send` | = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `Rc>` note: future is not `Send` as this value is used across an await --> src\services\http.rs:22:35 | 19 | match HttpServer::new (|| { | _______________- 20 | | App::new () 21 | | }).bind (&_bind_str [..]) { | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App, actix_web::app_service::AppInit, actix_web::dev::Body>` which is not `Send` 22 | Ok (mut _server) => { _server.run ().await; () }, | ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later 23 | Err (_e) => println! ("http listen failed: {}", _e.to_string ()), 24 | }; | - the value is later dropped here = note: required for the cast to the object type `dyn std::future::Future + std::marker::Send` error: future cannot be sent between threads safely --> src\services\http.rs:17:34 | 17 | async fn async_entry (&self) { | __________________________________^ 18 | | let _bind_str = format! ("0.0.0.0:{}", 2233); 19 | | match HttpServer::new (|| { 20 | | App::new () ... | 24 | | }; 25 | | } | |_____^ future returned by `__async_entry` is not `Send` | = help: the trait `std::marker::Send` is not implemented for `(dyn MessageBody + Unpin + 'static)` note: future is not `Send` as this value is used across an await --> src\services\http.rs:22:35 | 19 | match HttpServer::new (|| { | _______________- 20 | | App::new () 21 | | }).bind (&_bind_str [..]) { | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App, actix_web::app_service::AppInit, actix_web::dev::Body>` which is not `Send` 22 | Ok (mut _server) => { _server.run ().await; () }, | ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later 23 | Err (_e) => println! ("http listen failed: {}", _e.to_string ()), 24 | }; | - the value is later dropped here = note: required for the cast to the object type `dyn std::future::Future + std::marker::Send` error: future cannot be sent between threads safely --> src\services\http.rs:17:34 | 17 | async fn async_entry (&self) { | __________________________________^ 18 | | let _bind_str = format! ("0.0.0.0:{}", 2233); 19 | | match HttpServer::new (|| { 20 | | App::new () ... | 24 | | }; 25 | | } | |_____^ future returned by `__async_entry` is not `Send` | = help: the trait `std::marker::Send` is not implemented for `(dyn std::any::Any + 'static)` note: future is not `Send` as this value is used across an await --> src\services\http.rs:22:35 | 19 | match HttpServer::new (|| { | _______________- 20 | | App::new () 21 | | }).bind (&_bind_str [..]) { | |__________- has type `HttpServer<[closure@src\services\http.rs:19:32: 21:10], App, actix_web::app_service::AppInit, actix_web::dev::Body>` which is not `Send` 22 | Ok (mut _server) => { _server.run ().await; () }, | ^^^^^^^^^^^^^^^^^^^^ await occurs here, with the value maybe used later 23 | Err (_e) => println! ("http listen failed: {}", _e.to_string ()), 24 | }; | - the value is later dropped here = note: required for the cast to the object type `dyn std::future::Future + std::marker::Send` error: aborting due to 7 previous errors error: could not compile `minx` Caused by: process didn't exit successfully: `rustc --crate-name minx --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=79fa729978b18445 --out-dir E:\GitHub\_\Minx\target\debug\deps -C incremental=E:\GitHub\_\Minx\target\debug\incremental -L dependency=E:\GitHub\_\Minx\target\debug\deps --extern actix=E:\GitHub\_\Minx\target\debug\deps\libactix-ac0b0924fe535a6e.rlib --extern actix_web=E:\GitHub\_\Minx\target\debug\deps\libactix_web-5982602c8341b800.rlib --extern actix_web_actors=E:\GitHub\_\Minx\target\debug\deps\libactix_web_actors-6031667e7ab26ef4.rlib --extern async_std=E:\GitHub\_\Minx\target\debug\deps\libasync_std-85302f03ebbe7733.rlib --extern async_trait=E:\GitHub\_\Minx\target\debug\deps\async_trait-fb11d953e5565a14.dll --extern chrono=E:\GitHub\_\Minx\target\debug\deps\libchrono-80c3605d5f62f906.rlib --extern serde=E:\GitHub\_\Minx\target\debug\deps\libserde-d556fcd1453ddced.rlib --extern serde_json=E:\GitHub\_\Minx\target\debug\deps\libserde_json-cd88f5c32193f7dd.rlib -L native=E:\GitHub\_\Minx\target\debug\build\brotli-sys-634ca30154564d93\out -L native=E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build -L E:\GitHub\_\Minx\target\debug\build\wepoll-sys-9c33d0728a36189a\out\wepoll-build` (exit code: 1) E:\GitHub\_\Minx> ```

is that my question?

camelid commented 3 years ago

Should I-prioritize be removed given that all this needs is a test?

camelid commented 3 years ago

I believe this still needs a test?

jackh726 commented 10 months ago

Given that this has been fixed for 3 years and nobody has added a test for this, I've going to close this.