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: substs.types.all(|t| !ty::type_needs_infer(*t)) #15924

Closed
tomaka opened this issue Jul 23, 2014 · 5 comments · Fixed by #17721
Closed

ICE: substs.types.all(|t| !ty::type_needs_infer(*t)) #15924

tomaka opened this issue Jul 23, 2014 · 5 comments · Fixed by #17721
Labels
E-needs-test Call for participation: Writing correctness tests. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@tomaka
Copy link
Contributor

tomaka commented Jul 23, 2014

I didn't manage to reproduce the ICE on a small scale so it's unlikely to be fixed, but I was advised to report it anyawy.
This code triggers it: https://github.com/tomaka/rust-hl-lua/blob/1d1a2a462889d32caf6cb2d721913505019b274f/rust-hl-lua/tests/lua_tables_tests.rs#L55 and more precisely the function call at line 67.
Coming from this commit: tomaka/hlua@1d1a2a4

error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'assertion failed: substs.types.all(|t| !ty::type_needs_infer(*t))', C:\bot\slave\nightly-win\build\src\librustc\middle\trans\callee.rs:447

Using version: rustc 0.12.0-pre-nightly (f15d6d28396e8700b6c3f2704204a2769e710403 2014-07-20 22:46:29 +0000) but also happens with today's nightly.

#0  0x61f88160 in rust_fail ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#1  0x61f889e1 in unwind::begin_unwind_inner::h7a54caf5213ba80fnJd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#2  0x61f884c5 in unwind::begin_unwind_fmt::h01b05777559c9dc8QGd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#3  0x712f6a06 in _fu5933___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#4  0x7130304a in _fu5943___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#5  0x7130234d in middle::trans::callee::trans_method_call::closure.$x22closure$
x22$LP$116246$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#6  0x712fdb1a in middle::trans::callee::trans_call_inner::h20b4c466f2e2d69dtl0
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#7  0x7130202e in _fu5942___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#8  0x7131232f in _fu1057___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#9  0x712d3819 in _fu5896___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#10 0x712d3c88 in middle::trans::controlflow::trans_block::h2d021b5507f51dd2zvX
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#11 0x7138588f in _fu4367___ZN6option15Option$LT$T$GT$6unwrap15__STATIC_FMTSTR20
hffe20199f09050f08XlE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#12 0x712c7580 in _fu5881___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#13 0x712c9477 in _fu5886___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#14 0x712f86ca in _fu12510___ZN3ast11LOCAL_CRATE20h8b0874fed4c97fd2sscE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#15 0x712f42a6 in _fu5926___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#16 0x7130361c in _fu1039___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#17 0x7130234d in middle::trans::callee::trans_method_call::closure.$x22closure$
x22$LP$116246$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#18 0x712fdb1a in middle::trans::callee::trans_call_inner::h20b4c466f2e2d69dtl0
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#19 0x7130202e in _fu5942___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#20 0x7131232f in _fu1057___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#21 0x713113cd in _fu5962___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#22 0x712d4d31 in _fu5898___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#23 0x7130ab8e in _fu5945___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#24 0x712fec3d in _fu1036___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#25 0x71300f9c in middle::trans::callee::trans_call::hb3aeadc845b17dd1Bf0 ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#26 0x71312d51 in _fu1057___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#27 0x712d3819 in _fu5896___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#28 0x712d3c88 in middle::trans::controlflow::trans_block::h2d021b5507f51dd2zvX
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#29 0x713128ca in _fu1057___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#30 0x712d3819 in _fu5896___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#31 0x712d3c88 in middle::trans::controlflow::trans_block::h2d021b5507f51dd2zvX
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#32 0x7138588f in _fu4367___ZN6option15Option$LT$T$GT$6unwrap15__STATIC_FMTSTR20
hffe20199f09050f08XlE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#33 0x712c7580 in _fu5881___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#34 0x712c9477 in _fu5886___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#35 0x712e95aa in middle::trans::base::get_res_dtor::h0357f32c8b4da87eMYa ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#36 0x712e8da9 in middle::trans::glue::trans_struct_drop::h6ed7a9400bccd710seY
    () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#37 0x712e8cd9 in middle::trans::glue::trans_struct_drop_flag::closure.$x22closu
