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: can't make T_opaque_trait with bare trait store #5883

Closed
kvark opened this issue Apr 14, 2013 · 5 comments
Closed

ICE: can't make T_opaque_trait with bare trait store #5883

kvark opened this issue Apr 14, 2013 · 5 comments
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@kvark
Copy link
Contributor

kvark commented Apr 14, 2013

Got an ICE while porting a big project from 0.5 to 0.6. Rust log says the following:

RUST_LOG=rustc=1,::rt::backtrace rustc engine/engine.rs -L lib --out-dir lib
error: internal compiler error: can't make T_opaque_trait with bare trait store
rust: task failed at 'explicit failure', /build/src/rust-0.6/src/libsyntax/diagnostic.rs:99
/usr/lib/librustrt.so(_ZN9rust_task13begin_failureEPKcS1_m+0x4b)[0x7f74d607664b]
/usr/lib/librustrt.so(+0x2a189)[0x7f74d6087189]
/usr/lib/librustrt.so(upcall_fail+0x198)[0x7f74d60783a8]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x1055db)[0x7f74d927e5db]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x105582)[0x7f74d927e582]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(_ZN3sys12begin_unwind17_61fe198059b9e3fc3_06E+0x71)[0x7f74d91c6651]
/usr/lib/libsyntax-84efebcb12c867a2-0.6.so(_ZN10diagnostic14__extensions__9meth_84585fatal15_c79235bb6437b73_06E+0x196)[0x7f74d8734896]
/usr/lib/libsyntax-84efebcb12c867a2-0.6.so(_ZN10diagnostic14__extensions__9meth_84813bug15_c79235bb6437b73_06E+0x6f)[0x7f74d873502f]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6driver7session14__extensions__10meth_188433bug17_b5f71376f9f489aa3_06E+0x80)[0x7f74d7a99e50]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans6common14T_opaque_trait17_d487fd18f1d421363_06E+0x3f1)[0x7f74d7bb5691]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of14sizing_type_of15_c1bc195eb34bc63_06E+0xb8e)[0x7f74d7bc943e]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x11a75f)[0x7f74d7aa675f]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x34e4b7)[0x7f74d7cda4b7]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans3adt14represent_type17_cff2701782ac89703_06E+0x1789)[0x7f74d7b4c5c9]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x17bd)[0x7f74d7ae736d]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0xf5e)[0x7f74d7ae6b0e]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x11a75f)[0x7f74d7aa675f]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x34f922)[0x7f74d7cdb922]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x34f4ce)[0x7f74d7cdb4ce]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans3adt9fields_of17_ffb4601ba2c964233_06E+0x3f)[0x7f74d7bd09df]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x17ec)[0x7f74d7ae739c]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x738)[0x7f74d7ae62e8]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0xf5e)[0x7f74d7ae6b0e]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x3da)[0x7f74d7ae5f8a]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x11a75f)[0x7f74d7aa675f]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x34f922)[0x7f74d7cdb922]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x34f4ce)[0x7f74d7cdb4ce]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans3adt9fields_of17_ffb4601ba2c964233_06E+0x3f)[0x7f74d7bd09df]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x17ec)[0x7f74d7ae739c]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x738)[0x7f74d7ae62e8]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x11a75f)[0x7f74d7aa675f]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x34f922)[0x7f74d7cdb922]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x34f4ce)[0x7f74d7cdb4ce]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans3adt9fields_of17_ffb4601ba2c964233_06E+0x3f)[0x7f74d7bd09df]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x17ec)[0x7f74d7ae739c]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x91a)[0x7f74d7ae64ca]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans7type_of7type_of15_c1bc195eb34bc63_06E+0x3da)[0x7f74d7ae5f8a]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4expr15trans_local_var17_f79ea779daedaa9f3_06E+0x163)[0x7f74d7b9e5b3]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x20d3f2)[0x7f74d7b993f2]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1f8b22)[0x7f74d7b84b22]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1f6ea0)[0x7f74d7b82ea0]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b8b34)[0x7f74d8244b34]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4expr14trans_to_datum17_e5e293cc226c2b7b3_06E+0x321)[0x7f74d7aee861]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x20cf52)[0x7f74d7b98f52]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1f8b22)[0x7f74d7b84b22]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1f6ea0)[0x7f74d7b82ea0]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4expr14trans_to_datum17_e5e293cc226c2b7b3_06E+0x321)[0x7f74d7aee861]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans6callee14trans_arg_expr16_7c52c158fb4e7943_06E+0x9b3)[0x7f74d7b7f253]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4meth14trans_self_arg17_544359e931bae1b23_06E+0x120)[0x7f74d7c73920]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4meth19trans_method_callee17_63afa2148d7b3f823_06E+0x11f0)[0x7f74d7b65d60]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1e089f)[0x7f74d7b6c89f]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1effe2)[0x7f74d7b7bfe2]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base10with_scope16_42e4eeeae78c8643_06E+0x56e)[0x7f74d7b3910e]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans6callee16trans_call_inner17_c39d6d201e1eca503_06E+0xc2)[0x7f74d7b6c182]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans6callee17trans_method_call17_4be16fc4341e49e93_06E+0x1fa)[0x7f74d7b6c4aa]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1fd2d3)[0x7f74d7b892d3]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1f7171)[0x7f74d7b83171]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4expr14trans_to_datum17_e5e293cc226c2b7b3_06E+0x321)[0x7f74d7aee861]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans6callee14trans_arg_expr16_7c52c158fb4e7943_06E+0x9b3)[0x7f74d7b7f253]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4meth14trans_self_arg17_544359e931bae1b23_06E+0x120)[0x7f74d7c73920]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4meth19trans_method_callee17_63afa2148d7b3f823_06E+0x11f0)[0x7f74d7b65d60]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1e089f)[0x7f74d7b6c89f]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1effe2)[0x7f74d7b7bfe2]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base10with_scope16_42e4eeeae78c8643_06E+0x56e)[0x7f74d7b3910e]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans6callee16trans_call_inner17_c39d6d201e1eca503_06E+0xc2)[0x7f74d7b6c182]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans6callee17trans_method_call17_4be16fc4341e49e93_06E+0x1fa)[0x7f74d7b6c4aa]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x1fd2d3)[0x7f74d7b892d3]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4expr10trans_into16_54d763e594233573_06E+0xe97)[0x7f74d7aeb6c7]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base10init_local15_3c07168daf987d3_06E+0x65f)[0x7f74d7bee32f]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x26461b)[0x7f74d7bf061b]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base10trans_stmt17_2c2aa18584fe5be63_06E+0x5ae)[0x7f74d7aea3fe]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x15d43c)[0x7f74d7ae943c]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans11controlflow11trans_block16_a4e9a67bdd72ccb3_06E+0x19e)[0x7f74d7ae7bae]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b8b34)[0x7f74d8244b34]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base13trans_closure17_85d646a672f846683_06E+0x50e)[0x7f74d7bf96ee]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base8trans_fn17_fe1e7f81b93e452d3_06E+0x3b9)[0x7f74d7aa1449]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4meth12trans_method17_bea14be21fcde8563_06E+0x40d)[0x7f74d7adf21d]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x2e768d)[0x7f74d7c7368d]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4meth10trans_impl16_fe66dbbe5a7fa333_06E+0x14e)[0x7f74d7c0001e]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base10trans_item16_ed7df62f5f126563_06E+0x69d)[0x7f74d7a98a2d]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base9trans_mod17_33f95ffa6ea6f19d3_06E+0xa3)[0x7f74d7c00263]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base10trans_item16_ed7df62f5f126563_06E+0x46e)[0x7f74d7a987fe]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base9trans_mod17_33f95ffa6ea6f19d3_06E+0xa3)[0x7f74d7c00263]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base11trans_crate15_aa5d2b86af98143_06E+0x13c4)[0x7f74d7c1ff14]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x87a290)[0x7f74d8206290]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6driver6driver12compile_rest17_b2b258b84b35f3533_06E+0x331e)[0x7f74d820329e]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b8b34)[0x7f74d8244b34]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6driver6driver12compile_upto17_12335154b455986e3_06E+0x108)[0x7f74d82064a8]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b8b34)[0x7f74d8244b34]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN6driver6driver13compile_input15_bb29edf7a232863_06E+0xca)[0x7f74d82068ea]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN12run_compiler17_64d52739a36d169c3_06E+0x20aa)[0x7f74d8235fca]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b6601)[0x7f74d8242601]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b2e2c)[0x7f74d823ee2c]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b8b34)[0x7f74d8244b34]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(+0xce08e)[0x7f74d924708e]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x14dcb4)[0x7f74d92c6cb4]
/usr/lib/librustrt.so(_Z18task_start_wrapperP10spawn_args+0x24)[0x7f74d6076e64]
rust: task failed at 'explicit failure', /build/src/rust-0.6/src/librustc/rustc.rc:357
/usr/lib/librustrt.so(_ZN9rust_task13begin_failureEPKcS1_m+0x4b)[0x7f74d607664b]
/usr/lib/librustrt.so(+0x2a189)[0x7f74d6087189]
/usr/lib/librustrt.so(upcall_fail+0x198)[0x7f74d60783a8]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x1055db)[0x7f74d927e5db]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x105582)[0x7f74d927e582]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(_ZN3sys12begin_unwind17_61fe198059b9e3fc3_06E+0x71)[0x7f74d91c6651]
/usr/lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x14dcb4)[0x7f74d92c6cb4]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN7monitor17_78935df9ff9e1afa3_06E+0x1577)[0x7f74d82385f7]
/usr/lib/librustc-c84825241471686d-0.6.so(+0x8b8b34)[0x7f74d8244b34]
/usr/lib/librustc-c84825241471686d-0.6.so(_ZN4main15_c4de63b748e03d3_06E+0x7e)[0x7f74d824474e]
/usr/lib/librustrt.so(_Z18task_start_wrapperP10spawn_args+0x24)[0x7f74d6076e64]
rust: domain main @0x23743c0 root task failed
make: *** [engine-code] Error 101

