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

Compiler error, nightly #32696

Closed
ktff opened this issue Apr 3, 2016 · 6 comments
Closed

Compiler error, nightly #32696

ktff opened this issue Apr 3, 2016 · 6 comments
Labels
A-metadata Area: Crate metadata I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-nightly Performance or correctness regression from stable to nightly.

Comments

@ktff
Copy link

ktff commented Apr 3, 2016

While running cargo build with nightly (2016-04-01) rustc panics with error:
ERROR:rbml::reader: failed to find block with tag 32
which originates in rust/src/librbml/lib.rs:437.

Nightly Rust from ~8 days didn't panic.

Funny how ::imp:: shows in backtrace.

Edit:
It will take some time to reduce all relevant code to some manageable example.

Meta

rustc --version --verbose:

rustc 1.9.0-nightly (c8b8eb1fd 2016-04-01)
binary: rustc
commit-hash: c8b8eb1fda90998832ba1cdf96a34dc676f7124b
commit-date: 2016-04-01
host: x86_64-unknown-linux-gnu
release: 1.9.0-nightly

Backtrace:

ERROR:rbml::reader: failed to find block with tag 32
error: internal compiler error: unexpected panic
thread 'rustc' panicked at 'explicit panic', ../src/librbml/lib.rs:437
stack backtrace:
   1:     0x7fc9e1bbd2c0 - std::sys::backtrace::tracing::imp::write::hc787ac7b725fc252
   2:     0x7fc9e1bca98b - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::hff309ab1d83ffd90
   3:     0x7fc9e1bca527 - std::panicking::default_hook::h08ad3bb09872855b
   4:     0x7fc9e1b8e2bf - std::sys_common::unwind::begin_unwind_inner::hfa66df7b3e69707e
   5:     0x7fc9d8d0abff - std::sys_common::unwind::begin_unwind::h422885d31fe250dc
   6:     0x7fc9d8d088c6 - rbml::reader::get_doc::hf96062258c695953
   7:     0x7fc9e0c9a8eb - rustc_metadata::decoder::item_name::h937d5af7cabdc0db
   8:     0x7fc9e0ce1c8b - rustc_metadata::csearch::_<impl rustc..middle..cstore..CrateStore<'tcx> for cstore..CStore>::item_name::h6797a808760c2731
   9:     0x7fc9dbb52747 - rustc::ty::item_path::_<impl ty..context..TyCtxt<'tcx>>::push_item_path::hac1b9fe02a3c37ed
  10:     0x7fc9dbb52e80 - rustc::ty::item_path::_<impl ty..context..TyCtxt<'tcx>>::push_item_path::hac1b9fe02a3c37ed
  11:     0x7fc9dba558fd - rustc::ty::item_path::_<impl ty..context..TyCtxt<'tcx>>::item_path_str::h94bec330b9844a26
  12:     0x7fc9e0862bd8 - rustc_trans::type_of::llvm_type_name::h8232cc541b66c2fa
  13:     0x7fc9e073acda - rustc_trans::type_of::in_memory_type_of::h39ed35af1c9bd3c0
  14:     0x7fc9e07d77bf - rustc_trans::consts::get_static::ha556e7f1f5a5c12b
  15:     0x7fc9e07c495b - rustc_trans::expr::trans_var::h9e834a8c15e86835
  16:     0x7fc9e0803315 - rustc_trans::expr::trans_unadjusted::h1c3be1e5aa61621c
  17:     0x7fc9e07bb599 - rustc_trans::expr::trans::h542fffcc984b03b8
  18:     0x7fc9e07ba2fe - rustc_trans::callee::trans_args::h37f20c0adfb653a6
  19:     0x7fc9e0752cf2 - rustc_trans::callee::Callee::call::h40441c69ded50749
  20:     0x7fc9e0804a36 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  21:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  22:     0x7fc9e07e1c9b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  23:     0x7fc9e0773ab0 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  24:     0x7fc9e08045d9 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  25:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  26:     0x7fc9e07e1c9b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  27:     0x7fc9e0773ab0 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  28:     0x7fc9e0804ad0 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  29:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  30:     0x7fc9e0773dfd - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  31:     0x7fc9e0772177 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  32:     0x7fc9e07c3eb3 - rustc_trans::closure::trans_closure_expr::hfd53eb0252594d76
  33:     0x7fc9e0806033 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  34:     0x7fc9e08030ad - rustc_trans::expr::trans_unadjusted::h1c3be1e5aa61621c
  35:     0x7fc9e07bb599 - rustc_trans::expr::trans::h542fffcc984b03b8
  36:     0x7fc9e07ba2fe - rustc_trans::callee::trans_args::h37f20c0adfb653a6
  37:     0x7fc9e0752cf2 - rustc_trans::callee::Callee::call::h40441c69ded50749
  38:     0x7fc9e0804a36 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  39:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  40:     0x7fc9e07e1c9b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  41:     0x7fc9e0773ab0 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  42:     0x7fc9e0772177 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  43:     0x7fc9e07746c0 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  44:     0x7fc9e07a7bd1 - rustc_trans::callee::get_fn::h80509230b00b2d45
  45:     0x7fc9e0753a1e - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  46:     0x7fc9e07a267f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  47:     0x7fc9e080499f - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  48:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  49:     0x7fc9e07e1c9b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  50:     0x7fc9e0773ab0 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  51:     0x7fc9e0772177 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  52:     0x7fc9e07746c0 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  53:     0x7fc9e07a7bd1 - rustc_trans::callee::get_fn::h80509230b00b2d45
  54:     0x7fc9e0753a1e - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  55:     0x7fc9e07a267f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  56:     0x7fc9e080499f - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  57:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  58:     0x7fc9e0835aae - rustc_trans::_match::trans_match_inner::hbdd6056757522568
  59:     0x7fc9e0803a65 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  60:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  61:     0x7fc9e0773dfd - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  62:     0x7fc9e0772177 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  63:     0x7fc9e07746c0 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  64:     0x7fc9e07a7bd1 - rustc_trans::callee::get_fn::h80509230b00b2d45
  65:     0x7fc9e0753a1e - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  66:     0x7fc9e07a267f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  67:     0x7fc9e080499f - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  68:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  69:     0x7fc9e07e1c9b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  70:     0x7fc9e0773ab0 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  71:     0x7fc9e0772177 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  72:     0x7fc9e07746c0 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  73:     0x7fc9e07a7bd1 - rustc_trans::callee::get_fn::h80509230b00b2d45
  74:     0x7fc9e0753a1e - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  75:     0x7fc9e07a267f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  76:     0x7fc9e080499f - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  77:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  78:     0x7fc9e07e1c9b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  79:     0x7fc9e0773ab0 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  80:     0x7fc9e0772177 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  81:     0x7fc9e07746c0 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  82:     0x7fc9e07a7bd1 - rustc_trans::callee::get_fn::h80509230b00b2d45
  83:     0x7fc9e0753a1e - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  84:     0x7fc9e07a267f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  85:     0x7fc9e080499f - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  86:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  87:     0x7fc9e0773dfd - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  88:     0x7fc9e0805482 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  89:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  90:     0x7fc9e0773dfd - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  91:     0x7fc9e0772177 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  92:     0x7fc9e07746c0 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  93:     0x7fc9e07a7bd1 - rustc_trans::callee::get_fn::h80509230b00b2d45
  94:     0x7fc9e0753b80 - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  95:     0x7fc9e07a267f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  96:     0x7fc9e080499f - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  97:     0x7fc9e077c584 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  98:     0x7fc9e07e1c9b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  99:     0x7fc9e0773ab0 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  100:     0x7fc9e0804ad0 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
 ... <frames omitted>