re$x22$LP$115891$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#38 0x712e8ab2 in middle::trans::base::with_cond::h220625d17364ec509Rb ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#39 0x712e3449 in middle::trans::glue::make_drop_glue::as_closure.$x22as_closure
$x22$LP$115857$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#40 0x712e26b3 in _fu1001___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#41 0x712deb48 in _fu9568___ZN11collections7hashmap5table25RawTable$LT$K$C$$x20V
$GT$8read_mut15__STATIC_FMTSTR20h462dfb1b412718adsKdE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#42 0x712de085 in middle::trans::glue::drop_ty::h266c17d6e39361fdr2X ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#43 0x712ec288 in middle::trans::glue::drop_ty::as_closure.$x22as_closure$x22$LP
$115905$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#44 0x7137bbe9 in middle::trans::base::iter_structural_ty::closure.$x22closure$x
22$LP$118789$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#45 0x7137b57f in middle::trans::expr::with_field_tys::h4800781833716766930 ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#46 0x712dd740 in _fu113___ZN6to_str10T.ToString9to_string15__STATIC_FMTSTR20h83
aa1203d6cb8660GtdE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#47 0x712e3524 in middle::trans::glue::make_drop_glue::as_closure.$x22as_closure
$x22$LP$115857$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#48 0x712e26b3 in _fu1001___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#49 0x712deb48 in _fu9568___ZN11collections7hashmap5table25RawTable$LT$K$C$$x20V
$GT$8read_mut15__STATIC_FMTSTR20h462dfb1b412718adsKdE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#50 0x712de085 in middle::trans::glue::drop_ty::h266c17d6e39361fdr2X ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#51 0x7140bc43 in middle::trans::cleanup::DropValue.Cleanup::trans::hca814b95bd1
f644cEJv () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#52 0x712eb648 in _fu5920___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#53 0x71325263 in _fu1071___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#54 0x713127ef in _fu1057___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#55 0x712d3819 in _fu5896___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#56 0x712d3c88 in middle::trans::controlflow::trans_block::h2d021b5507f51dd2zvX
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#57 0x7138588f in _fu4367___ZN6option15Option$LT$T$GT$6unwrap15__STATIC_FMTSTR20
hffe20199f09050f08XlE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#58 0x712c7580 in _fu5881___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#59 0x712c9477 in _fu5886___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#60 0x712f86ca in _fu12510___ZN3ast11LOCAL_CRATE20h8b0874fed4c97fd2sscE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#61 0x712f42a6 in _fu5926___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#62 0x7130361c in _fu1039___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#63 0x7130234d in middle::trans::callee::trans_method_call::closure.$x22closure$
x22$LP$116246$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#64 0x712fdb1a in middle::trans::callee::trans_call_inner::h20b4c466f2e2d69dtl0
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#65 0x7130202e in _fu5942___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#66 0x7131232f in _fu1057___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#67 0x712d3819 in _fu5896___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#68 0x713b0f93 in middle::trans::_match::store_local::closure.$x22closure$x22$LP
$119671$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#69 0x713b0d8e in middle::trans::_match::mk_binding_alloca::h2490206202892912485
 () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#70 0x7137e972 in middle::trans::_match::store_local::h4e2712edda5d1373X1f ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#71 0x712d2ce4 in _fu5891___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#72 0x712d2387 in _fu5888___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#73 0x712d3b9f in middle::trans::controlflow::trans_block::h2d021b5507f51dd2zvX
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#74 0x713128ca in _fu1057___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#75 0x712d3819 in _fu5896___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#76 0x712d2aeb in middle::trans::controlflow::trans_stmt_semi::h28d92f9239ce1c01
GuX () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#77 0x712d233c in _fu5888___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#78 0x712d3b9f in middle::trans::controlflow::trans_block::h2d021b5507f51dd2zvX
() from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#79 0x7138588f in _fu4367___ZN6option15Option$LT$T$GT$6unwrap15__STATIC_FMTSTR20
hffe20199f09050f08XlE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#80 0x712c7580 in _fu5881___ZN9LOG_LEVEL20h2c6669d829f5eb70diaE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#81 0x712c2b4c in _fu984___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#82 0x71393b8f in _fu1170___ZN3vec10PTR_MARKER20h60648f9cc4039f69MIhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#83 0x717a0c6a in driver::driver::phase_4_translate_to_llvm::h12f5f905b2f00782Ew
w () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#84 0x71799b42 in _fu4184___ZN4cell29Ref$LT$$x27b$C$$x20T$GT$.Drop4drop15__STATI
C_FMTSTR20hffe20199f09050f0xXiE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#85 0x7183594e in _fu10835___ZN4cell32RefMut$LT$$x27b$C$$x20T$GT$.Drop4drop15__S
TATIC_FMTSTR20hffe20199f09050f0O1iE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#86 0x71832ecd in driver::main_args::closure.$x22closure$x22$LP$138162$RP$ ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#87 0x7184513e in task::TaskBuilder$LT$S$GT$::try_future::closure.$x22closure$x2
2$LP$139306$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#88 0x71845052 in task::TaskBuilder$LT$S$GT$::spawn_internal::closure.$x22closur
e$x22$LP$139283$RP$ () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#89 0x70c302d8 in task::spawn_opts::closure.$x22closure$x22$LP$8576$RP$ ()
   from C:\Compilation\Rust\bin\native-4e7c5e5c.dll
#90 0x61f88155 in unwind::try::try_fn::h80bb492dcf4c56a89zd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#91 0x61fe73d6 in rust_try () from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#92 0x61f85ea7 in unwind::try::h5714bc63c9a49386Mxd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#93 0x61f85c3a in task::Task::run::hcf004b60995450e6cYc ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#94 0x70c30177 in task::spawn_opts::closure.$x22closure$x22$LP$8522$RP$ ()
   from C:\Compilation\Rust\bin\native-4e7c5e5c.dll
#95 0x61f87caf in thread::thread_start::h33ae9c533599efbeKkd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#96 0x7703338a in KERNEL32!BaseThreadInitThunk ()
   from C:\Windows\syswow64\kernel32.dll
#97 0x77689f72 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#98 0x77689f45 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#99 0x00000000 in ?? ()
@pnkfelix
Copy link
Member

cc me

@ArtemGr
Copy link
Contributor

ArtemGr commented Aug 13, 2014

I have encountered this error

task 'rustc' failed at 'assertion failed: substs.types.all(|t| !ty::type_needs_infer(*t))', /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/librustc/middle/trans/callee.rs:448

on a relatively simple program: http://pastebin.com/x7VXrPTS

The error is triggered by

          request.respond (tiny_http::Response::new (
            tiny_http::StatusCode (500),
            std::vec::Vec::new(),  // Vec<Header>
            std::io::BufReader::new ("Rendering error.".as_bytes()),
            None, None
          ));

The build script is http://pastebin.com/5ukaG81S
Full error message: http://pastebin.com/G1C7QS4k
rustc 0.12.0-pre-nightly (9dcf895 2014-08-12 00:26:13 +0000)

@ftxqxd
Copy link
Contributor

ftxqxd commented Aug 23, 2014

I encountered this bug today. I've managed to simplify it somewhat, but it still relies on using another crate (serialize):

#![feature(unsafe_destructor)]

extern crate serialize;

use std::io::IoError;
use serialize::{Encoder, Encodable};
use serialize::json;

struct Foo<T> {
    v: T,
}

#[unsafe_destructor]
impl<'a, T: Encodable<json::Encoder<'a>, IoError>> Drop for Foo<T> {
    fn drop(&mut self) {
        json::encode(&self.v);
    }
}

fn main() {
    let _ = Foo { v: 10i };
}

@ftxqxd
Copy link
Contributor

ftxqxd commented Aug 31, 2014

My test case above no longer triggers this error because of the new inference scheme. I would suspect that this issue has been fixed, but I can’t test the other cases at the moment.

@tomaka
Copy link
Contributor Author

tomaka commented Aug 31, 2014

Fixed for me too!

bors added a commit to rust-lang-ci/rust that referenced this issue Nov 27, 2023
internal: Remove debugging code in path resolution

Closes rust-lang#15924
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-needs-test Call for participation: Writing correctness tests. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants