Skip to content

Seemingly infinite loop in translation item collection #34416

Closed
@alexcrichton

Description

@alexcrichton

When compiling this file with cargo build --test eventual in that repository (at that revision), the compiler seemingly hangs. The stack trace after awhile is:

#0  0x00007f6d96fb5d59 in _$LT$rustc..ty..sty..TypeVariants$LT$$u27$tcx$GT$$u20$as$u20$core..cmp..PartialEq$GT$::eq::hdc97fea3d2a9ec36 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#1  0x00007f6d96fb4fbb in _$LT$std..collections..hash..set..HashSet$LT$T$C$$u20$S$GT$$GT$::get::h2e6fecee3d8a00a0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#2  0x00007f6d96fb3b1c in rustc::ty::context::CtxtInterners::intern_ty::he404503a59fde7c2 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#3  0x00007f6d96dbf104 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#4  0x00007f6d96dbfd30 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#5  0x00007f6d96dbf210 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#6  0x00007f6d96dc010a in _$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..FromIterator$LT$T$GT$$GT$::from_iter::h4ef495e38b3b392f () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#7  0x00007f6d96dc0067 in rustc::ty::fold::TypeFoldable::fold_with::hca4e6c5f1855cc24 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#8  0x00007f6d96dbf447 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#9  0x00007f6d96dbfd30 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#10 0x00007f6d96dbf210 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#11 0x00007f6d96dbfc76 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#12 0x00007f6d96dbf210 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#13 0x00007f6d96dbfc76 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#14 0x00007f6d96dbf432 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#15 0x00007f6d96dbfd30 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#16 0x00007f6d96dbf210 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#17 0x00007f6d96dbfc76 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#18 0x00007f6d96dbf210 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#19 0x00007f6d96dbfc76 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#20 0x00007f6d96dbf432 in rustc::ty::fold::TypeFolder::fold_ty::hd091a959fe9e93da () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#21 0x00007f6d96dbfd30 in rustc::ty::fold::TypeFolder::fold_substs::h5354c2cb141ecad0 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#22 0x00007f6d96f2fc81 in rustc::ty::fold::TypeFoldable::fold_with::h2226d0564c2753aa () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#23 0x00007f6d96f2f77a in rustc::ty::fold::TypeFoldable::fold_with::h5a066b9faadb555a () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#24 0x00007f6d96f575c9 in rustc::infer::higher_ranked::_$LT$impl$u20$rustc..infer..InferCtxt$LT$$u27$a$C$$u20$$u27$gcx$C$$u20$$u27$tcx$GT$$GT$::plug_leaks::h31ea4f9ecee7e01a () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#25 0x00007f6d96f5896d in rustc::traits::select::SelectionContext::impl_or_trait_obligations::h5cb331c959adfea1 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#26 0x00007f6d96f58f1c in rustc::traits::select::SelectionContext::confirm_impl_candidate::_$u7b$$u7b$closure$u7d$$u7d$::h123590ceb6b13c52 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#27 0x00007f6d96f58b53 in rustc::infer::InferCtxt::in_snapshot::h5b64a26f07e0118e () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#28 0x00007f6d96f44254 in rustc::traits::select::SelectionContext::confirm_candidate::h1588d067a35baf64 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#29 0x00007f6d96f2b48b in rustc::traits::select::SelectionContext::select::h748107d7ba3e7cab () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#30 0x00007f6d96f31bd5 in rustc::traits::project::opt_normalize_projection_type::hdcd0601b73e88ce7 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#31 0x00007f6d96f1a161 in rustc::traits::project::normalize_projection_type::h42ddc46289d47331 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#32 0x00007f6d96d90248 in _$LT$rustc..traits..project..AssociatedTypeNormalizer$LT$$u27$a$C$$u20$$u27$b$C$$u20$$u27$gcx$C$$u20$$u27$tcx$GT$$u20$as$u20$rustc..ty..fold..TypeFolder$LT$$u27$gcx$C$$u20$$u27$tcx$GT$$GT$::fold_ty::hb538441763e332d4 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#33 0x00007f6d96d94493 in rustc::ty::fold::TypeFolder::fold_substs::hcb429e71c727d725 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#34 0x00007f6d96d8fb5b in _$LT$rustc..traits..project..AssociatedTypeNormalizer$LT$$u27$a$C$$u20$$u27$b$C$$u20$$u27$gcx$C$$u20$$u27$tcx$GT$$u20$as$u20$rustc..ty..fold..TypeFolder$LT$$u27$gcx$C$$u20$$u27$tcx$GT$$GT$::fold_ty::hb538441763e332d4 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#35 0x00007f6d96d94493 in rustc::ty::fold::TypeFolder::fold_substs::hcb429e71c727d725 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#36 0x00007f6d96d8fb5b in _$LT$rustc..traits..project..AssociatedTypeNormalizer$LT$$u27$a$C$$u20$$u27$b$C$$u20$$u27$gcx$C$$u20$$u27$tcx$GT$$u20$as$u20$rustc..ty..fold..TypeFolder$LT$$u27$gcx$C$$u20$$u27$tcx$GT$$GT$::fold_ty::hb538441763e332d4 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#37 0x00007f6d96d8ef54 in rustc::traits::project::normalize_with_depth::h1d7e5f812d0949c5 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#38 0x00007f6d96d8e56b in _$LT$$RF$$u27$gcx$u20$rustc..ty..TyS$LT$$u27$gcx$GT$$u20$as$u20$rustc..infer..TransNormalize$LT$$u27$gcx$GT$$GT$::trans_normalize::hc0ed6aa5590a9a37 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc-8102e29f.so
#39 0x00007f6d97e3db13 in rustc::infer::_$LT$impl$u20$rustc..ty..context..TyCtxt$LT$$u27$a$C$$u20$$u27$tcx$C$$u20$$u27$tcx$GT$$GT$::normalize_associated_type::ha192860e5464ab44 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#40 0x00007f6d97ea01cc in _$LT$rustc_trans..collector..MirNeighborCollector$LT$$u27$a$C$$u20$$u27$tcx$GT$$u20$as$u20$rustc..mir..visit..Visitor$LT$$u27$tcx$GT$$GT$::visit_lvalue::h3adecd3a6db5869e () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#41 0x00007f6d97ea1984 in _$LT$rustc_trans..collector..MirNeighborCollector$LT$$u27$a$C$$u20$$u27$tcx$GT$$u20$as$u20$rustc..mir..visit..Visitor$LT$$u27$tcx$GT$$GT$::visit_terminator_kind::hd7becdaf225d43f1 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#42 0x00007f6d97ea00cf in rustc::mir::visit::Visitor::visit_mir::hed913172065cc16c () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#43 0x00007f6d97e99a0b in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#44 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#45 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#46 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#47 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#48 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#49 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#50 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#51 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#52 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#53 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#54 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#55 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#56 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#57 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#58 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#59 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#60 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#61 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#62 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#63 0x00007f6d97e9a747 in rustc_trans::collector::collect_items_rec::hbad9b62cfe28ce98 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#64 0x00007f6d97e5fb34 in rustc_trans::base::collect_and_partition_translation_items::_$u7b$$u7b$closure$u7d$$u7d$::ha31f4a78f586b30e () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#65 0x00007f6d97e4cc4a in rustc_trans::base::trans_crate::h999c47a06d45abea () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_trans-8102e29f.so
#66 0x00007f6d9ac39e50 in rustc_driver::driver::phase_4_translate_to_llvm::had910d0e745bc40f () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#67 0x00007f6d9ac36e8e in rustc_driver::driver::compile_input::_$u7b$$u7b$closure$u7d$$u7d$::hf187cb470aad2bf2 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#68 0x00007f6d9ac335ee in rustc_driver::driver::phase_3_run_analysis_passes::_$u7b$$u7b$closure$u7d$$u7d$::hd565ad56c5876a16 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#69 0x00007f6d9ac2cdba in rustc::ty::context::TyCtxt::create_and_enter::habef58c7230d34f9 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#70 0x00007f6d9abf7f60 in rustc_driver::driver::compile_input::hfd60b020f6d0208d () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#71 0x00007f6d9abe3e85 in rustc_driver::run_compiler::h884d01d12eb76bbb () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#72 0x00007f6d9abe0f5f in std::panicking::try::call::hd72cf79141f67e60 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#73 0x00007f6d9a717c4c in __rust_try () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libstd-8102e29f.so
#74 0x00007f6d9a717bef in __rust_maybe_catch_panic () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libstd-8102e29f.so
#75 0x00007f6d9abe1a45 in _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h589d2091babf223a () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-8102e29f.so
#76 0x00007f6d9a7078b5 in std::sys::thread::Thread::new::thread_start::h9c883b6d445ece46 () from /home/alex/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libstd-8102e29f.so
#77 0x00007f6d9225b182 in start_thread (arg=0x7f6d907ff700) at pthread_create.c:312
#78 0x00007f6d9a34547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

And the logs towards the end look like this: https://gist.github.com/alexcrichton/08e46aaef1c170e74752ce1d75287a02

cc @michaelwoerister, looks to be hanging during translation item collections

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions