Xazax-hun wrote:

We started to see a CI failure around the time this PR landed in 
https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-Rthinlto/1079/

The build hangs in this step (using a stage 2 compiler):
```
12:39:17  [384/5387] : && 
DYLD_LIBRARY_PATH=/Users/ec2-user/jenkins/workspace/llvm.org/clang-stage2-Rthinlto/host-compiler/lib/
 
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool"
 -static -no_warning_for_no_symbols -o lib/libbenchmark_main.a  
third-party/benchmark/src/CMakeFiles/benchmark_main.dir/benchmark_main.cc.o && :
```

This is where the compiler seems to hang:
```
Analysis of sampling clang++ (pid 12682) every 1 millisecond
Process:         clang-22 [12682]
Path:            /Users/*/clang-22
Load Address:    0x1054d1000
Identifier:      clang-22
Version:         22.0.0git (0)
Code Type:       X86-64
Platform:        macOS
Parent Process:  ninja [12327]

Date/Time:       2025-08-12 17:39:29.604 +0000
Launch Time:     2025-08-12 04:30:26.246 +0000
OS Version:      macOS 15.1.1 (24B91)
Report Version:  7
Analysis Tool:   /usr/bin/sample

Physical footprint:         83.4M
Physical footprint (peak):  83.4M
Idle exit:                  untracked
----

Call graph:
    120 Thread_240531   DispatchQueue_1: com.apple.main-thread  (serial)
      120 start  (in dyld) + 1805  [0x7ff804e212cd]
        120 main  (in clang-22) + 128  [0x1054e1670]
          120 clang_main(int, char**, llvm::ToolContext const&)  (in clang-22) 
+ 5620  [0x1054d4254]
            120 
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, 
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&)  (in 
clang-22) + 352  [0x108d26fa0]
              120 
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, 
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) 
const  (in clang-22) + 143  [0x108d0cc5f]
                120 
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, 
clang::driver::Command const*&, bool) const  (in clang-22) + 524  [0x108d0ca5c]
                  120 
clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>,
 std::basic_string<char>*, bool*) const  (in clang-22) + 297  [0x108d433a9]
                    120 
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)  (in 
clang-22) + 130  [0x10b389442]
                      120 llvm::function_ref<void 
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>,
 std::basic_string<char>*, bool*) const::$_0>(long)  (in clang-22) + 30  
[0x108d43ace]
                        120 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, 
llvm::ToolContext const&)  (in clang-22) + 395  [0x1054d49db]
                          120 cc1_main(llvm::ArrayRef<char const*>, char 
const*, void*)  (in clang-22) + 4289  [0x1054d77e1]
                            120 
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)  (in clang-22) + 632 
 [0x106d7c3e8]
                              120 
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)  (in clang-22) + 
941  [0x108bfc91d]
                                120 clang::FrontendAction::Execute()  (in 
clang-22) + 42  [0x108c7a14a]
                                  120 clang::ParseAST(clang::Sema&, bool, bool) 
 (in clang-22) + 782  [0x108ec538e]
                                    120 
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, 
clang::Sema::ModuleImportState&)  (in clang-22) + 1528  [0x108f9c968]
                                      120 
clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, 
clang::ParsedAttributes&, clang::ParsingDeclSpec*)  (in clang-22) + 1391  
[0x108f9e33f]
                                        120 
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, 
clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier)  (in 
clang-22) + 625  [0x108f9f8e1]
                                          120 
clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, 
clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier)  (in 
clang-22) + 1314  [0x108fa00a2]
                                            120 
clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, 
clang::DeclaratorContext, clang::ParsedAttributes&, 
clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, 
clang::Parser::ForRangeInit*)  (in clang-22) + 4893  [0x108ed9a1d]
                                              120 
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, 
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)  
(in clang-22) + 2342  [0x108fa0b86]
                                                120 
clang::Sema::ActOnDefaultCtorInitializers(clang::Decl*)  (in clang-22) + 101  
[0x1093acc95]
                                                  120 
clang::Sema::SetCtorInitializers(clang::CXXConstructorDecl*, bool, 
llvm::ArrayRef<clang::CXXCtorInitializer*>)  (in clang-22) + 3444  [0x1093a8f84]
                                                    120 
CollectFieldInitializer(clang::Sema&, (anonymous namespace)::BaseAndFieldInfo&, 
clang::FieldDecl*, clang::IndirectFieldDecl*)  (in clang-22) + 3017  
[0x1093aa979]
                                                      120 
clang::InitializationSequence::InitializeFrom(clang::Sema&, 
clang::InitializedEntity const&, clang::InitializationKind const&, 
llvm::MutableArrayRef<clang::Expr*>, bool, bool)  (in clang-22) + 2750  
[0x10956527e]
                                                        120 
TryConstructorInitialization(clang::Sema&, clang::InitializedEntity const&, 
clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, 
clang::QualType, clang::QualType, clang::InitializationSequence&, bool, bool)  
(in clang-22) + 565  [0x109583df5]
                                                          120 
clang::Sema::LookupConstructors(clang::CXXRecordDecl*)  (in clang-22) + 152  
[0x1095a60a8]
                                                            120 
clang::DeclContext::lookupImpl(clang::DeclarationName, clang::DeclContext 
const*) const  (in clang-22) + 733  [0x109d4f6bd]
                                                              120 
clang::ASTReader::FindExternalVisibleDeclsByName(clang::DeclContext const*, 
clang::DeclarationName, clang::DeclContext const*)  (in clang-22) + 453  
[0x108ff3795]
                                                                120 
_ZZN5clang9ASTReader30FindExternalVisibleDeclsByNameEPKNS_11DeclContextENS_15DeclarationNameES3_ENK3$_0clIRNS_13serialization20MultiOnDiskHashTableINS7_6reader29ASTDeclContextNameLookupTraitEEERS4_EEDaOT_OT0_
  (in clang-22) + 105  [0x108ff39c9]
                                                                  120 
clang::ASTReader::GetDecl(clang::GlobalDeclID)  (in clang-22) + 149  
[0x108fe7615]
                                                                    120 
clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID)  (in clang-22) + 3749  
[0x10905f335]
                                                                      120 
clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation,
 llvm::function_ref<void ()>)  (in clang-22) + 47  [0x10a3621af]
                                                                        120 
clang::ASTDeclReader::Visit(clang::Decl*)  (in clang-22) + 21  [0x1090338f5]
                                                                          120 
clang::ASTDeclReader::VisitCXXMethodDecl(clang::CXXMethodDecl*)  (in clang-22) 
+ 22  [0x109040d36]
                                                                            120 
clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*)  (in clang-22) + 
5529  [0x109038089]
                                                                              
120 clang::ASTDeclReader::findExisting(clang::NamedDecl*)  (in clang-22) + 995  
[0x10905a8b3]
                                                                                
120 clang::ASTContext::isSameEntity(clang::NamedDecl const*, clang::NamedDecl 
const*) const  (in clang-22) + 1921  [0x109b58981]
                                                                                
  120 clang::NamedDecl::getLinkageInternal() const  (in clang-22) + 168  
[0x109d2cd78]
                                                                                
    120 clang::LinkageComputer::getLVForDecl(clang::NamedDecl const*, 
clang::LVComputationKind)  (in clang-22) + 151  [0x109d29eb7]
                                                                                
      120 clang::LinkageComputer::getLVForClassMember(clang::NamedDecl const*, 
clang::LVComputationKind, bool)  (in clang-22) + 648  [0x109d2b9b8]
                                                                                
        120 clang::Type::getLinkage() const  (in clang-22) + 14  [0x10a20ac3e]
                                                                                
          120 clang::TypePropertyCache<(anonymous 
namespace)::Private>::ensure(clang::Type const*)  (in clang-22) + 151  
[0x10a20ad07]
                                                                                
            120 clang::TypePropertyCache<(anonymous 
namespace)::Private>::ensure(clang::Type const*)  (in clang-22) + 664  
[0x10a20af08]
                                                                                
              120 clang::TypePropertyCache<(anonymous 
namespace)::Private>::ensure(clang::Type const*)  (in clang-22) + 380  
[0x10a20adec]
                                                                                
                120 clang::NamedDecl::getLinkageInternal() const  (in clang-22) 
+ 168  [0x109d2cd78]
                                                                                
                  91 clang::LinkageComputer::getLVForDecl(clang::NamedDecl 
const*, clang::LVComputationKind)  (in clang-22) + 351  [0x109d29f7f]
                                                                                
                  + 74 
clang::Redeclarable<clang::TagDecl>::DeclLink::getPrevious(clang::TagDecl 
const*) const  (in clang-22) + 6,1,...  [0x1070c6706,0x1070c6701,...]
                                                                                
                  + 17 clang::TagDecl::getNextRedeclarationImpl()  (in 
clang-22) + 0,7,...  [0x109d3da70,0x109d3da77,...]
                                                                                
                  29 clang::LinkageComputer::getLVForDecl(clang::NamedDecl 
const*, clang::LVComputationKind)  (in clang-22) + 337,315,...  
[0x109d29f71,0x109d29f5b,...]

Total number in stack (recursive counted multiple, when >=5):

Sort by top of stack, same collapsed (when >= 5):
        
clang::Redeclarable<clang::TagDecl>::DeclLink::getPrevious(clang::TagDecl 
const*) const  (in clang-22)        74
        clang::LinkageComputer::getLVForDecl(clang::NamedDecl const*, 
clang::LVComputationKind)  (in clang-22)        29
        clang::TagDecl::getNextRedeclarationImpl()  (in clang-22)        1
```

Any ideas what might be going on here?

https://github.com/llvm/llvm-project/pull/147835
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to