Skip to content

ICE on rustc 1.26.0-nightly (ae544ee1c 2018-03-29) #49534

Closed
@topecongiro

Description

@topecongiro

I encountered an ICE while working on rustfmt (my branch) with this commit. I am using 1.26.0-nightly (ae544ee1c 2018-03-29).

Log

thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: (MoveData { move_paths: [MovePath { place: _0 }, MovePath { place: _1 }, MovePath { place: _2 }, MovePath { place: _3 }, MovePath { first_child: mp30, place: _4 }, MovePath { place: _5 }, MovePath { place: _6 }, MovePath { place: _7 }, MovePath { place: _8 }, MovePath { place: _9 }, MovePath { place: _10 }, MovePath { place: _11 }, MovePath { place: _12 }, MovePath { place: _13 }, MovePath { place: _14 }, MovePath { place: _15 }, MovePath { place: _16 }, MovePath { place: _17 }, MovePath { place: _18 }, MovePath { place: _19 }, MovePath { first_child: mp28, place: _20 }, MovePath { place: _21 }, MovePath { place: _22 }, MovePath { place: _23 }, MovePath { place: _24 }, MovePath { place: _25 }, MovePath { place: _26 }, MovePath { place: _27 }, MovePath { parent: mp20, place: (*_20) }, MovePath { parent: mp4, place: (_4.0: &'<empty> imports::UseSegment) }, MovePath { parent: mp4, next_sibling: mp29 place: (_4.1: &'<empty> &'<empty> mut imports::UseSegment) }], moves: [mp5@bb0[5], mp6@bb0[5], mp6@bb0[6], mp5@bb0[7], mp10@bb0[10], mp1@bb2[7], mp22@bb2[10], mp23@bb2[10], mp13@bb3[10], mp14@bb3[10], mp11@bb4[1], mp9@bb5[0], mp14@bb6[0], mp13@bb6[1], mp15@bb6[2], mp8@bb6[4], mp16@bb6[5], mp16@bb6[6], mp1@bb7[0], mp8@bb8[0], mp9@bb9[0], mp16@bb10[0], mp23@bb11[0], mp22@bb11[1], mp20@bb12[0], mp22@bb13[0], mp21@bb14[0], mp22@bb15[0], mp26@bb15[5], mp26@bb16[0], mp25@bb16[3], mp27@bb16[3], mp27@bb17[0], mp25@bb17[1], mp25@bb18[0], mp24@bb19[0], mp25@bb20[0], mp21@bb20[1], mp24@bb20[1], mp24@bb20[2], mp24@bb21[0], mp21@bb21[1], mp21@bb22[0], mp20@bb22[1], mp19@bb22[2], mp19@bb22[3], mp18@bb23[0], mp20@bb24[0], mp19@bb25[0], mp20@bb25[1], mp20@bb26[0], mp18@bb26[1], mp18@bb27[0], mp17@bb28[0], mp18@bb29[0], mp17@bb29[1], mp17@bb29[2], mp17@bb30[0], mp9@bb31[0], mp8@bb31[1], mp8@bb32[0], mp4@bb32[1], mp1@bb32[2], mp0@bb33[0]], loc_map: LocationMap { map: [[[], [], [], [], [], [mo0, mo1], [mo2], [mo3], [], [], [mo4]], [[]], [[], [], [], [], [], [], [], [mo5], [], [], [mo6, mo7]], [[], [], [], [], [], [], [], [], [], [], [mo8, mo9]], [[], [mo10]], [[mo11]], [[mo12], [mo13], [mo14], [], [mo15], [mo16], [mo17]], [[mo18]], [[mo19]], [[mo20]], [[mo21], []], [[mo22], [mo23]], [[mo24]], [[mo25]], [[mo26]], [[mo27], [], [], [], [], [mo28]], [[mo29], [], [], [mo30, mo31]], [[mo32], [mo33]], [[mo34]], [[mo35]], [[mo36], [mo37, mo38], [mo39]], [[mo40], [mo41]], [[mo42], [mo43], [mo44], [mo45]], [[mo46]], [[mo47]], [[mo48], [mo49]], [[mo50], [mo51]], [[mo52]], [[mo53]], [[mo54], [mo55], [mo56]], [[mo57], []], [[mo58], [mo59]], [[mo60], [mo61], [mo62]], [[mo63]]] }, path_map: [[mo63], [mo5, mo18, mo62], [], [], [mo61], [mo0, mo3], [mo1, mo2], [], [mo15, mo19, mo59, mo60], [mo11, mo20, mo58], [mo4], [mo10], [], [mo8, mo13], [mo9, mo12], [mo14], [mo16, mo17, mo21], [mo53, mo55, mo56, mo57], [mo46, mo51, mo52, mo54], [mo44, mo45, mo48], [mo24, mo43, mo47, mo49, mo50], [mo26, mo37, mo41, mo42], [mo6, mo23, mo25, mo27], [mo7, mo22], [mo35, mo38, mo39, mo40], [mo30, mo33, mo34, mo36], [mo28, mo29], [mo31, mo32], [], [], []], rev_lookup: MovePathLookup { locals: [mp0, mp1, mp2, mp3, mp4, mp5, mp6, mp7, mp8, mp9, mp10, mp11, mp12, mp13, mp14, mp15, mp16, mp17, mp18, mp19, mp20, mp21, mp22, mp23, mp24, mp25, mp26, mp27], projections: {(mp4, Field(field[1], AbstractType)): mp30, (mp20, Deref): mp28, (mp4, Field(field[0], AbstractType)): mp29} }, inits: [mp1@src/imports.rs:145:14: 145:18 (Deep), mp2@src/imports.rs:145:20: 145:25 (Deep), mp3@src/imports.rs:145:44: 145:48 (Deep), mp5@src/imports.rs:146:16: 146:21 (Deep), mp6@src/imports.rs:146:23: 146:29 (Deep), mp4@src/imports.rs:146:15: 146:30 (Deep), mp7@src/imports.rs:146:9: 155:10 (Deep), mp10@src/imports.rs:147:14: 147:38 (Deep), mp20@<vec macros>:3:25: 3:46 (Shallow), mp22@src/imports.rs:152:46: 152:50 (Deep), mp23@src/imports.rs:152:52: 152:56 (Deep), mp21@src/imports.rs:152:17: 152:57 (NonPanicPathOnly), mp8@src/imports.rs:147:31: 147:37 (Deep), mp9@src/imports.rs:147:57: 147:63 (Deep), mp13@src/imports.rs:148:17: 148:19 (Deep), mp15@src/imports.rs:148:27: 148:34 (Deep), mp14@src/imports.rs:148:27: 148:34 (Deep), mp12@src/imports.rs:148:17: 148:35 (NonPanicPathOnly), mp11@src/imports.rs:147:40: 147:64 (Deep), mp16@src/imports.rs:149:34: 149:36 (Deep), mp0@src/imports.rs:149:17: 149:37 (Deep), mp26@src/imports.rs:153:46: 153:51 (Deep), mp25@src/imports.rs:153:46: 153:59 (NonPanicPathOnly), mp27@src/imports.rs:153:61: 153:65 (Deep), mp24@src/imports.rs:153:17: 153:66 (NonPanicPathOnly), mp28@<vec macros>:3:29: 3:46 (Deep), mp19@<vec macros>:3:25: 3:46 (Deep), mp18@<vec macros>:3:25: 3:46 (Deep), mp17@<vec macros>:3:1: 3:48 (NonPanicPathOnly), mp0@src/imports.rs:151:18: 154:15 (Deep)], init_loc_map: LocationMap { map: [[[], [], [in3], [], [in4], [in5], [], [], [in6], [in7], []], [[]], [[], [], [], [], [in8], [], [], [in9], [], [in10], [in11]], [[], [in12], [], [in13], [], [in14], [], [], [in15], [in16], [in17]], [[in18], []], [[]], [[], [], [], [], [in19], [in20], []], [[]], [[]], [[]], [[], []], [[], []], [[]], [[]], [[]], [[], [], [], [], [in21], [in22]], [[], [], [in23], [in24]], [[], []], [[]], [[]], [[], [in25], []], [[], []], [[], [in26], [in27], []], [[]], [[]], [[], []], [[], [in28]], [[]], [[]], [[], [in29], []], [[], []], [[], []], [[], [], []], [[]]] }, init_path_map: [[in20, in29], [in0], [in1], [in2], [in5], [in3], [in4], [in6], [in12], [in13], [in7], [in18], [in17], [in14], [in16], [in15], [in19], [in28], [in27], [in26], [in8], [in11], [in9], [in10], [in24], [in22], [in21], [in23], [in25], [], []] }, [IllegalMove { cannot_move_out_of: IllegalMoveOrigin { span: src/imports.rs:147:31: 147:37, kind: BorrowedContent } }, IllegalMove { cannot_move_out_of: IllegalMoveOrigin { span: src/imports.rs:147:57: 147:63, kind: BorrowedContent } }])', libcore/result.rs:945:5

Backtrace

   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:207
   3: std::panicking::default_hook
             at libstd/panicking.rs:223
   4: core::ops::function::Fn::call
   5: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:403
   6: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:349
   7: rust_begin_unwind
             at libstd/panicking.rs:325
   8: core::panicking::panic_fmt
             at libcore/panicking.rs:72
   9: core::result::unwrap_failed
  10: <rustc_mir::transform::elaborate_drops::ElaborateDrops as rustc_mir::transform::MirPass>::run_pass
  11: rustc_mir::transform::optimized_mir::{{closure}}
  12: rustc_mir::transform::optimized_mir
  13: rustc::ty::maps::<impl rustc::ty::maps::queries::optimized_mir<'tcx>>::compute_result
  14: rustc::dep_graph::graph::DepGraph::with_task_impl
  15: rustc_errors::Handler::track_diagnostics
  16: rustc::ty::maps::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::cycle_check
  17: rustc::ty::maps::<impl rustc::ty::maps::queries::optimized_mir<'tcx>>::force
  18: rustc::ty::maps::<impl rustc::ty::maps::queries::optimized_mir<'tcx>>::try_get
  19: rustc::ty::maps::TyCtxtAt::optimized_mir
  20: rustc::ty::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::instance_mir
  21: rustc_mir::monomorphize::collector::collect_items_rec
  22: rustc_mir::monomorphize::collector::collect_items_rec
  23: rustc_mir::monomorphize::collector::collect_items_rec
  24: rustc_mir::monomorphize::collector::collect_items_rec
  25: rustc_mir::monomorphize::collector::collect_items_rec
  26: rustc_mir::monomorphize::collector::collect_items_rec
  27: rustc_mir::monomorphize::collector::collect_items_rec
  28: rustc_mir::monomorphize::collector::collect_items_rec
  29: rustc_mir::monomorphize::collector::collect_items_rec
  30: rustc_mir::monomorphize::collector::collect_items_rec
  31: rustc_mir::monomorphize::collector::collect_items_rec
  32: rustc_mir::monomorphize::collector::collect_items_rec
  33: rustc_mir::monomorphize::collector::collect_items_rec
  34: rustc_mir::monomorphize::collector::collect_items_rec
  35: rustc_mir::monomorphize::collector::collect_items_rec
  36: rustc_mir::monomorphize::collector::collect_items_rec
  37: rustc_mir::monomorphize::collector::collect_items_rec
  38: rustc_mir::monomorphize::collector::collect_items_rec
  39: rustc_mir::monomorphize::collector::collect_crate_mono_items
  40: rustc::util::common::time
  41: rustc_trans::base::collect_and_partition_translation_items
  42: rustc::dep_graph::graph::DepGraph::with_task_impl
  43: rustc_errors::Handler::track_diagnostics
  44: rustc::ty::maps::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::cycle_check
  45: rustc::ty::maps::<impl rustc::ty::maps::queries::collect_and_partition_translation_items<'tcx>>::force
  46: rustc::ty::maps::<impl rustc::ty::maps::queries::collect_and_partition_translation_items<'tcx>>::try_get
  47: rustc::ty::maps::TyCtxtAt::collect_and_partition_translation_items
  48: rustc::ty::maps::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::collect_and_partition_translation_items
  49: rustc_trans::base::trans_crate
  50: <rustc_trans::LlvmTransCrate as rustc_trans_utils::trans_crate::TransCrate>::trans_crate
  51: rustc::util::common::time
  52: rustc_driver::driver::phase_4_translate_to_llvm
  53: rustc_driver::driver::compile_input::{{closure}}
  54: <std::thread::local::LocalKey<T>>::with
  55: <std::thread::local::LocalKey<T>>::with
  56: rustc::ty::context::TyCtxt::create_and_enter
  57: rustc_driver::driver::compile_input
  58: rustc_driver::run_compiler_impl
  59: syntax::with_globals

Metadata

Metadata

Labels

A-MIRArea: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.htmlI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions