Skip to content

Rustc segfault #56942

Closed
Closed
@jethrogb

Description

@jethrogb

Commit 9fe5cb5

"rustc" received signal SIGSEGV, Segmentation fault.

#0  0x00007fffecee0079 in matchVectorShuffleWithSHUFPD(llvm::MVT, llvm::SDValue&, llvm::SDValue&, unsigned int&, llvm::ArrayRef<int>) [clone .isra.591] ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#1  0x00007fffecee0077 in matchVectorShuffleWithSHUFPD(llvm::MVT, llvm::SDValue&, llvm::SDValue&, unsigned int&, llvm::ArrayRef<int>) [clone .isra.591] ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#2  0x00007fffecee0077 in matchVectorShuffleWithSHUFPD(llvm::MVT, llvm::SDValue&, llvm::SDValue&, unsigned int&, llvm::ArrayRef<int>) [clone .isra.591] ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#3  0x00007fffed00cec7 in llvm::X86TTIImpl::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#4  0x00007fffed00fd62 in llvm::X86TTIImpl::getArithmeticReductionCost(unsigned int, llvm::Type*, bool) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#5  0x00007fffed7a0216 in tryToVectorizeHorReductionOrInstOperands(llvm::PHINode*, llvm::Instruction*, llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&, llvm::TargetTransformInfo*, llvm::function_ref<bool (llvm::Instruction*, llvm::slpvectorizer::BoUpSLP&)>) [clone .constprop.1274] ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#6  0x00007fffed7a0cba in llvm::SLPVectorizerPass::vectorizeRootInstruction(llvm::PHINode*, llvm::Value*, llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&, llvm::TargetTransformInfo*) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#7  0x00007fffed7a1bd1 in llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#8  0x00007fffed7a2835 in llvm::SLPVectorizerPass::runImpl(llvm::Function&, llvm::ScalarEvolution*, llvm::TargetTransformInfo*, llvm::TargetLibraryInfo*, llvm::AAResults*, llvm::LoopInfo*, llvm::DominatorTree*, llvm::AssumptionCache*, llvm::DemandedBits*, llvm::OptimizationRemarkEmitter*) [clone .part.1249] ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#9  0x00007fffed7a3d69 in (anonymous namespace)::SLPVectorizer::runOnFunction(llvm::Function&) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#10 0x00007fffee924090 in llvm::FPPassManager::runOnFunction(llvm::Function&) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#11 0x00007fffee924253 in llvm::FPPassManager::runOnModule(llvm::Module&) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#12 0x00007fffee924fa0 in llvm::legacy::PassManagerImpl::run(llvm::Module&) ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#13 0x00007fffee8a8a79 in LLVMRunPassManager ()
   from .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#14 0x00007fffecca8f16 in rustc_codegen_llvm::back::lto::run_pass_manager::h9f668e9524da09a0 (cgcx=0x7fffe9aa22c0, module=0x7fffe9aa1ac0, config=0x55555e5a5670, thin=<optimized out>)
    at src/librustc_codegen_llvm/back/lto.rs:573
#15 0x00007fffecca96b1 in rustc_codegen_llvm::back::lto::optimize_thin_module::h3c6d4e91de0f74ec (thin_module=0x7fffe9aa2018, cgcx=0x7fffe9aa22c0, timeline=0x7fffe9aa2160)
    at src/librustc_codegen_llvm/back/lto.rs:786
#16 0x00007fffecdc3e75 in _$LT$rustc_codegen_ssa..back..lto..LtoModuleCodegen$LT$B$GT$$GT$::optimize::h4d6398ed46f7a71c () at src/librustc_codegen_llvm/lib.rs:208
#17 0x00007fffeccc1b3d in rustc_codegen_ssa::back::write::execute_lto_work_item::h07eadc717511bec0 (cgcx=<optimized out>, module_config=0x55555e5a5670, timeline=<optimized out>, module=<optimized out>)
    at .../rust/src/librustc_codegen_ssa/back/write.rs:854
#18 rustc_codegen_ssa::back::write::execute_work_item::h8527157494ed5c9e (cgcx=0x7fffe9aa22c0, 
    work_item=<unknown type in .../rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so, CU 0x237ec8, DIE 0x284a58>, timeline=0x7fffe9aa2160) at .../rust/src/librustc_codegen_ssa/back/write.rs:702
#19 0x00007fffecc87f98 in rustc_codegen_ssa::back::write::spawn_work::_$u7b$$u7b$closure$u7d$$u7d$::h6f4b9cddacb48edb ()
    at .../rust/src/librustc_codegen_ssa/back/write.rs:1562
#20 std::sys_common::backtrace::__rust_begin_short_backtrace::hea0602731662b0d7 (f=...) at .../rust/src/libstd/sys_common/backtrace.rs:136
#21 0x00007fffecc88ca6 in std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h04efdf50d8efef73 ()
    at .../rust/src/libstd/thread/mod.rs:479
#22 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h308211923a1f5e58 (self=..., _args=<optimized out>)
    at .../rust/src/libstd/panic.rs:319
#23 std::panicking::try::do_call::h7fd3abe3303a43ff (data=<optimized out>) at .../rust/src/libstd/panicking.rs:306
#24 0x00007ffff76d6a9a in __rust_maybe_catch_panic (f=0x4, data=0x7fffe9a9fe1f "_\310\026\031\260\377\177", data_ptr=0x7fffe9aa2658, vtable_ptr=0x7fffe9aa2660) at src/libpanic_unwind/lib.rs:102
#25 0x00007fffecc88b2a in std::panicking::try::h2906051b5766eea8 (f=...) at .../rust/src/libstd/panicking.rs:285
#26 0x00007fffecdbdae4 in std::panic::catch_unwind::h2e17efba275aa578 (f=...) at .../rust/src/libstd/panic.rs:398
#27 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h57e25d37655272ee () at .../rust/src/libstd/thread/mod.rs:478
#28 _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::hff92c3a4cf934e48 (self=0x7fffdc171be0, args=<optimized out>) at .../rust/src/liballoc/boxed.rs:673
#29 0x00007ffff76cc21e in _$LT$alloc..boxed..Box$LT$$LP$dyn$u20$alloc..boxed..FnBox$LT$A$C$$u20$Output$u3d$R$GT$$u20$$u2b$$u20$$u27$a$RP$$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h504cb5f34d4708be (self=..., args=<optimized out>) at .../rust/src/liballoc/boxed.rs:683
#30 std::sys_common::thread::start_thread::h4c4e79f8fe58aba3 (main=0x7fffdc116670 "\340\033\027\334\377\177") at src/libstd/sys_common/thread.rs:24
#31 0x00007ffff76c3f16 in std::sys::unix::thread::Thread::new::thread_start::h6de2632ac055ee80 (main=0x7fffe9a9fe1f) at src/libstd/sys/unix/thread.rs:91
#32 0x00007ffff12a66ba in start_thread (arg=0x7fffe9aa3700) at pthread_create.c:333
#33 0x00007ffff737541d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Stage 2 build finishes fine, this failure happens when building std for x86_64-fortanix-unknown-sgx with xargo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions