Skip to content

unexpected panic when compiling the lalrpop crate #32530

Closed
@saghm

Description

@saghm

When compiling the lalrpop crate as a dependency for my project, I got an error message saying that the compiler panicked. As per the error message, I'm submitting a bug report.

I'm not sure exactly what code caused the compiler to panic unfortunately, as the error occurred when cargo was compiling a dependency.

The crate is version 0.11.0 of lalrpop, and the compiler version is the latest nightly (rustc 1.9.0-nightly (d5a91e6 2016-03-26).

The exact error message (including a backtrace) is the following:

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 'assertion failed: declare::get_defined_value(ccx, &symbol).is_none()', ../src/librustc_trans/monomorphize.rs:94
stack backtrace:
   1:     0x7f7e5633d300 - std::sys::backtrace::tracing::imp::write::h63529ecac330b5bc
   2:     0x7f7e5634a9db - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::h0e99487804ecdaa3
   3:     0x7f7e5634a577 - std::panicking::default_hook::h1f0a2403a716c4a6
   4:     0x7f7e5630e2ff - std::sys_common::unwind::begin_unwind_inner::heae36551373e36bd
   5:     0x7f7e5557afef - std::sys_common::unwind::begin_unwind::h422885d31fe250dc
   6:     0x7f7e55622b8d - rustc_trans::callee::get_fn::h16d5e12c52696e18
   7:     0x7f7e555cd920 - rustc_trans::callee::Callee::def::h6bfa8c0d18edb04c
   8:     0x7f7e55693597 - rustc_trans::glue::trans_struct_drop::h342318524db364ab
   9:     0x7f7e55690357 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  10:     0x7f7e5563bbe5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  11:     0x7f7e5569478a - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  12:     0x7f7e55690457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  13:     0x7f7e5563bbe5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  14:     0x7f7e5569651f - rustc_trans::base::iter_structural_ty::iter_variant::he70ba81279b20c92
  15:     0x7f7e55695136 - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  16:     0x7f7e55690457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  17:     0x7f7e5563bbe5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  18:     0x7f7e5569651f - rustc_trans::base::iter_structural_ty::iter_variant::he70ba81279b20c92
  19:     0x7f7e55695136 - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  20:     0x7f7e55690457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  21:     0x7f7e5563bbe5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  22:     0x7f7e5569478a - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  23:     0x7f7e55690457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  24:     0x7f7e5563bbe5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  25:     0x7f7e5569651f - rustc_trans::base::iter_structural_ty::iter_variant::he70ba81279b20c92
  26:     0x7f7e55695136 - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  27:     0x7f7e55690457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  28:     0x7f7e5563bbe5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  29:     0x7f7e5569651f - rustc_trans::base::iter_structural_ty::iter_variant::he70ba81279b20c92
  30:     0x7f7e55695136 - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  31:     0x7f7e55690457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  32:     0x7f7e5563bbe5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  33:     0x7f7e5563a4b0 - _<cleanup..DropValue<'tcx> as cleanup..Cleanup<'tcx>>::trans::h012c5d4dc25d481b
  34:     0x7f7e55639a57 - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupHelperMethods<'blk, 'tcx>>::trans_cleanups_to_exit_scope::h25235d0ebda5e4a3
  35:     0x7f7e5563b15b - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupHelperMethods<'blk, 'tcx>>::get_or_create_landing_pad::h1b3312c7060bb49f
  36:     0x7f7e555d7133 - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupMethods<'blk, 'tcx>>::get_landing_pad::h70c61d90463d8794
  37:     0x7f7e555d6d20 - rustc_trans::base::invoke::h4b34892eb6150166
  38:     0x7f7e555ccb4a - rustc_trans::callee::Callee::call::h721e5fc65601b1ff
  39:     0x7f7e556803ee - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  40:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  41:     0x7f7e556dc3d6 - rustc_trans::tvec::write_content::h5db778045dadacd0
  42:     0x7f7e5567fbda - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  43:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  44:     0x7f7e556b09ee - rustc_trans::_match::trans_match_inner::h69c7777311b7e300
  45:     0x7f7e5567eaa5 - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  46:     0x7f7e5567e0ed - rustc_trans::expr::trans_unadjusted::h3a5a0d9e57f899c4
  47:     0x7f7e55635639 - rustc_trans::expr::trans::h5e1eb158681cf248
  48:     0x7f7e55687780 - rustc_trans::expr::trans_addr_of::h97d12027141a36bf
  49:     0x7f7e5567e40f - rustc_trans::expr::trans_unadjusted::h3a5a0d9e57f899c4
  50:     0x7f7e55635639 - rustc_trans::expr::trans::h5e1eb158681cf248
  51:     0x7f7e5563439e - rustc_trans::callee::trans_args::had4ad3ae9fae9584
  52:     0x7f7e555cca92 - rustc_trans::callee::Callee::call::h721e5fc65601b1ff
  53:     0x7f7e556803ee - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  54:     0x7f7e5567e0ed - rustc_trans::expr::trans_unadjusted::h3a5a0d9e57f899c4
  55:     0x7f7e55635639 - rustc_trans::expr::trans::h5e1eb158681cf248
  56:     0x7f7e5563439e - rustc_trans::callee::trans_args::had4ad3ae9fae9584
  57:     0x7f7e555cca92 - rustc_trans::callee::Callee::call::h721e5fc65601b1ff
  58:     0x7f7e556803ee - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  59:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  60:     0x7f7e555f4803 - rustc_trans::expr::trans_adt::h7f5fb4ac92e70dd2
  61:     0x7f7e55680074 - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  62:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  63:     0x7f7e555f4803 - rustc_trans::expr::trans_adt::h7f5fb4ac92e70dd2
  64:     0x7f7e555f3fb8 - rustc_trans::base::trans_named_tuple_constructor::h666ee39620d22e93
  65:     0x7f7e555cc67e - rustc_trans::callee::Callee::call::h721e5fc65601b1ff
  66:     0x7f7e556803ee - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  67:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  68:     0x7f7e55683347 - rustc_trans::expr::trans_rvalue_stmt_unadjusted::h60678948dec10463
  69:     0x7f7e555f620f - rustc_trans::expr::trans_into::h0886054c82efd10c
  70:     0x7f7e556b09ee - rustc_trans::_match::trans_match_inner::h69c7777311b7e300
  71:     0x7f7e5567eaa5 - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  72:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  73:     0x7f7e556ba29d - rustc_trans::_match::mk_binding_alloca::hd19203cafc37a598
  74:     0x7f7e555d832d - rustc_trans::base::init_local::h617967a698cd0329
  75:     0x7f7e555ed794 - rustc_trans::controlflow::trans_block::h78eebe402333d4c3
  76:     0x7f7e5567fb10 - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  77:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  78:     0x7f7e555edabd - rustc_trans::controlflow::trans_block::h78eebe402333d4c3
  79:     0x7f7e555ebe37 - rustc_trans::base::trans_closure::hce4cad2baba38a75
  80:     0x7f7e5563df53 - rustc_trans::closure::trans_closure_expr::h9e5d0907b8a1d92b
  81:     0x7f7e55681073 - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  82:     0x7f7e5567e0ed - rustc_trans::expr::trans_unadjusted::h3a5a0d9e57f899c4
  83:     0x7f7e55635639 - rustc_trans::expr::trans::h5e1eb158681cf248
  84:     0x7f7e5563439e - rustc_trans::callee::trans_args::had4ad3ae9fae9584
  85:     0x7f7e555cca92 - rustc_trans::callee::Callee::call::h721e5fc65601b1ff
  86:     0x7f7e556803ee - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  87:     0x7f7e555f6234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  88:     0x7f7e555edabd - rustc_trans::controlflow::trans_block::h78eebe402333d4c3
  89:     0x7f7e555ebe37 - rustc_trans::base::trans_closure::hce4cad2baba38a75
  90:     0x7f7e555ee380 - rustc_trans::base::trans_fn::he5c9f3096cef336c
  91:     0x7f7e555f9019 - rustc_trans::base::trans_item::h2e00a2a37f0adf00
  92:     0x7f7e556123fb - _<base..TransItemsWithinModVisitor<'a, 'tcx> as rustc_front..intravisit..Visitor<'v>>::visit_item::h42989a4ea480287a
  93:     0x7f7e556103f7 - rustc_front::intravisit::walk_item::h7a37cbc827b77b8a
  94:     0x7f7e555ffc0f - rustc_trans::base::trans_crate::h5d7d0ab38cd208e7
  95:     0x7f7e56895078 - rustc_driver::driver::phase_4_translate_to_llvm::hc60a4fd01d59eaae
  96:     0x7f7e56893905 - rustc_driver::driver::compile_input::_$u7b$$u7b$closure$u7d$$u7d$::h96aedfca5f48d7d6
  97:     0x7f7e568904e8 - rustc_driver::driver::phase_3_run_analysis_passes::_$u7b$$u7b$closure$u7d$$u7d$::h1d5b5af335ae8126
  98:     0x7f7e5688a49b - rustc::ty::context::TyCtxt::create_and_enter::h2656c85b5a638887
  99:     0x7f7e56886f19 - rustc_driver::driver::phase_3_run_analysis_passes::h432eb92c0e12df32
  100:     0x7f7e56859807 - rustc_driver::driver::compile_input::hb8958b270f32a505
 ... <frames omitted>

error: Could not compile `lalrpop`.

To learn more, run the command again with --verbose.

In the event that this isn't actually a compiler bug, sorry about the hassle. If it is, let me know if there's anything else I can do to help!

Metadata

Metadata

Labels

P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions