Closed
Description
These two files cause an ICE:
// foo.rs
#[link(name = "foo", vers = "1.0")];
#[crate_type = "lib"];
pub trait Greeter {
pub fn greet(&self);
}
pub struct NumberGreeter {
a: int
}
impl Greeter for NumberGreeter {
fn greet(&self) { std::io::println(fmt!("Hello, %i!", self.a)); }
}
// test.rs
extern mod foo;
fn main() {
let g = foo::NumberGreeter { a: 3 };
foo::Greeter::greet(g);
}
Output:
$ rustc foo.rs
$ RUST_LOG=rustc=1,::rt::backtrace rustc test.rs -L .
rust: ~"failed to find block with tag 12"
rust: task failed at 'explicit failure', /build/rust-incoming-git/src/rust/src/libextra/ebml.rs:204
/usr/lib/librustrt.so(_ZN9rust_task13begin_failureEPKcS1_m+0x4b)[0x7f89fda04bcb]
/usr/lib/librustrt.so(+0x2b081)[0x7f89fda16081]
/usr/lib/librustrt.so(upcall_fail+0x198)[0x7f89fda06bc8]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(_ZN3sys13begin_unwind_17_bdd0fd58907ecc496_07preE+0x366)[0x7f89ffdff0c6]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x1c2992)[0x7f89ffdff992]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x1c2941)[0x7f89ffdff941]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x7e656)[0x7f89ffcbb656]
/usr/lib/libextra-4782a756585a81-0.7-pre.so(_ZN4ebml6reader7get_doc16_773f51e14cfb1cf6_07preE+0x2c0)[0x7f89ff7baef0]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0xd1f13e)[0x7f89fe95913e]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN8metadata7decoder9item_type17_ec3419b7806188186_07preE+0x9b)[0x7f89fe95985b]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN8metadata7decoder8get_type16_c2228267d7a1e5d6_07preE+0xda)[0x7f89fe95f60a]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN8metadata7csearch8get_type17_6e1364c78614b9176_07preE+0x16d)[0x7f89fde6ee3d]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x524f1e)[0x7f89fe15ef1e]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle2ty16lookup_item_type17_6e1364c78614b9176_07preE+0x6d9)[0x7f89fdd87789]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check30ty_param_bounds_and_ty_for_def17_866090de7172cb286_07preE+0x316)[0x7f89fe3beec6]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check23check_expr_with_unifier17_7c7049a11bf1107d6_07preE+0xa18d)[0x7f89fe3823ed]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check10check_expr17_7e31961a3c21a4596_07preE+0xb7)[0x7f89fe3a46f7]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check23check_expr_with_unifier17_7c7049a11bf1107d6_07preE+0x53e7)[0x7f89fe37d647]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check10check_expr17_7e31961a3c21a4596_07preE+0xb7)[0x7f89fe3a46f7]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check10check_stmt16_ebe5585d7823b456_07preE+0x2dd)[0x7f89fe3c7b8d]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x78f94a)[0x7f89fe3c994a]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x1b9dfb)[0x7f89fddf3dfb]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x78e669)[0x7f89fe3c8669]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check25check_block_with_expected17_8c2cc7ba3f33507c6_07preE+0x32e)[0x7f89fe32e96e]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check8check_fn17_cad51265fe34e7166_07preE+0x1b56)[0x7f89fe32d466]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check13check_bare_fn15_7fcb80fdd13b3d6_07preE+0x1f4)[0x7f89fe32b3b4]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check10check_item17_652b98865639a38f6_07preE+0x9b8)[0x7f89fe329e18]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x6ef2b9)[0x7f89fe3292b9]
/usr/lib/libsyntax-db358e1e4f18873e-0.7-pre.so(+0x1409f8)[0x7f89ff03e9f8]
/usr/lib/libsyntax-db358e1e4f18873e-0.7-pre.so(+0xedc9e)[0x7f89fefebc9e]
/usr/lib/libsyntax-db358e1e4f18873e-0.7-pre.so(+0x7bc6b)[0x7f89fef79c6b]
/usr/lib/libsyntax-db358e1e4f18873e-0.7-pre.so(+0xedb08)[0x7f89fefebb08]
/usr/lib/libsyntax-db358e1e4f18873e-0.7-pre.so(+0x14031d)[0x7f89ff03e31d]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x367aec)[0x7f89fdfa1aec]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck5check16check_item_types17_61ca3b4993c45ec46_07preE+0x434)[0x7f89fe329074]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x91973e)[0x7f89fe55373e]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0x91934d)[0x7f89fe55334d]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6middle6typeck11check_crate15_9ba0502a48787d6_07preE+0x2de)[0x7f89fe55008e]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6driver6driver12compile_rest17_e22d716d87a8ddff6_07preE+0x1885)[0x7f89fe9989c5]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6driver6driver12compile_upto15_ca4bfd79cad62b6_07preE+0x1a5)[0x7f89fe99eaf5]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN6driver6driver13compile_input17_ec2c213e98ad63496_07preE+0x105)[0x7f89fe99ef85]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN12run_compiler17_af5fd37f675e80386_07preE+0x5fcd)[0x7f89fe9e2ecd]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0xdd133e)[0x7f89fea0b33e]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0xdcdbd6)[0x7f89fea07bd6]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0xdbf58c)[0x7f89fe9f958c]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0xdd1614)[0x7f89fea0b614]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x16c3c2)[0x7f89ffda93c2]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x24ad8c)[0x7f89ffe87d8c]
/usr/lib/librustrt.so(_Z18task_start_wrapperP10spawn_args+0x22)[0x7f89fda05542]
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug
note: try running with RUST_LOG=rustc=1,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues
rust: task failed at 'explicit failure', /build/rust-incoming-git/src/rust/src/librustc/rustc.rc:400
/usr/lib/librustrt.so(_ZN9rust_task13begin_failureEPKcS1_m+0x4b)[0x7f89fda04bcb]
/usr/lib/librustrt.so(+0x2b081)[0x7f89fda16081]
/usr/lib/librustrt.so(upcall_fail+0x198)[0x7f89fda06bc8]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(_ZN3sys13begin_unwind_17_bdd0fd58907ecc496_07preE+0x366)[0x7f89ffdff0c6]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x1c2992)[0x7f89ffdff992]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x1c2941)[0x7f89ffdff941]
/usr/lib/libstd-c3ca5d77d81b46c1-0.7-pre.so(+0x7e656)[0x7f89ffcbb656]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN7monitor17_e75279d14384c68f6_07preE+0x15e7)[0x7f89fe9e5867]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(+0xdd1614)[0x7f89fea0b614]
/usr/lib/librustc-e786add3fc752ef5-0.7-pre.so(_ZN4main17_97e178e84d833ffa6_07preE+0x75)[0x7f89fea0b275]
rustc(_rust_main+0x2e)[0x400bfe]
/usr/lib/librustrt.so(_Z18task_start_wrapperP10spawn_args+0x22)[0x7f89fda05542]
rust: domain main @0x21a0c80 root task failed