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

unexpected panic when compiling the lalrpop crate #32530

Closed
saghm opened this issue Mar 27, 2016 · 10 comments
Closed

unexpected panic when compiling the lalrpop crate #32530

saghm opened this issue Mar 27, 2016 · 10 comments
Assignees
Labels
P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@saghm
Copy link

saghm commented Mar 27, 2016

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!

@alexcrichton alexcrichton added regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. I-nominated T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 27, 2016
@alexcrichton
Copy link
Member

Perhaps fallout from #32293?

cc @nikomatsakis

@afck
Copy link

afck commented Mar 28, 2016

The igd crate is also affected:

   Compiling igd v0.4.2 (file:///home/andreas/git/rust-igd)
     Running `rustc src/lib.rs --crate-name igd --crate-type lib -g --out-dir /home/andreas/git/rust-igd/target/debug --emit=dep-info,link -L dependency=/home/andreas/git/rust-igd/target/debug -L dependency=/home/andreas/git/rust-igd/target/debug/deps --extern rand=/home/andreas/git/rust-igd/target/debug/deps/librand-c724acb3942597d1.rlib --extern regex=/home/andreas/git/rust-igd/target/debug/deps/libregex-08fd4c31cabb9147.rlib --extern hyper=/home/andreas/git/rust-igd/target/debug/deps/libhyper-308072fd099a24f5.rlib --extern xmltree=/home/andreas/git/rust-igd/target/debug/deps/libxmltree-a22dd0794f673ad1.rlib --extern xml=/home/andreas/git/rust-igd/target/debug/deps/libxml-926334bf7dc36a15.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 'assertion failed: declare::get_defined_value(ccx, &symbol).is_none()', ../src/librustc_trans/monomorphize.rs:94
stack backtrace:
   1:     0x7f5dd959f300 - std::sys::backtrace::tracing::imp::write::h63529ecac330b5bc
   2:     0x7f5dd95ac9db - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::h0e99487804ecdaa3
   3:     0x7f5dd95ac577 - std::panicking::default_hook::h1f0a2403a716c4a6
   4:     0x7f5dd95702ff - std::sys_common::unwind::begin_unwind_inner::heae36551373e36bd
   5:     0x7f5dd87d2fef - std::sys_common::unwind::begin_unwind::h422885d31fe250dc
   6:     0x7f5dd887ab8d - rustc_trans::callee::get_fn::h16d5e12c52696e18
   7:     0x7f5dd8825920 - rustc_trans::callee::Callee::def::h6bfa8c0d18edb04c
   8:     0x7f5dd88eb597 - rustc_trans::glue::trans_struct_drop::h342318524db364ab
   9:     0x7f5dd88e8357 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  10:     0x7f5dd8893be5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  11:     0x7f5dd88ec78a - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  12:     0x7f5dd88e8457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  13:     0x7f5dd8893be5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  14:     0x7f5dd88ec78a - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  15:     0x7f5dd88e8457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  16:     0x7f5dd8893be5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  17:     0x7f5dd88ec78a - rustc_trans::base::iter_structural_ty::hcad56d80bbb4b302
  18:     0x7f5dd88e8457 - rustc_trans::glue::get_drop_glue_core::ha9c0e47754271034
  19:     0x7f5dd8893be5 - rustc_trans::glue::drop_ty_core::hf833c0eb521a39ed
  20:     0x7f5dd88924b0 - _<cleanup..DropValue<'tcx> as cleanup..Cleanup<'tcx>>::trans::h012c5d4dc25d481b
  21:     0x7f5dd8891a57 - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupHelperMethods<'blk, 'tcx>>::trans_cleanups_to_exit_scope::h25235d0ebda5e4a3
  22:     0x7f5dd889315b - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupHelperMethods<'blk, 'tcx>>::get_or_create_landing_pad::h1b3312c7060bb49f
  23:     0x7f5dd882f133 - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupMethods<'blk, 'tcx>>::get_landing_pad::h70c61d90463d8794
  24:     0x7f5dd882ed20 - rustc_trans::base::invoke::h4b34892eb6150166
  25:     0x7f5dd8824b4a - rustc_trans::callee::Callee::call::h721e5fc65601b1ff
  26:     0x7f5dd88d83ee - rustc_trans::expr::trans_rvalue_dps_unadjusted::hd53c161e5ecd9e4f
  27:     0x7f5dd884e234 - rustc_trans::expr::trans_into::h0886054c82efd10c
  28:     0x7f5dd891229d - rustc_trans::_match::mk_binding_alloca::hd19203cafc37a598
  29:     0x7f5dd883032d - rustc_trans::base::init_local::h617967a698cd0329
  30:     0x7f5dd8845794 - rustc_trans::controlflow::trans_block::h78eebe402333d4c3
  31:     0x7f5dd8843e37 - rustc_trans::base::trans_closure::hce4cad2baba38a75
  32:     0x7f5dd8846380 - rustc_trans::base::trans_fn::he5c9f3096cef336c
  33:     0x7f5dd8850901 - rustc_trans::base::trans_item::h2e00a2a37f0adf00
  34:     0x7f5dd886a3fb - _<base..TransItemsWithinModVisitor<'a, 'tcx> as rustc_front..intravisit..Visitor<'v>>::visit_item::h42989a4ea480287a
  35:     0x7f5dd88683f7 - rustc_front::intravisit::walk_item::h7a37cbc827b77b8a
  36:     0x7f5dd8857c0f - rustc_trans::base::trans_crate::h5d7d0ab38cd208e7
  37:     0x7f5dd9af7078 - rustc_driver::driver::phase_4_translate_to_llvm::hc60a4fd01d59eaae
  38:     0x7f5dd9af5905 - rustc_driver::driver::compile_input::_$u7b$$u7b$closure$u7d$$u7d$::h96aedfca5f48d7d6
  39:     0x7f5dd9af24e8 - rustc_driver::driver::phase_3_run_analysis_passes::_$u7b$$u7b$closure$u7d$$u7d$::h1d5b5af335ae8126
  40:     0x7f5dd9aec49b - rustc::ty::context::TyCtxt::create_and_enter::h2656c85b5a638887
  41:     0x7f5dd9ae8f19 - rustc_driver::driver::phase_3_run_analysis_passes::h432eb92c0e12df32
  42:     0x7f5dd9abb807 - rustc_driver::driver::compile_input::hb8958b270f32a505
  43:     0x7f5dd9aa9324 - rustc_driver::run_compiler::h146dabfc96bf3a5a
  44:     0x7f5dd9aa68a1 - std::sys_common::unwind::try::try_fn::h847694ac14db1c2b
  45:     0x7f5dd959c95b - __rust_try
  46:     0x7f5dd959c8ed - std::sys_common::unwind::inner_try::h790ed072af125c7c
  47:     0x7f5dd9aa70ea - _<F as alloc..boxed..FnBox<A>>::call_box::h64418c3ccdc3072e
  48:     0x7f5dd95aaba4 - std::sys::thread::Thread::new::thread_start::hdaf9c8e3f2f1c46e
  49:     0x7f5dd17000a3 - start_thread
  50:     0x7f5dd91ff87c - clone
  51:                0x0 - <unknown>

error: Could not compile `igd`.

Caused by:
  Process didn't exit successfully: `rustc src/lib.rs --crate-name igd --crate-type lib -g --out-dir /home/andreas/git/rust-igd/target/debug --emit=dep-info,link -L dependency=/home/andreas/git/rust-igd/target/debug -L dependency=/home/andreas/git/rust-igd/target/debug/deps --extern rand=/home/andreas/git/rust-igd/target/debug/deps/librand-c724acb3942597d1.rlib --extern regex=/home/andreas/git/rust-igd/target/debug/deps/libregex-08fd4c31cabb9147.rlib --extern hyper=/home/andreas/git/rust-igd/target/debug/deps/libhyper-308072fd099a24f5.rlib --extern xmltree=/home/andreas/git/rust-igd/target/debug/deps/libxmltree-a22dd0794f673ad1.rlib --extern xml=/home/andreas/git/rust-igd/target/debug/deps/libxml-926334bf7dc36a15.rlib` (exit code: 101)

@alexcrichton
Copy link
Member

This is also present in the aurelius and oscpad crates

@pnkfelix
Copy link
Member

triage: P-high

@michaelwoerister
Copy link
Member

Might be fixed by #32579 once it lands.

@michaelwoerister
Copy link
Member

I've tested this locally against lalrpop, igd, and aurelius and #32579 indeed seems to do the trick.

@saghm
Copy link
Author

saghm commented Apr 1, 2016

Not sure if this is relevant (especially since the issue seems to have been fixed), but just in case, I've noticed that lalrpop will compile fine for me as a direct dependency for a project (i.e. listed in Cargo.toml); the compiler only seems to panic when it's a subdependency (i.e. when it's not listed in Cargo.toml, but one of the dependencies listed there depends on it).

@dotdash
Copy link
Contributor

dotdash commented Apr 1, 2016

@michaelwoerister @saghm Makes sense. The problem occurs when the same crate is used in two different versions. This resulted in two distinct types which would get the same mangled names for their drop functions, resulting in a name conflict.

@nightmared
Copy link

@dotdash You're probably right. I'm currently working on a little project which uses at the same time nickel (a http server based on hyper) and hyper itself, and it generates the following stacktrace:

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:     0x7f46f295b260 - std::sys::backtrace::tracing::imp::write::hc787ac7b725fc252
   2:     0x7f46f296893b - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::hff309ab1d83ffd90
   3:     0x7f46f29684d7 - std::panicking::default_hook::h08ad3bb09872855b
   4:     0x7f46f292c24f - std::sys_common::unwind::begin_unwind_inner::hfa66df7b3e69707e
   5:     0x7f46f14bffdf - std::sys_common::unwind::begin_unwind::h422885d31fe250dc
   6:     0x7f46f1567db5 - rustc_trans::callee::get_fn::h80509230b00b2d45
   7:     0x7f46f1512b10 - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
   8:     0x7f46f15d8807 - rustc_trans::glue::trans_struct_drop::hdf610ff8cbc85372
   9:     0x7f46f15d551f - rustc_trans::glue::get_drop_glue_core::he8ee956e8079a382
  10:     0x7f46f1580e55 - rustc_trans::glue::drop_ty_core::hc06aa6b2c77ee88e
  11:     0x7f46f15d99fa - rustc_trans::base::iter_structural_ty::hb996c6f6439d346e
  12:     0x7f46f15d5621 - rustc_trans::glue::get_drop_glue_core::he8ee956e8079a382
  13:     0x7f46f1580e55 - rustc_trans::glue::drop_ty_core::hc06aa6b2c77ee88e
  14:     0x7f46f15d99fa - rustc_trans::base::iter_structural_ty::hb996c6f6439d346e
  15:     0x7f46f15d5621 - rustc_trans::glue::get_drop_glue_core::he8ee956e8079a382
  16:     0x7f46f1580e55 - rustc_trans::glue::drop_ty_core::hc06aa6b2c77ee88e
  17:     0x7f46f15d99fa - rustc_trans::base::iter_structural_ty::hb996c6f6439d346e
  18:     0x7f46f15d5621 - rustc_trans::glue::get_drop_glue_core::he8ee956e8079a382
  19:     0x7f46f1580e55 - rustc_trans::glue::drop_ty_core::hc06aa6b2c77ee88e
  20:     0x7f46f157f720 - _<cleanup..DropValue<'tcx> as cleanup..Cleanup<'tcx>>::trans::hfe743496a676c6bd
  21:     0x7f46f157ecc7 - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupHelperMethods<'blk, 'tcx>>::trans_cleanups_to_exit_s
cope::h70ffd6084bb51bb8
  22:     0x7f46f15803cb - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupHelperMethods<'blk, 'tcx>>::get_or_create_landing_pa
d::hab4f305faaf87d7c
  23:     0x7f46f151c323 - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupMethods<'blk, 'tcx>>::get_landing_pad::he3727711541cdf63
  24:     0x7f46f151bf10 - rustc_trans::base::invoke::ha7baf7e086d93914
  25:     0x7f46f1511d3a - rustc_trans::callee::Callee::call::h40441c69ded50749
  26:     0x7f46f15d887d - rustc_trans::glue::trans_struct_drop::hdf610ff8cbc85372
  27:     0x7f46f15d8314 - rustc_trans::glue::trans_struct_drop_flag::h0e7b4e9edbe6cbbc
  28:     0x7f46f15d5888 - rustc_trans::glue::get_drop_glue_core::he8ee956e8079a382
  29:     0x7f46f1580e55 - rustc_trans::glue::drop_ty_core::hc06aa6b2c77ee88e
  30:     0x7f46f157f720 - _<cleanup..DropValue<'tcx> as cleanup..Cleanup<'tcx>>::trans::hfe743496a676c6bd
  31:     0x7f46f1532e5a - _<common..FunctionContext<'blk, 'tcx> as cleanup..CleanupMethods<'blk, 'tcx>>::pop_and_trans_custom_cleanup_s
cope::hb68d67ac515ef149
  32:     0x7f46f15f5c71 - rustc_trans::_match::trans_match_inner::hbdd6056757522568
  33:     0x7f46f15c3c15 - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  34:     0x7f46f153b434 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  35:     0x7f46f1532cad - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  36:     0x7f46f1531027 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  37:     0x7f46f1533570 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  38:     0x7f46f1566c71 - rustc_trans::callee::get_fn::h80509230b00b2d45
  39:     0x7f46f1512b10 - rustc_trans::callee::Callee::def::ha59f7b3a44ed318c
  40:     0x7f46f156172f - rustc_trans::callee::Callee::method_call::h91c54111eae6060e
  41:     0x7f46f15c4b4f - rustc_trans::expr::trans_rvalue_dps_unadjusted::h2767d79242f1a8da
  42:     0x7f46f153b434 - rustc_trans::expr::trans_into::hccfa250f984a4de0
  43:     0x7f46f15ff50d - rustc_trans::_match::mk_binding_alloca::h48ba7e46da50b940
  44:     0x7f46f151d51d - rustc_trans::base::init_local::h5b725441afc1979c
  45:     0x7f46f1532984 - rustc_trans::controlflow::trans_block::h85160ce006cd8aa8
  46:     0x7f46f1531027 - rustc_trans::base::trans_closure::h2b7da2bc6c23f7b2
  47:     0x7f46f1533570 - rustc_trans::base::trans_fn::h9d408db44d2e9f24
  48:     0x7f46f153db21 - rustc_trans::base::trans_item::h6ce564dd6c26e0a3
  49:     0x7f46f155763b - _<base..TransItemsWithinModVisitor<'a, 'tcx> as rustc_front..intravisit..Visitor<'v>>::visit_item::h17575fb31
3345f09
  50:     0x7f46f1555637 - rustc_front::intravisit::walk_item::h3f8f84eead983919
  51:     0x7f46f1544ddf - rustc_trans::base::trans_crate::h1aff7a8470cdce2a
  52:     0x7f46f2ebb3e8 - rustc_driver::driver::phase_4_translate_to_llvm::h7b8775f4874fc83b
  53:     0x7f46f2eb9c75 - rustc_driver::driver::compile_input::_$u7b$$u7b$closure$u7d$$u7d$::h31c654547881d0b4
  54:     0x7f46f2eb6858 - rustc_driver::driver::phase_3_run_analysis_passes::_$u7b$$u7b$closure$u7d$$u7d$::h25b1c02cc580d282
  55:     0x7f46f2eb080b - rustc::ty::context::TyCtxt::create_and_enter::h567cfc6893966048
  56:     0x7f46f2ead289 - rustc_driver::driver::phase_3_run_analysis_passes::h925d8f426a8a3ebf
  57:     0x7f46f2e7fb47 - rustc_driver::driver::compile_input::h4de0250909a780b6
  58:     0x7f46f2e6d5d4 - rustc_driver::run_compiler::hb9ea120b81672dbd
  59:     0x7f46f2e6ab31 - std::sys_common::unwind::try::try_fn::h10e40fd87dec6cc0
  60:     0x7f46f29588bb - __rust_try
  61:     0x7f46f295884d - std::sys_common::unwind::inner_try::h010cc5014fd950a2
  62:     0x7f46f2e6b37a - _<F as std..boxed..FnBox<A>>::call_box::hbe6d6868b645ad75
  63:     0x7f46f2966b04 - std::sys::thread::Thread::new::thread_start::h003cd23941cb846b
  64:     0x7f46ea8353f3 - start_thread
                        at /builddir/glibc-2.23/nptl/pthread_create.c:333
  65:     0x7f46f25bdbac - clone
                        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
  66:                0x0 - <unknown>

error: Could not compile `incipient-webserver-rust`.

(This happens on rustc 1.9.0-nightly (e1195c24b 2016-03-31)).

However, I can confirm that it works flawlessly with rustc 1.8.0-beta.2 (2879d940a 2016-03-22)

@dotdash
Copy link
Contributor

dotdash commented Apr 3, 2016

Fixed by #32579

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

8 participants