@kvark
Copy link
Contributor Author

kvark commented Apr 15, 2013

I was able to procude a simple testcase:
trait Curve {}
enum E {X(Curve)}
fn main() {}

Now I see why this is wrong, it would be nice to have a proper error message for this case.

@euphoris
Copy link

a similar case:

struct Struct {
    r: io::Reader
}

fn new_struct(r: io::Reader) -> Struct {
    Struct { r: r }
}

@nikomatsakis
Copy link
Contributor

Can you re-test this with incoming? That particular ICE is no longer
relevant, but there may be some similar bug that occurs.

catamorphism added a commit to catamorphism/rust that referenced this issue Jul 17, 2013
@catamorphism
Copy link
Contributor

This is fixed. Added a test case in #7863 -- this can close when it lands.

@ghost ghost assigned catamorphism Jul 17, 2013
@catamorphism
Copy link
Contributor

Forgot to close this. Closing now.

flip1995 pushed a commit to flip1995/rust that referenced this issue Aug 11, 2020
Rollup of 5 pull requests

Successful merges:

 - rust-lang#5825 (Add the new lint `same_item_push`)
 - rust-lang#5869 (New lint against `Self` as an arbitrary self type)
 - rust-lang#5870 (enable #[allow(clippy::unsafe_derive_deserialize)])
 - rust-lang#5871 (Lint .min(x).max(y) with x < y)
 - rust-lang#5874 (Make the docs clearer for new contributors)

Failed merges:

r? @ghost

changelog: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

No branches or pull requests

4 participants