Skip to content

thread 'rustc' panicked at 'index out of bounds: [...] src/libcollections/vec.rs:1047 #28217

Closed
@Mange

Description

@Mange

I can't use the json! macro on latest master (2015-09-03).

I tried this code:

src/main.rs

#![feature(plugin)]
#![plugin(json_macros)]
extern crate rustc_serialize;

fn main() {
    let payload = json!({"test": "1"});
    println!(payload.to_string());
}

Cargo.toml:

[package]

name = "rust-bug"
version = "0.0.1"
authors = [ "Magnus Bergmark <[email protected]>" ]

[dependencies]
json_macros = "0.2.5"
rustc-serialize = "*"
cargo run

I expected to see this happen: {"test":"1"}

Instead, this happened: note: the compiler unexpectedly panicked. this is a bug.

Meta

rustc --version --verbose:

rustc 1.4.0-nightly (9e9c83b89 2015-09-03)
binary: rustc
commit-hash: 9e9c83b8994fab4f69fc75838c8c856b57caa5d1
commit-date: 2015-09-03
host: x86_64-apple-darwin
release: 1.4.0-nightly

cargo --version:

cargo 0.5.0 (7ea8265 2015-09-03)

Backtrace:

› RUST_BACKTRACE=1 cargo run --verbose
       Fresh rustc-serialize v0.3.16
       Fresh json_macros v0.2.5
   Compiling rust-bug v0.0.1 (file:///Users/mange/Desktop/rust-bug)
     Running `rustc src/main.rs --crate-name rust_bug --crate-type bin -g --out-dir /Users/mange/Desktop/rust-bug/target/debug --emit=dep-info,link -L dependency=/Users/mange/Desktop/rust-bug/target/debug -L dependency=/Users/mange/Desktop/rust-bug/target/debug/deps --extern json_macros=/Users/mange/Desktop/rust-bug/target/debug/deps/libjson_macros-588fa665176505c5.dylib --extern rustc_serialize=/Users/mange/Desktop/rust-bug/target/debug/deps/librustc_serialize-7ff5bfc027146194.rlib`
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 'index out of bounds: the len is 60 but the index is 67', src/libcollections/vec.rs:1047
stack backtrace:
   1:        0x111149940 - sys::backtrace::tracing::imp::write::hd0176e40ebe71d28Vks
   2:        0x11115191b - panicking::on_panic::h929e7e75bc4f2c31NXw
   3:        0x111113c12 - rt::unwind::begin_unwind_inner::h9d2d49cde66c0c4b0sw
   4:        0x11111499d - rt::unwind::begin_unwind_fmt::h30d162ea92169f156rw
   5:        0x111151527 - rust_begin_unwind
   6:        0x1111925b0 - panicking::panic_fmt::ha85fd08dcab4df5d8PE
   7:        0x11118c710 - panicking::panic_bounds_check::h74acb99379ef18f4ePE
   8:        0x117aba24b - parse::token::InternedString::new_from_name::hf3d5b4c0153b6a85EiT
   9:        0x117bb7014 - parse::parser::Parser<'a>::parse_optional_str::hcbe96d5b0fc32f68b5M
  10:        0x117bb7183 - parse::parser::Parser<'a>::parse_str::h9f9ed6f8c5ab3308o6M
  11:        0x112a0fdfc - plugin::parse_json::closure.10831
  12:        0x112a0f3bd - parse::parser::Parser<'a>::parse_seq_to_before_end::h13189328464236698498
  13:        0x112a0ee2c - parse::parser::Parser<'a>::parse_seq_to_end::h14254503023922733831
  14:        0x1129d35a6 - plugin::parse_json::hfd1a1f8297018b85lba
  15:        0x1129d307e - plugin::expand::h6ee2acb00f38e3fauaa
  16:        0x1157258e9 - ext::base::F.TTMacroExpander::expand::h14210021944373090710
  17:        0x10eee9137 - ext::expand::expand_expr::closure.68004
  18:        0x10eee5f45 - ext::expand::expand_expr::h4484ab514eace144rqb
  19:        0x10ef0ea40 - ext::expand::expand_non_macro_stmt::closure.68390
  20:        0x10ef0e1f0 - ext::expand::expand_non_macro_stmt::closure.68388
  21:        0x10ef0b5a3 - ext::expand::expand_stmt::hbe43f4150453a1b4t7b
  22:        0x10ef3085e - ext::expand::expand_block_elts::closure.68722
  23:        0x10ef305ba - iter::FlatMap<I, U, F>.Iterator::next::h5626001629407774195
  24:        0x10ef2fc77 - vec::Vec<T>.FromIterator<T>::from_iter::h5081602814983063810
  25:        0x10ef2f86f - ext::expand::expand_block_elts::closure.68715
  26:        0x10eef6794 - ext::expand::expand_block_elts::h46bebebd90c7c5fdnic
  27:        0x10ef2f4bd - ext::expand::expand_block::h0a7e72090e4cf398Ihc
  28:        0x10eef6293 - ext::expand::expand_and_rename_fn_decl_and_block::h384c6a1c45a18003wGc
  29:        0x10eefc539 - ext::expand::expand_item_underscore::h8b5990810bd9fc6e4Vb
  30:        0x10ef50f0a - fold::noop_fold_item_simple::h10230394405410749093
  31:        0x10ef50a79 - fold::noop_fold_item::h6703425555223222517
  32:        0x10eefa32a - ext::expand::expand_annotatable::h707bae4d90aeefc9Bsc
  33:        0x10eef6938 - ext::expand::expand_item::h8d338912a8cd204dtVb
  34:        0x10ef02985 - iter::FlatMap<I, U, F>.Iterator::next::h12350997629097857049
  35:        0x10ef0249c - vec::Vec<T>.FromIterator<T>::from_iter::h7763438502537858767
  36:        0x10ef021ca - fold::noop_fold_mod::h6321912319619061707
  37:        0x10eefcdc9 - ext::expand::expand_item_underscore::h8b5990810bd9fc6e4Vb
  38:        0x10ef50f0a - fold::noop_fold_item_simple::h10230394405410749093
  39:        0x10ef50a79 - fold::noop_fold_item::h6703425555223222517
  40:        0x10eefb34e - ext::expand::expand_annotatable::h707bae4d90aeefc9Bsc
  41:        0x10eef6938 - ext::expand::expand_item::h8d338912a8cd204dtVb
  42:        0x10ef5a6b0 - ext::expand::expand_crate::hd42c32144acafe9dkRc
  43:        0x10d62a56a - driver::phase_2_configure_and_expand::closure.27279
  44:        0x10d5bd270 - driver::phase_2_configure_and_expand::h9a043ebdf303a32b3ta
  45:        0x10d5ad050 - driver::compile_input::h277a8ae423a5a9f3Yba
  46:        0x10d711e50 - run_compiler::h9482972dfd518dccbqc
  47:        0x10d70f749 - boxed::F.FnBox<A>::call_box::h12200329393199643738
  48:        0x10d70f142 - rt::unwind::try::try_fn::h12741742821322866078
  49:        0x1111514d8 - __rust_try
  50:        0x11113dcb0 - rt::unwind::try::inner_try::h03cd26bf8e2ee1ceTow
  51:        0x10d70f2f2 - boxed::F.FnBox<A>::call_box::h16465870040843100935
  52:        0x11115084d - sys::thread::Thread::new::thread_start::he62641fb2961f41aBNv
  53:     0x7fff8608f267 - _pthread_body
  54:     0x7fff8608f1e4 - _pthread_start
Could not compile `rust-bug`.

Caused by:
  Process didn't exit successfully: `rustc src/main.rs --crate-name rust_bug --crate-type bin -g --out-dir /Users/mange/Desktop/rust-bug/target/debug --emit=dep-info,link -L dependency=/Users/mange/Desktop/rust-bug/target/debug -L dependency=/Users/mange/Desktop/rust-bug/target/debug/deps --extern json_macros=/Users/mange/Desktop/rust-bug/target/debug/deps/libjson_macros-588fa665176505c5.dylib --extern rustc_serialize=/Users/mange/Desktop/rust-bug/target/debug/deps/librustc_serialize-7ff5bfc027146194.rlib` (exit code: 101)

(I broke the output into three so it's more obvious where the backtrace begins and ends.)


Let me know if there's anything else I can add or try.

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions