Skip to content

Segmentation fault in msys2 booststrap #31498

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

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.

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

No branches or pull requests

3 participants