@ktff ktff changed the title ICE, nightly Compiler error, nightly, ERROR:rbml::reader: failed to find block with tag 32 Apr 3, 2016
@ktff ktff changed the title Compiler error, nightly, ERROR:rbml::reader: failed to find block with tag 32 Compiler error, nightly Apr 3, 2016
@alexcrichton alexcrichton added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label Apr 3, 2016
@ktff
Copy link
Author

ktff commented Apr 4, 2016

Here is an example.
main.rs

#[macro_use]
extern crate bug;

use bug::Trait;

struct Dummy;

fn main() {
    Dummy.method();
}

bug crate lib.rs

pub trait Trait {    
    fn method(&self);
}

macro_rules! count{
    () =>{{
        struct COUNT {}
        static C: COUNT = COUNT {};
        let _=&C;
    }}
}

impl<T> Trait for T {
    fn method(&self) {
        let _=|| count!();
    }
}

ICE occurs if:

  • method is called on locally defined struct
  • method implementation must be in another file and maybe in a library
  • method implementation creates closure with macro in it
  • that macro creates struct, defines static with that struct and then does something with it

Macro is a slimmed down version of lazy_static! macro from same named crate on Cargo.
This is probably related to 32697

Closure can be arbitary complex as long there is at least one invocation of that macro in it, ICE will occur.

@ktff
Copy link
Author

ktff commented Apr 4, 2016

Backtrace created with previous example:

thread 'rustc' panicked at 'explicit panic', ../src/librbml/lib.rs:437
stack backtrace:
   1:     0x7f479a0fd3e0 - std::sys::backtrace::tracing::imp::write::hc787ac7b725fc252
   2:     0x7f479a10aaeb - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::hff309ab1d83ffd90
   3:     0x7f479a10a68b - std::panicking::default_hook::h08ad3bb09872855b
   4:     0x7f479a0ce3af - std::sys_common::unwind::begin_unwind_inner::hfa66df7b3e69707e
   5:     0x7f479123abff - std::sys_common::unwind::begin_unwind::h422885d31fe250dc
   6:     0x7f47912388c6 - rbml::reader::get_doc::hf96062258c695953
   7:     0x7f47991daa3b - rustc_metadata::decoder::item_name::h937d5af7cabdc0db
   8:     0x7f479922228b - rustc_metadata::csearch::_<impl rustc..middle..cstore..CrateStore<'tcx> for cstore..CStore>::item_name::h6797a808760c2731
   9:     0x7f4794084dd7 - rustc::ty::item_path::_<impl ty..context..TyCtxt<'tcx>>::push_item_path::hac1b9fe02a3c37ed
  10:     0x7f4794085510 - rustc::ty::item_path::_<impl ty..context..TyCtxt<'tcx>>::push_item_path::hac1b9fe02a3c37ed
  11:     0x7f4793f8785d - rustc::ty::item_path::_<impl ty..context..TyCtxt<'tcx>>::item_path_str::h94bec330b9844a26
  12:     0x7f4798da4208 - rustc_trans::type_of::llvm_type_name::h8232cc541b66c2fa
  13:     0x7f4798c7b301 - rustc_trans::type_of::in_memory_type_of::h39ed35af1c9bd3c0
  14:     0x7f4798d17c4f - rustc_trans::consts::get_static::ha556e7f1f5a5c12b
  15:     0x7f4798d04ffc - rustc_trans::expr::trans_var::h9e834a8c15e86835
  16:     0x7f4798d4324b - rustc_trans::expr::trans_unadjusted::h1c3be1e5aa61621c
  17:     0x7f4798cfbe69 - rustc_trans::expr::trans::h542fffcc984b03b8
  18:     0x7f4798d4c680 - rustc_trans::expr::trans_addr_of::h14be6b3556c791ca
  19:     0x7f4798d433a9 - rustc_trans::expr::trans_unadjusted::h1c3be1e5aa61621c
  20:     0x7f4798cfbe69 - rustc_trans::expr::trans::h542fffcc984b03b8
  21:     0x7f4798c9ec1a - rustc_trans::base::init_local::h5b725441afc1979c
  22:     0x7f4798cb40a4 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  23:     0x7f4798d44a10 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  24:     0x7f4798cbcb04 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  25:     0x7f4798d2211b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  26:     0x7f4798cb4080 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  27:     0x7f4798d44a10 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  28:     0x7f4798cbcb04 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  29:     0x7f4798cb43ad - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  30:     0x7f4798cb2921 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  31:     0x7f4798d04583 - rustc_trans::closure::trans_closure_expr::hfd53eb0252594d76
  32:     0x7f4798d11889 - rustc_trans::consts::const_expr_unadjusted::h1d9baab0ebf2616d
  33:     0x7f4798d0ebf5 - rustc_trans::consts::const_expr::hf3d8253a95ec460b
  34:     0x7f4798d100ed - rustc_trans::consts::get_const_expr_as_global::h1f3cb11932140c8c
  35:     0x7f4798cfb462 - rustc_trans::expr::trans::h542fffcc984b03b8
  36:     0x7f4798c9ec1a - rustc_trans::base::init_local::h5b725441afc1979c
  37:     0x7f4798cb40a4 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  38:     0x7f4798cb2921 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  39:     0x7f4798cb4c70 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  40:     0x7f4798ce84c1 - rustc_trans::callee::get_fn::h80509230b00b2d45
  41:     0x7f4798c940ce - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  42:     0x7f4798ce303f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  43:     0x7f4798d448df - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  44:     0x7f4798cbcb04 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  45:     0x7f4798d2211b - rustc_trans::controlflow::trans_stmt_semi::h924ebf14e2481e96
  46:     0x7f4798cb4080 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  47:     0x7f4798cb2921 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  48:     0x7f4798cb4c70 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  49:     0x7f4798cbf1f1 - rustc_trans::base::trans_item::h6ce564dd6c26e0a3
  50:     0x7f4798cd8a3b - _<base..TransItemsWithinModVisitor<'a, 'tcx> as rustc_front..intravisit..Visitor<'v>>::visit_item::h17575fb313345f09
  51:     0x7f4798cc60bb - rustc_trans::base::trans_crate::h1aff7a8470cdce2a
  52:     0x7f479a65ca28 - rustc_driver::driver::phase_4_translate_to_llvm::h7b8775f4874fc83b
  53:     0x7f479a65b2b5 - rustc_driver::driver::compile_input::_$u7b$$u7b$closure$u7d$$u7d$::h31c654547881d0b4
  54:     0x7f479a657e98 - rustc_driver::driver::phase_3_run_analysis_passes::_$u7b$$u7b$closure$u7d$$u7d$::h25b1c02cc580d282
  55:     0x7f479a651e4b - rustc::ty::context::TyCtxt::create_and_enter::h567cfc6893966048
  56:     0x7f479a64e8c9 - rustc_driver::driver::phase_3_run_analysis_passes::h925d8f426a8a3ebf
  57:     0x7f479a6212e7 - rustc_driver::driver::compile_input::h4de0250909a780b6
  58:     0x7f479a60f044 - rustc_driver::run_compiler::hb9ea120b81672dbd
  59:     0x7f479a60c4a1 - std::sys_common::unwind::try::try_fn::h10e40fd87dec6cc0
  60:     0x7f479a0faa3b - __rust_try
  61:     0x7f479a0fa9cd - std::sys_common::unwind::inner_try::h010cc5014fd950a2
  62:     0x7f479a60ccea - _<F as std..boxed..FnBox<A>>::call_box::hbe6d6868b645ad75
  63:     0x7f479a108c74 - std::sys::thread::Thread::new::thread_start::h003cd23941cb846b
  64:     0x7f4791fb0181 - start_thread
  65:     0x7f4799d5247c - __clone
  66:                0x0 - <unknown>

@mitchmindtree
Copy link
Contributor

Conrod also seems to be hitting this issue when compiling the all_widgets example on the latest nightly.

I don't have a copy of the nightly rustc locally, but here's the output from travis:

Running `rustc examples/all_widgets.rs --crate-name all_widgets --crate-type bin -g --out-dir /home/travis/build/PistonDevelopers/conrod/target/debug/examples --emit=dep-info,link -L dependency=/home/travis/build/PistonDevelopers/conrod/target/debug -L dependency=/home/travis/build/PistonDevelopers/conrod/target/debug/deps --extern input=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libinput-a0f029d4b320f3d9.rlib --extern daggy=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libdaggy-5a1f5ef83fc01373.rlib --extern num=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libnum-f6961afa9fa1a02b.rlib --extern piston_window=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libpiston_window-6e67c5d6f9de61bb.rlib --extern find_folder=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libfind_folder-85e661d6af761082.rlib --extern rand=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/librand-49a08859d086fffe.rlib --extern graphics=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libgraphics-15f0efb284020eb8.rlib --extern conrod=/home/travis/build/PistonDevelopers/conrod/target/debug/libconrod.rlib -L native=/home/travis/build/PistonDevelopers/conrod/target/debug/build/miniz-sys-60c8d67696f63a43/out`
examples/all_widgets.rs:149:39: 149:44 warning: broken MIR (Terminator { span: examples/all_widgets.rs:149:9: 149:45, scope: ScopeId(52), kind: var2 = <conrod::Ui<B>><(<gfx_graphics::back_end::GfxGraphics<'static, gfx_device_gl::Resources, gfx_device_gl::command::CommandBuffer> as conrod::Graphics>::Texture, gfx_graphics::glyph::GlyphCache<gfx_device_gl::Resources, gfx_device_gl::factory::Factory>)>::new(tmp19, tmp21) -> [return: bb47, unwind: bb46] }): call dest mismatch (conrod::Ui<(piston_window::Texture<gfx_device_gl::Resources>, gfx_graphics::glyph::GlyphCache<gfx_device_gl::Resources, gfx_device_gl::factory::Factory>)> <- conrod::Ui<(<gfx_graphics::back_end::GfxGraphics<'static, gfx_device_gl::Resources, gfx_device_gl::command::CommandBuffer> as conrod::Graphics>::Texture, gfx_graphics::glyph::GlyphCache<gfx_device_gl::Resources, gfx_device_gl::factory::Factory>)>): Sorts(ExpectedFound { expected: piston_window::Texture<gfx_device_gl::Resources>, found: <gfx_graphics::back_end::GfxGraphics<'static, gfx_device_gl::Resources, gfx_device_gl::command::CommandBuffer> as conrod::Graphics>::Texture })
examples/all_widgets.rs:149         Ui::new(glyph_cache.unwrap(), theme)
                                                                  ^~~~~
ERROR:rbml::reader: failed to find block with tag 32
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
thread 'rustc' panicked at 'explicit panic', ../src/librbml/lib.rs:436
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Build failed, waiting for other jobs to finish...
error: Could not compile `conrod`.
Caused by:
  Process didn't exit successfully: `rustc examples/all_widgets.rs --crate-name all_widgets --crate-type bin -g --out-dir /home/travis/build/PistonDevelopers/conrod/target/debug/examples --emit=dep-info,link -L dependency=/home/travis/build/PistonDevelopers/conrod/target/debug -L dependency=/home/travis/build/PistonDevelopers/conrod/target/debug/deps --extern input=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libinput-a0f029d4b320f3d9.rlib --extern daggy=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libdaggy-5a1f5ef83fc01373.rlib --extern num=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libnum-f6961afa9fa1a02b.rlib --extern piston_window=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libpiston_window-6e67c5d6f9de61bb.rlib --extern find_folder=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libfind_folder-85e661d6af761082.rlib --extern rand=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/librand-49a08859d086fffe.rlib --extern graphics=/home/travis/build/PistonDevelopers/conrod/target/debug/deps/libgraphics-15f0efb284020eb8.rlib --extern conrod=/home/travis/build/PistonDevelopers/conrod/target/debug/libconrod.rlib -L native=/home/travis/build/PistonDevelopers/conrod/target/debug/build/miniz-sys-60c8d67696f63a43/out` (exit code: 101)

The ICE occurs for this commit within this PR directly after emitting a warning: broken MIR (not sure if it is related).

@mitchmindtree
Copy link
Contributor

It seems the Broken MIR warning is unrelated. I managed to fix it by changing a type alias to use a solid type rather than the associated type of a trait, however this fix hasn't effected the ICE.

As of 1.9, this ICE now occurs in stable rust.

@nagisa
Copy link
Member

nagisa commented Jun 2, 2016

NB: took liberty to reformat the report.

@nagisa nagisa added the A-metadata Area: Crate metadata label Jun 2, 2016
@arielb1
Copy link
Contributor

arielb1 commented Jul 1, 2016

duplicate of #34027.

@arielb1 arielb1 closed this as completed Jul 1, 2016
@brson brson added the regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. label Jul 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-metadata Area: Crate metadata I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-nightly Performance or correctness regression from stable to nightly.
Projects
None yet
Development

No branches or pull requests

6 participants