llvm / llvm/llvm-project

Clang-20 keeps crashing on my system

Open
#158,373 3 comments 0 reactions 0 assignees View on GitHub
crash lld:ELF
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

I am using Clang-20 with gcc-13 for libstdc++, but while compiling LLVM with it, the compiler keeps on crashing randomly with no real error message. If I rerun the same thing, it will pass and then fail randomly at some other compilation. Is this some issue with my machine or some resource constraint that triggers OOM?

```
Stack dump:
0. Program arguments: /usr/bin/ld.lld -z relro --hash-style=gnu --build-id --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o bin/llvm-gsymutil /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib --color-diagnostics --dependency-file=tools/llvm-gsymutil/CMakeFiles/llvm-gsymutil.dir/link.d tools/llvm-gsymutil/CMakeFiles/llvm-gsymutil.dir/llvm-gsymutil.cpp.o tools/llvm-gsymutil/CMakeFiles/llvm-gsymutil.dir/llvm-gsymutil-driver.cpp.o -rpath $ORIGIN/../lib: lib/libLLVMX86CodeGen.a lib/libLLVMX86AsmParser.a lib/libLLVMX86Desc.a lib/libLLVMX86Disassembler.a lib/libLLVMX86Info.a lib/libLLVMAMDGPUCodeGen.a lib/libLLVMAMDGPUAsmParser.a lib/libLLVMAMDGPUDesc.a lib/libLLVMAMDGPUDisassembler.a lib/libLLVMAMDGPUInfo.a lib/libLLVMAMDGPUUtils.a lib/libLLVMDebugInfoDWARF.a lib/libLLVMDebugInfoGSYM.a lib/libLLVMMC.a lib/libLLVMObject.a lib/libLLVMOption.a lib/libLLVMSupport.a lib/libLLVMTargetParser.a lib/libLLVMAsmPrinter.a lib/libLLVMMIRParser.a lib/libLLVMPasses.a lib/libLLVMCFGuard.a lib/libLLVMGlobalISel.a lib/libLLVMSelectionDAG.a lib/libLLVMCodeGen.a lib/libLLVMCGData.a lib/libLLVMIRPrinter.a lib/libLLVMObjCARCOpts.a lib/libLLVMTarget.a lib/libLLVMHipStdPar.a lib/libLLVMCoroutines.a lib/libLLVMipo.a lib/libLLVMInstrumentation.a lib/libLLVMBitWriter.a lib/libLLVMFrontendOpenMP.a lib/libLLVMScalarOpts.a lib/libLLVMAggressiveInstCombine.a lib/libLLVMInstCombine.a lib/libLLVMFrontendOffloading.a lib/libLLVMObjectYAML.a lib/libLLVMFrontendAtomic.a lib/libLLVMFrontendDirective.a lib/libLLVMLinker.a lib/libLLVMVectorize.a lib/libLLVMTransformUtils.a lib/libLLVMSandboxIR.a lib/libLLVMAnalysis.a lib/libLLVMProfileData.a lib/libLLVMSymbolize.a lib/libLLVMDebugInfoDWARFLowLevel.a lib/libLLVMDebugInfoPDB.a lib/libLLVMIRReader.a lib/libLLVMBitReader.a lib/libLLVMAsmParser.a lib/libLLVMTextAPI.a lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a lib/libLLVMDebugInfoBTF.a lib/libLLVMFrontendHLSL.a lib/libLLVMCore.a lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a lib/libLLVMMCParser.a lib/libLLVMCodeGenTypes.a lib/libLLVMMCDisassembler.a lib/libLLVMBinaryFormat.a -lrt -ldl -lm /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libzstd.so lib/libLLVMDemangle.a -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /lib/x86_64-linux-gnu/crtn.o
#0 0x00007f4c1e28fd01 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3fd01)
#1 0x00007f4c1e28da3e llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3da3e)
#2 0x00007f4c1e290236 (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe40236)
#3 0x00007f4c1cef1520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x000000000055ba95 (/usr/bin/ld.lld+0x55ba95)
#5 0x000000000054dc39 lld::elf::LinkerDriver::link(llvm::opt::InputArgList&) (/usr/bin/ld.lld+0x54dc39)
#6 0x0000000000541ac4 lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef) (/usr/bin/ld.lld+0x541ac4)
#7 0x000000000053fd97 lld::elf::link(llvm::ArrayRef, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (/usr/bin/ld.lld+0x53fd97)
#8 0x000000000048b235 (/usr/bin/ld.lld+0x48b235)
#9 0x000000000048a998 main (/usr/bin/ld.lld+0x48a998)
#10 0x00007f4c1ced8d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#11 0x00007f4c1ced8e40 call_init ./csu/../csu/libc-start.c:128:20
#12 0x00007f4c1ced8e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#13 0x000000000048a4d5 _start (/usr/bin/ld.lld+0x48a4d5)
clang++-20: error: unable to execute command: Segmentation fault (core dumped)
clang++-20: error: linker command failed due to signal (use -v to see invocation)
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the LLVM build with clang++-20 and the linker command shown for bin/llvm-gsymutil. Inspect the /usr/bin/ld.lld stack dump, especially LinkerDriver::link, and determine whether repeated failures correlate with resource exhaustion or a linker crash; done means identifying a reproducible cause or a sufficiently reduced reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.