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 in stable 1.3.0 - ERROR:rbml::reader: failed to find block with tag 37 #29116

Closed
mitchmindtree opened this issue Oct 17, 2015 · 2 comments
Closed

Comments

@mitchmindtree
Copy link
Contributor

The ICE occurs when I cargo build a personal project.

Here's the stack trace:

   Compiling timeline v0.1.0 (file:///Users/Mitch/Programming/Rust/jen/timeline)
ERROR:rbml::reader: failed to find block with tag 37
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:395

stack backtrace:
   1:        0x10695f255 - sys::backtrace::write::h71ee98355e9ff89fUss
   2:        0x10696852e - panicking::on_panic::h3058b136d38637c267w
   3:        0x106921b52 - rt::unwind::begin_unwind_inner::h1a353d5ea12e1abeVBw
   4:        0x1044dd726 - rt::unwind::begin_unwind::h511342749798974769
   5:        0x1044dc419 - reader::get_doc::hc9a0b1ab69b46733Uxa
   6:        0x103e7fb5a - metadata::decoder::get_type::h75bf6915129da381Z9l
   7:        0x103cdcc1f - middle::ty::ctxt<'tcx>::lookup_item_type::h262868a0b798643fYbb
   8:        0x103898fec - check::_match::check_pat_struct::h8307d8311228d69cbyb
   9:        0x10388ae60 - check::_match::check_pat::h0d1b284bfff635dd43a
  10:        0x10396ab24 - check::check_decl_local::h0c5fcc21f87cd4b8Kbs
  11:        0x10396acae - check::check_stmt::h9e5a841efcf9116aDds
  12:        0x10391a007 - check::check_block_with_expected::he8940408a5503b54Hhs
  13:        0x1038f9d53 - check::check_fn::h5e5df21b0fd773ea2In
  14:        0x1039114f2 - check::check_bare_fn::h86a03fb1f3983995Hyn
  15:        0x1039204e7 - check::check_method_body::h13d6362f0882c3dcSao
  16:        0x10390f457 - check::check_item_body::hf589d5189d5cb836HYn
  17:        0x10390f712 - visit::walk_item::h1020025248722360304
  18:        0x1039110ed - check::check_item_types::h489a8e890fa40e75ewn
  19:        0x1039d1b17 - check_crate::h7ecfdc15df6b58celaD
  20:        0x103206d79 - driver::phase_3_run_analysis_passes::closure.16549
  21:        0x1032056fc - middle::ty::ctxt<'tcx>::create_and_enter::h11433448707890196556
  22:        0x103200800 - driver::phase_3_run_analysis_passes::h3590352590872041550
  23:        0x1031e64fe - driver::compile_input::h1c047823e477b0f8Tba
  24:        0x1032ca63b - run_compiler::h08c4308e3023ae95A7b
  25:        0x1032c7eb0 - boxed::F.FnBox<A>::call_box::h10096438531414899938
  26:        0x1032c7727 - rt::unwind::try::try_fn::h14980438358409207447
  27:        0x10696800d - __rust_try
  28:        0x1069516a5 - rt::unwind::try::inner_try::h64f5df7e1fe0ee17Oxw
  29:        0x1032c7969 - boxed::F.FnBox<A>::call_box::h15297523780691036815
  30:        0x106966fed - sys::thread::Thread::new::thread_start::h7c2780fdb092152ahWv
  31:     0x7fff838f6059 - _pthread_body
  32:     0x7fff838f5fd6 - _pthread_start
cargo 0.6.0-nightly (68e6799 2015-10-06)
rustc 1.3.0 (9a92aaf19 2015-09-15)

The error occurs when trying to implement conrod's Widget trait for a type. If I remove the impl Widget for Foo block, the ICE stops occurring. Strangely however, I'm able to implement Widget for another type in the same crate without any issues.

So far I've tried the following:

  • cargo clean
  • manually removing the target directory
  • manually removing the Cargo.lock
  • removing doc comments

I've noticed that there are a few different errors already reported for thread 'rustc' panicked at 'explicit panic', ../src/librbml/lib.rs:395 (#27654, #28700, #28290), however they all seem to error on a different tag and their stack traces look quite different, so I thought it'd be best to open a new issue.

@arielb1
Copy link
Contributor

arielb1 commented Oct 17, 2015

This certainly looks like a bug. It would be difficult to debug it without source code, however.

@mitchmindtree
Copy link
Contributor Author

Ok, managed to work out a minimal case:

pub mod foo {}

fn main() {
    let foo {} = 0; // Trying to de-structure a module name causes the ICE.
}

playpen.

In my case, I'd accidentally typed

let conrod { ref state, .. } = *prev_state;

instead of

let conrod::State { ref state, .. } = *prev_state;

which was quite tricky to track down.

Good news is that it seems to be fixed in beta and nightly 😸 Closing!

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