Skip to content

Segmentation fault in msys2 booststrap #31498

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
Zoxc opened this issue Feb 8, 2016 · 2 comments
Closed

Segmentation fault in msys2 booststrap #31498

Zoxc opened this issue Feb 8, 2016 · 2 comments

Comments

@Zoxc
Copy link
Contributor

Zoxc commented Feb 8, 2016

Using msys2's MinGW-w64 Win64 shell: ./configure --prefix=/home/John/rust-install --enable-llvm-assertions

Crash:

$ make -j4 VERBOSE=1
cfg: version 1.8.0-dev (26105b1a3 2016-02-08)
cfg: build triple x86_64-pc-windows-gnu
cfg: host triples x86_64-pc-windows-gnu
cfg: target triples x86_64-pc-windows-gnu
cfg: host for x86_64-pc-windows-gnu is x86_64
cfg: os for x86_64-pc-windows-gnu is pc-windows-gnu
cfg: no good valgrind for x86_64-pc-windows-gnu
cfg: using CC=gcc (CFG_CC)
cfg: disabling valgrind run-pass tests
MATCHES=""; if [ -n "$MATCHES" ] ; then echo "warning: removing previous" \'collections-*.dll\' "libraries:" $MATCHES; rm $MATCHES ; fi
MATCHES=""; if [ -n "$MATCHES" ] ; then echo "warning: removing previous" \'libcollections-*.rlib\' "libraries:" $MATCHES; rm $MATCHES ; fi
CFG_LLVM_LINKAGE_FILE=/home/John/rust/x86_64-pc-windows-gnu/rt/llvmdeps.rs PATH=/home/John/rust/x86_64-pc-windows-gnu/stage1/bin:/home/John/rust/x86_64-pc-windows-gnu/llvm/Release+Asserts/lib:$PATH   x86_64-pc-windows-gnu/stage1/bin/rustc.exe --cfg stage1  -O --cfg rtopt -C rpath -C prefer-dynamic --target=x86_64-pc-windows-gnu   -L "x86_64-pc-windows-gnu/rt" -L native="X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\llvm\Release+Asserts/lib"     --out-dir x86_64-pc-windows-gnu/stage1/lib/rustlib/x86_64-pc-windows-gnu/lib -C extra-filename=-db5a760f src/libcollections/lib.rs
/home/John/rust/mk/target.mk:186: recipe for target 'x86_64-pc-windows-gnu/stage1/lib/rustlib/x86_64-pc-windows-gnu/lib/stamp.collections' failed
make: *** [x86_64-pc-windows-gnu/stage1/lib/rustlib/x86_64-pc-windows-gnu/lib/stamp.collections] Segmentation fault

Backtrace in gdb:

Starting program: X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc.exe --cfg stage1 -O --cfg rtopt -C rpath -C prefer-dynamic "--target=x86_64-pc-windows-gnu" -L x86_64-pc-windows-gnu/rt -L "native=X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\llvm\Release+Asserts/lib" --out-dir x86_64-pc-windows-gnu/stage1/lib/rustlib/x86_64-pc-windows-gnu/lib -C "extra-filename=-db5a760f" src/libcollections/lib.rs
[New Thread 868.0x17a8]
[New Thread 868.0x1078]
[New Thread 868.0x362c]
[New Thread 868.0x35d4]
[New Thread 868.0x9c4]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 868.0x9c4]
0x0000000067b23b42 in llvm::Value::setNameImpl(llvm::Twine const&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
(gdb) bt
#0  0x0000000067b23b42 in llvm::Value::setNameImpl(llvm::Twine const&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#1  0x0000000067b23e8d in llvm::Value::setName(llvm::Twine const&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#2  0x0000000067e0d776 in llvm::CastInst* llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::Insert<llvm::CastInst>(llvm::CastInst*, llvm::Twine const&) const ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#3  0x0000000067d9f7f8 in llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateBinOp(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::MDNode*) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#4  0x00000000675ed312 in llvm::InstCombiner::FoldShiftByConstant(llvm::Value*, llvm::Constant*, llvm::BinaryOperator&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#5  0x00000000675ee58b in llvm::InstCombiner::commonShiftTransforms(llvm::BinaryOperator&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#6  0x00000000675eeac5 in llvm::InstCombiner::visitShl(llvm::BinaryOperator&)
    ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#7  0x000000006760d1c4 in llvm::InstCombiner::run() ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#8  0x000000006760eff6 in combineInstructionsOverFunction(llvm::Function&, llvm::InstCombineWorklist&, llvm::AAResults*, llvm::AssumptionCache&, llvm::TargetLibraryInfo&, llvm::DominatorTree&, llvm::LoopInfo*) [clone .constprop.640] ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#9  0x000000006760fb10 in (anonymous namespace)::InstructionCombiningPass::runOnFunction(llvm::Function&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#10 0x0000000067afd579 in llvm::FPPassManager::runOnFunction(llvm::Function&)
    ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#11 0x0000000067797e75 in (anonymous namespace)::CGPassManager::runOnModule(llvm::Module&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#12 0x0000000067afd188 in llvm::legacy::PassManagerImpl::run(llvm::Module&) ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#13 0x00000000679ff90c in LLVMRunPassManager ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_llvm-db5a760f.dll
#14 0x00000000702f0c9c in back::write::execute_work_item::h08cd91d03bb04594AOd
    ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_trans-db5a760f.dll
#15 0x00000000702ea859 in back::write::run_passes::hab324ab12b269975qAd ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_trans-db5a760f.dll
#16 0x000000006c719535 in driver::phase_5_run_llvm_passes::h58d9e772a0350e9431a ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_driver-db5a760f.dll
#17 0x000000006c6d567f in driver::compile_input::hc714680c0ed8b10fBca ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_driver-db5a760f.dll
#18 0x000000006c6c62df in run_compiler::h45bb558ed35f9b69QGc ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_driver-db5a760f.dll
#19 0x000000006c6c384b in sys_common::unwind::try::try_fn::try_fn::h12851304469381378973 ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_driver-db5a760f.dll
#20 0x000000006e1ed47b in sys_common::unwind::inner_try::hfc7c7b7f89552260Jbt
    ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\std-db5a760f.dll
#21 0x000000006c6c40fd in boxed::F.FnBox$LT$A$GT$::call_box::call_box::h4188113259173574423 ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\rustc_driver-db5a760f.dll
#22 0x000000006e1fedae in sys::thread::Thread::new::thread_start::h8829c3b9108943f0Buy ()
   from X:\Programmer\msys64\home\John\rust\x86_64-pc-windows-gnu\stage1\bin\std-db5a760f.dll
#23 0x00007ffe47d88102 in KERNEL32!BaseThreadInitThunk ()
   from C:\WINDOWS\system32\kernel32.dll
#24 0x00007ffe4a89c2e4 in ntdll!RtlUserThreadStart ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
#25 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) q
A debugging session is active.

        Inferior 1 [process 868] will be killed.
@petrochenkov
Copy link
Contributor

Duplicate of #28445

@alexcrichton
Copy link
Member

Ah yeah looks like it, this comes about when using a newer gcc which is known to produce an LLVM which will later segfault when run, unfortunately no investigation has happened to figure out what's happening under the hood here yet.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants