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

ICE when compiling noise-rs on nightly (rustc 1.31.0-nightly (424a749a0 2018-10-21)) #55273

Closed
nstoddard opened this issue Oct 22, 2018 · 2 comments

Comments

@nstoddard
Copy link

nstoddard commented Oct 22, 2018

To repro:

git clone https://github.com/Razaekel/noise-rs
    (Also reproducible with the version on crates.io)
cd noise-rs/
cargo build
thread 'main' panicked at 'assertion failed: !impl_self_ty.has_infer_types()', librustc_mir/borrow_check/nll/type_check/mod.rs:1033:21
stack backtrace:                                                                                         
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace                                          
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49                                            
   1: std::sys_common::backtrace::print                                                                  
             at libstd/sys_common/backtrace.rs:71                                                        
             at libstd/sys_common/backtrace.rs:59                                                        
   2: std::panicking::default_hook::{{closure}}                                                          
             at libstd/panicking.rs:211                                                                  
   3: std::panicking::default_hook                                                                       
             at libstd/panicking.rs:227                                                                  
   4: rustc::util::common::panic_hook                                                                    
   5: std::panicking::rust_panic_with_hook                                                               
             at libstd/panicking.rs:480                                                                  
   6: std::panicking::begin_panic                                                                        
   7: rustc_mir::borrow_check::nll::type_check::TypeChecker::relate_type_and_user_type                   
   8: <rustc_mir::borrow_check::nll::type_check::TypeVerifier<'a, 'b, 'gcx, 'tcx> as rustc::mir::visit::Visitor<'tcx>>::visit_constant
   9: <rustc_mir::borrow_check::nll::type_check::TypeVerifier<'a, 'b, 'gcx, 'tcx> as rustc::mir::visit::Visitor<'tcx>>::visit_mir
  10: rustc_mir::borrow_check::nll::type_check::type_check_internal                                      
  11: rustc::ty::context::tls::with_related_context                                                      
  12: rustc::infer::InferCtxtBuilder::enter                                                              
  13: <rustc_mir::borrow_check::nll::type_check::TypeckMir as rustc_mir::transform::MirPass>::run_pass   
  14: rustc_mir::transform::mir_const::{{closure}}                                                       
  15: rustc_mir::transform::mir_const                                                                    
  16: rustc::ty::query::__query_compute::mir_const                                                       
  17: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors<'tcx> for rustc::ty::query::queries::mir_const<'tcx>>::compute
  18: rustc::ty::context::tls::with_context                                                              
  19: rustc::dep_graph::graph::DepGraph::with_task_impl                                                  
  20: rustc::ty::context::tls::with_related_context                                                      
  21: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::force_query_with_job
  22: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::get_query           
  23: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::mir_const                     
  24: rustc_mir::transform::mir_validated                                                                
  25: rustc::ty::query::__query_compute::mir_validated                                                   
  26: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors<'tcx> for rustc::ty::query::queries::mir_validated<'tcx>>::compute
  27: rustc::ty::context::tls::with_context                                                              
  28: rustc::dep_graph::graph::DepGraph::with_task_impl                                                  
  29: rustc::ty::context::tls::with_related_context                                                      
  30: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::force_query_with_job
  31: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::get_query           
  32: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::ensure_query        
  33: rustc_borrowck::borrowck::borrowck                                                                 
  34: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors<'tcx> for rustc::ty::query::queries::borrowck<'tcx>>::compute
  35: rustc::ty::context::tls::with_context                                                              
  36: rustc::dep_graph::graph::DepGraph::with_task_impl                                                  
  37: rustc::ty::context::tls::with_related_context                                                      
  38: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::force_query_with_job
  39: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::get_query           
  40: rustc::ty::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::par_body_owners                      
  41: rustc_borrowck::borrowck::check_crate                                                              
  42: rustc::util::common::time                                                                          
  43: rustc::ty::context::tls::enter_context                                                             
  44: <std::thread::local::LocalKey<T>>::with                                                            
  45: rustc::ty::context::TyCtxt::create_and_enter                                                       
  46: rustc_driver::driver::compile_input                                                                
  47: rustc_driver::run_compiler_with_pool                                                               
  48: rustc_driver::driver::spawn_thread_pool                                                            
  49: rustc_driver::run_compiler                                                                         
  50: <scoped_tls::ScopedKey<T>>::set                                                                    
  51: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once                    
  52: __rust_maybe_catch_panic                                                                           
             at libpanic_unwind/lib.rs:102                                                               
  53: rustc_driver::run                                                                                  
  54: rustc_driver::main                                                                                 
  55: std::rt::lang_start::{{closure}}                                                                   
  56: std::panicking::try::do_call                                                                       
             at libstd/rt.rs:59                                                                          
             at libstd/panicking.rs:310                                                                  
  57: __rust_maybe_catch_panic                                                                           
             at libpanic_unwind/lib.rs:102                                                               
  58: std::rt::lang_start_internal                                                                       
             at libstd/panicking.rs:289                                                                  
             at libstd/panic.rs:392                                                                      
             at libstd/rt.rs:58                                                                          
  59: main                                                                                               
  60: __libc_start_main                                                                                  
  61: <unknown>                                                                                          
query stack during panic:                                                                                
#0 [mir_const] processing `<noise_fns::transformers::turbulence::Turbulence<'a, Source>>::new`           
#1 [mir_validated] processing `<noise_fns::transformers::turbulence::Turbulence<'a, Source>>::new`       
#2 [borrowck] processing `<noise_fns::transformers::turbulence::Turbulence<'a, Source>>::new`            
end of query stack                                                                                       
                                                                                                         
error: internal compiler error: unexpected panic                                                         
                                                                                                         
note: the compiler unexpectedly panicked. this is a bug.                                                 
                                                                                                         
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
                                                                                                         
note: rustc 1.31.0-nightly (424a749a0 2018-10-21) running on x86_64-unknown-linux-gnu                    
                                                                                                         
note: compiler flags: -C debuginfo=2 -C incremental --crate-type lib                                     
                                                                                                         
note: some of the compiler flags provided by cargo are hidden

This worked properly when using a nightly build from a couple of weeks ago, and also works fine with the stable version of Rust.

@tmandry
Copy link
Member

tmandry commented Oct 22, 2018

This may be the same as #55219

@tmandry
Copy link
Member

tmandry commented Oct 23, 2018

Duplicate of #55219

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants