Skip to content

Revert "[C++20][Modules] Improve namespace look-up performance for modules. (#171769)"#174783

Merged
alexfh merged 1 commit intollvm:mainfrom
mpark:revert-modules-perf-namespaces
Jan 7, 2026
Merged

Revert "[C++20][Modules] Improve namespace look-up performance for modules. (#171769)"#174783
alexfh merged 1 commit intollvm:mainfrom
mpark:revert-modules-perf-namespaces

Conversation

@mpark
Copy link
Member

@mpark mpark commented Jan 7, 2026

This reverts commit 1928c1e.

We have at least one repro, but I won't be able to work on this until next week. Also with Clang 22 cut upcoming, we probably need to revert for now.

@llvmbot llvmbot added clang Clang issues not falling into any other category clang:modules C++20 modules and Clang Header Modules labels Jan 7, 2026
@llvmbot
Copy link
Member

llvmbot commented Jan 7, 2026

@llvm/pr-subscribers-clang-modules

@llvm/pr-subscribers-clang

Author: Michael Park (mpark)

Changes

This reverts commit 1928c1e.


Full diff: https://github.com/llvm/llvm-project/pull/174783.diff

4 Files Affected:

  • (modified) clang/lib/Serialization/ASTReader.cpp (+11-47)
  • (modified) clang/lib/Serialization/ASTWriter.cpp (+5-23)
  • (modified) clang/unittests/Serialization/CMakeLists.txt (-1)
  • (removed) clang/unittests/Serialization/NamespaceLookupTest.cpp (-247)
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp
index c2426e88158b9..66cf484bb5cb6 100644
--- a/clang/lib/Serialization/ASTReader.cpp
+++ b/clang/lib/Serialization/ASTReader.cpp
@@ -555,25 +555,7 @@ namespace {
 
 using MacroDefinitionsMap =
     llvm::StringMap<std::pair<StringRef, bool /*IsUndef*/>>;
-
-class DeclsSet {
-  SmallVector<NamedDecl *, 64> Decls;
-  llvm::SmallPtrSet<NamedDecl *, 8> Found;
-
-public:
-  operator ArrayRef<NamedDecl *>() const { return Decls; }
-
-  bool empty() const { return Decls.empty(); }
-
-  bool insert(NamedDecl *ND) {
-    auto [_, Inserted] = Found.insert(ND);
-    if (Inserted)
-      Decls.push_back(ND);
-    return Inserted;
-  }
-};
-
-using DeclsMap = llvm::DenseMap<DeclarationName, DeclsSet>;
+using DeclsMap = llvm::DenseMap<DeclarationName, SmallVector<NamedDecl *, 8>>;
 
 } // namespace
 
@@ -8752,23 +8734,14 @@ bool ASTReader::FindExternalVisibleDeclsByName(const DeclContext *DC,
     return false;
 
   // Load the list of declarations.
-  DeclsSet DS;
+  SmallVector<NamedDecl *, 64> Decls;
+  llvm::SmallPtrSet<NamedDecl *, 8> Found;
 
   auto Find = [&, this](auto &&Table, auto &&Key) {
     for (GlobalDeclID ID : Table.find(Key)) {
       NamedDecl *ND = cast<NamedDecl>(GetDecl(ID));
-      if (ND->getDeclName() != Name)
-        continue;
-      // Special case for namespaces: There can be a lot of redeclarations of
-      // some namespaces, and we import a "key declaration" per imported module.
-      // Since all declarations of a namespace are essentially interchangeable,
-      // we can optimize namespace look-up by only storing the key declaration
-      // of the current TU, rather than storing N key declarations where N is
-      // the # of imported modules that declare that namespace.
-      // TODO: Try to generalize this optimization to other redeclarable decls.
-      if (isa<NamespaceDecl>(ND))
-        ND = cast<NamedDecl>(getKeyDeclaration(ND));
-      DS.insert(ND);
+      if (ND->getDeclName() == Name && Found.insert(ND).second)
+        Decls.push_back(ND);
     }
   };
 
@@ -8803,8 +8776,8 @@ bool ASTReader::FindExternalVisibleDeclsByName(const DeclContext *DC,
     Find(It->second.Table, Name);
   }
 
-  SetExternalVisibleDeclsForName(DC, Name, DS);
-  return !DS.empty();
+  SetExternalVisibleDeclsForName(DC, Name, Decls);
+  return !Decls.empty();
 }
 
 void ASTReader::completeVisibleDeclsMap(const DeclContext *DC) {
@@ -8822,16 +8795,7 @@ void ASTReader::completeVisibleDeclsMap(const DeclContext *DC) {
 
     for (GlobalDeclID ID : It->second.Table.findAll()) {
       NamedDecl *ND = cast<NamedDecl>(GetDecl(ID));
-      // Special case for namespaces: There can be a lot of redeclarations of
-      // some namespaces, and we import a "key declaration" per imported module.
-      // Since all declarations of a namespace are essentially interchangeable,
-      // we can optimize namespace look-up by only storing the key declaration
-      // of the current TU, rather than storing N key declarations where N is
-      // the # of imported modules that declare that namespace.
-      // TODO: Try to generalize this optimization to other redeclarable decls.
-      if (isa<NamespaceDecl>(ND))
-        ND = cast<NamedDecl>(getKeyDeclaration(ND));
-      Decls[ND->getDeclName()].insert(ND);
+      Decls[ND->getDeclName()].push_back(ND);
     }
 
     // FIXME: Why a PCH test is failing if we remove the iterator after findAll?
@@ -8841,9 +8805,9 @@ void ASTReader::completeVisibleDeclsMap(const DeclContext *DC) {
   findAll(ModuleLocalLookups, NumModuleLocalVisibleDeclContexts);
   findAll(TULocalLookups, NumTULocalVisibleDeclContexts);
 
-  for (auto &[Name, DS] : Decls)
-    SetExternalVisibleDeclsForName(DC, Name, DS);
-
+  for (DeclsMap::iterator I = Decls.begin(), E = Decls.end(); I != E; ++I) {
+    SetExternalVisibleDeclsForName(DC, I->first, I->second);
+  }
   const_cast<DeclContext *>(DC)->setHasExternalVisibleStorage(false);
 }
 
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index f9176b7e68f73..39104da10d0b7 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -4397,20 +4397,20 @@ class ASTDeclContextNameLookupTrait
 
   template <typename Coll> data_type getData(const Coll &Decls) {
     unsigned Start = DeclIDs.size();
-    auto AddDecl = [this](NamedDecl *D) {
+    for (NamedDecl *D : Decls) {
       NamedDecl *DeclForLocalLookup =
           getDeclForLocalLookup(Writer.getLangOpts(), D);
 
       if (Writer.getDoneWritingDeclsAndTypes() &&
           !Writer.wasDeclEmitted(DeclForLocalLookup))
-        return;
+        continue;
 
       // Try to avoid writing internal decls to reduced BMI.
       // See comments in ASTWriter::WriteDeclContextLexicalBlock for details.
       if (Writer.isGeneratingReducedBMI() &&
           !DeclForLocalLookup->isFromExplicitGlobalModule() &&
           IsInternalDeclFromFileContext(DeclForLocalLookup))
-        return;
+        continue;
 
       auto ID = Writer.GetDeclRef(DeclForLocalLookup);
 
@@ -4424,7 +4424,7 @@ class ASTDeclContextNameLookupTrait
             ModuleLocalDeclsMap.insert({Key, DeclIDsTy{ID}});
           else
             Iter->second.push_back(ID);
-          return;
+          continue;
         }
         break;
       case LookupVisibility::TULocal: {
@@ -4433,7 +4433,7 @@ class ASTDeclContextNameLookupTrait
           TULocalDeclsMap.insert({D->getDeclName(), DeclIDsTy{ID}});
         else
           Iter->second.push_back(ID);
-        return;
+        continue;
       }
       case LookupVisibility::GenerallyVisibile:
         // Generally visible decls go into the general lookup table.
@@ -4441,24 +4441,6 @@ class ASTDeclContextNameLookupTrait
       }
 
       DeclIDs.push_back(ID);
-    };
-    ASTReader *Chain = Writer.getChain();
-    for (NamedDecl *D : Decls) {
-      if (Chain && isa<NamespaceDecl>(D) && D->isFromASTFile() &&
-          D == Chain->getKeyDeclaration(D)) {
-        // In ASTReader, we stored only the key declaration of a namespace decl
-        // for this TU rather than storing all of the key declarations from each
-        // imported module. If we have an external namespace decl, this is that
-        // key declaration and we need to re-expand it to write out all of the
-        // key declarations from each imported module again.
-        //
-        // See comment 'ASTReader::FindExternalVisibleDeclsByName' for details.
-        Chain->forEachImportedKeyDecl(D, [&AddDecl](const Decl *D) {
-          AddDecl(cast<NamedDecl>(const_cast<Decl *>(D)));
-        });
-      } else {
-        AddDecl(D);
-      }
     }
     return std::make_pair(Start, DeclIDs.size());
   }
diff --git a/clang/unittests/Serialization/CMakeLists.txt b/clang/unittests/Serialization/CMakeLists.txt
index a5cc1ed83af49..6782e6b4d7330 100644
--- a/clang/unittests/Serialization/CMakeLists.txt
+++ b/clang/unittests/Serialization/CMakeLists.txt
@@ -2,7 +2,6 @@ add_clang_unittest(SerializationTests
   ForceCheckFileInputTest.cpp
   InMemoryModuleCacheTest.cpp
   ModuleCacheTest.cpp
-  NamespaceLookupTest.cpp
   NoCommentsTest.cpp
   PreambleInNamedModulesTest.cpp
   LoadSpecLazilyTest.cpp
diff --git a/clang/unittests/Serialization/NamespaceLookupTest.cpp b/clang/unittests/Serialization/NamespaceLookupTest.cpp
deleted file mode 100644
index eefa4be9fbee5..0000000000000
--- a/clang/unittests/Serialization/NamespaceLookupTest.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-//== unittests/Serialization/NamespaceLookupOptimizationTest.cpp =======//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Driver/CreateInvocationFromArgs.h"
-#include "clang/Frontend/CompilerInstance.h"
-#include "clang/Frontend/FrontendAction.h"
-#include "clang/Frontend/FrontendActions.h"
-#include "clang/Parse/ParseAST.h"
-#include "clang/Serialization/ASTReader.h"
-#include "clang/Tooling/Tooling.h"
-#include "gtest/gtest.h"
-
-using namespace llvm;
-using namespace clang;
-using namespace clang::tooling;
-
-namespace {
-
-class NamespaceLookupTest : public ::testing::Test {
-  void SetUp() override {
-    ASSERT_FALSE(
-        sys::fs::createUniqueDirectory("namespace-lookup-test", TestDir));
-  }
-
-  void TearDown() override { sys::fs::remove_directories(TestDir); }
-
-public:
-  SmallString<256> TestDir;
-
-  void addFile(StringRef Path, StringRef Contents) {
-    ASSERT_FALSE(sys::path::is_absolute(Path));
-
-    SmallString<256> AbsPath(TestDir);
-    sys::path::append(AbsPath, Path);
-
-    ASSERT_FALSE(
-        sys::fs::create_directories(llvm::sys::path::parent_path(AbsPath)));
-
-    std::error_code EC;
-    llvm::raw_fd_ostream OS(AbsPath, EC);
-    ASSERT_FALSE(EC);
-    OS << Contents;
-  }
-
-  std::string GenerateModuleInterface(StringRef ModuleName,
-                                      StringRef Contents) {
-    std::string FileName = llvm::Twine(ModuleName + ".cppm").str();
-    addFile(FileName, Contents);
-
-    IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS =
-        llvm::vfs::createPhysicalFileSystem();
-    DiagnosticOptions DiagOpts;
-    IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
-        CompilerInstance::createDiagnostics(*VFS, DiagOpts);
-    CreateInvocationOptions CIOpts;
-    CIOpts.Diags = Diags;
-    CIOpts.VFS = VFS;
-
-    std::string CacheBMIPath =
-        llvm::Twine(TestDir + "/" + ModuleName + ".pcm").str();
-    std::string PrebuiltModulePath =
-        "-fprebuilt-module-path=" + TestDir.str().str();
-    const char *Args[] = {"clang++",
-                          "-std=c++20",
-                          "--precompile",
-                          PrebuiltModulePath.c_str(),
-                          "-working-directory",
-                          TestDir.c_str(),
-                          "-I",
-                          TestDir.c_str(),
-                          FileName.c_str(),
-                          "-o",
-                          CacheBMIPath.c_str()};
-    std::shared_ptr<CompilerInvocation> Invocation =
-        createInvocation(Args, CIOpts);
-    EXPECT_TRUE(Invocation);
-
-    CompilerInstance Instance(std::move(Invocation));
-    Instance.setDiagnostics(Diags);
-    Instance.getFrontendOpts().OutputFile = CacheBMIPath;
-    // Avoid memory leaks.
-    Instance.getFrontendOpts().DisableFree = false;
-    GenerateModuleInterfaceAction Action;
-    EXPECT_TRUE(Instance.ExecuteAction(Action));
-    EXPECT_FALSE(Diags->hasErrorOccurred());
-
-    return CacheBMIPath;
-  }
-};
-
-struct NamespaceLookupResult {
-  int NumLocalNamespaces = 0;
-  int NumExternalNamespaces = 0;
-};
-
-class NamespaceLookupConsumer : public ASTConsumer {
-  NamespaceLookupResult &Result;
-
-public:
-  explicit NamespaceLookupConsumer(NamespaceLookupResult &Result)
-      : Result(Result) {}
-
-  void HandleTranslationUnit(ASTContext &Context) override {
-    TranslationUnitDecl *TU = Context.getTranslationUnitDecl();
-    ASSERT_TRUE(TU);
-    ASTReader *Chain = dyn_cast_or_null<ASTReader>(Context.getExternalSource());
-    ASSERT_TRUE(Chain);
-    for (const Decl *D :
-         TU->lookup(DeclarationName(&Context.Idents.get("N")))) {
-      if (!isa<NamespaceDecl>(D))
-        continue;
-      if (!D->isFromASTFile()) {
-        ++Result.NumLocalNamespaces;
-      } else {
-        ++Result.NumExternalNamespaces;
-        EXPECT_EQ(D, Chain->getKeyDeclaration(D));
-      }
-    }
-  }
-};
-
-class NamespaceLookupAction : public ASTFrontendAction {
-  NamespaceLookupResult &Result;
-
-public:
-  explicit NamespaceLookupAction(NamespaceLookupResult &Result)
-      : Result(Result) {}
-
-  std::unique_ptr<ASTConsumer>
-  CreateASTConsumer(CompilerInstance &CI, StringRef /*Unused*/) override {
-    return std::make_unique<NamespaceLookupConsumer>(Result);
-  }
-};
-
-TEST_F(NamespaceLookupTest, ExternalNamespacesOnly) {
-  GenerateModuleInterface("M1", R"cpp(
-export module M1;
-namespace N {}
-  )cpp");
-  GenerateModuleInterface("M2", R"cpp(
-export module M2;
-namespace N {}
-  )cpp");
-  GenerateModuleInterface("M3", R"cpp(
-export module M3;
-namespace N {}
-  )cpp");
-  const char *test_file_contents = R"cpp(
-import M1;
-import M2;
-import M3;
-  )cpp";
-  std::string DepArg = "-fprebuilt-module-path=" + TestDir.str().str();
-  NamespaceLookupResult Result;
-  EXPECT_TRUE(runToolOnCodeWithArgs(
-      std::make_unique<NamespaceLookupAction>(Result), test_file_contents,
-      {
-          "-std=c++20",
-          DepArg.c_str(),
-          "-I",
-          TestDir.c_str(),
-      },
-      "main.cpp"));
-
-  EXPECT_EQ(0, Result.NumLocalNamespaces);
-  EXPECT_EQ(1, Result.NumExternalNamespaces);
-}
-
-TEST_F(NamespaceLookupTest, ExternalReplacedByLocal) {
-  GenerateModuleInterface("M1", R"cpp(
-export module M1;
-namespace N {}
-  )cpp");
-  GenerateModuleInterface("M2", R"cpp(
-export module M2;
-namespace N {}
-  )cpp");
-  GenerateModuleInterface("M3", R"cpp(
-export module M3;
-namespace N {}
-  )cpp");
-  const char *test_file_contents = R"cpp(
-import M1;
-import M2;
-import M3;
-
-namespace N {}
-  )cpp";
-  std::string DepArg = "-fprebuilt-module-path=" + TestDir.str().str();
-  NamespaceLookupResult Result;
-  EXPECT_TRUE(runToolOnCodeWithArgs(
-      std::make_unique<NamespaceLookupAction>(Result), test_file_contents,
-      {
-          "-std=c++20",
-          DepArg.c_str(),
-          "-I",
-          TestDir.c_str(),
-      },
-      "main.cpp"));
-
-  EXPECT_EQ(1, Result.NumLocalNamespaces);
-  EXPECT_EQ(0, Result.NumExternalNamespaces);
-}
-
-TEST_F(NamespaceLookupTest, LocalAndExternalInterleaved) {
-  GenerateModuleInterface("M1", R"cpp(
-export module M1;
-namespace N {}
-  )cpp");
-  GenerateModuleInterface("M2", R"cpp(
-export module M2;
-namespace N {}
-  )cpp");
-  GenerateModuleInterface("M3", R"cpp(
-export module M3;
-namespace N {}
-  )cpp");
-  const char *test_file_contents = R"cpp(
-import M1;
-
-namespace N {}
-
-import M2;
-import M3;
-  )cpp";
-  std::string DepArg = "-fprebuilt-module-path=" + TestDir.str().str();
-  NamespaceLookupResult Result;
-  EXPECT_TRUE(runToolOnCodeWithArgs(
-      std::make_unique<NamespaceLookupAction>(Result), test_file_contents,
-      {
-          "-std=c++20",
-          DepArg.c_str(),
-          "-I",
-          TestDir.c_str(),
-      },
-      "main.cpp"));
-
-  EXPECT_EQ(1, Result.NumLocalNamespaces);
-  EXPECT_EQ(1, Result.NumExternalNamespaces);
-}
-
-} // namespace

@alexfh alexfh merged commit c6e0e7d into llvm:main Jan 7, 2026
10 checks passed
@mpark mpark deleted the revert-modules-perf-namespaces branch January 7, 2026 16:37
@llvm-ci
Copy link

llvm-ci commented Jan 7, 2026

LLVM Buildbot has detected a new failure on builder clang-m68k-linux-cross running on suse-gary-m68k-cross while building clang at step 5 "ninja check 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/27/builds/21164

Here is the relevant piece of the build log for the reference
Step 5 (ninja check 1) failure: stage 1 checked (failure)
...
[74/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/LSPClient.cpp.o
[75/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/PathMappingTests.cpp.o
[76/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/CallHierarchyTests.cpp.o
[77/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/ProjectAwareIndexTests.cpp.o
[78/1251] Building CXX object tools/clang/tools/extra/unittests/clang-tidy/CMakeFiles/ClangTidyTests.dir/AddConstTest.cpp.o
[79/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/LSPBinderTests.cpp.o
[80/1251] Building CXX object tools/clang/tools/extra/unittests/clang-tidy/CMakeFiles/ClangTidyTests.dir/ObjCModuleTest.cpp.o
[81/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/CodeCompletionStringsTests.cpp.o
[82/1251] Building CXX object tools/clang/tools/extra/unittests/clang-doc/CMakeFiles/ClangDocTests.dir/SerializeTest.cpp.o
[83/1251] Building CXX object tools/clang/tools/extra/include-cleaner/unittests/CMakeFiles/ClangIncludeCleanerTests.dir/FindHeadersTest.cpp.o
FAILED: tools/clang/tools/extra/include-cleaner/unittests/CMakeFiles/ClangIncludeCleanerTests.dir/FindHeadersTest.cpp.o 
/usr/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/tools/clang/tools/extra/include-cleaner/unittests -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang-tools-extra/include-cleaner/unittests -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang/include -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/tools/clang/include -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/include -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/include -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang-tools-extra/include-cleaner/include -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang-tools-extra/include-cleaner/unittests/../lib -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include -I/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googlemock/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -std=c++17 -UNDEBUG -Wno-variadic-macros -fno-exceptions -funwind-tables -fno-rtti -Wno-suggest-override -MD -MT tools/clang/tools/extra/include-cleaner/unittests/CMakeFiles/ClangIncludeCleanerTests.dir/FindHeadersTest.cpp.o -MF tools/clang/tools/extra/include-cleaner/unittests/CMakeFiles/ClangIncludeCleanerTests.dir/FindHeadersTest.cpp.o.d -o tools/clang/tools/extra/include-cleaner/unittests/CMakeFiles/ClangIncludeCleanerTests.dir/FindHeadersTest.cpp.o -c /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
[84/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/DiagnosticsTests.cpp.o
[85/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/SymbolDocumentationTests.cpp.o
[86/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/InsertionPointTests.cpp.o
[87/1251] Building CXX object tools/clang/tools/extra/unittests/clang-tidy/CMakeFiles/ClangTidyTests.dir/ModernizeModuleTest.cpp.o
In file included from /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/gtest-param-test.h:181,
                 from /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/gtest.h:68,
                 from /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang-tools-extra/unittests/clang-tidy/ModernizeModuleTest.cpp:11:
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h: In instantiation of ‘class testing::internal::ParameterizedTestFactory<clang::tidy::test::SizeTest_TokenSize_Test>’:
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h:445:12:   required from ‘testing::internal::TestFactoryBase* testing::internal::TestMetaFactory<TestSuite>::CreateTestFactory(ParamType) [with TestSuite = clang::tidy::test::SizeTest_TokenSize_Test; ParamType = clang::tidy::test::{anonymous}::SizeParam]’
  445 |     return new ParameterizedTestFactory<TestSuite>(parameter);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h:444:20:   required from here
  444 |   TestFactoryBase* CreateTestFactory(ParamType parameter) override {
      |                    ^~~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h:399:7: warning: ‘testing::internal::ParameterizedTestFactory<clang::tidy::test::SizeTest_TokenSize_Test>’ has a field ‘const testing::internal::ParameterizedTestFactory<clang::tidy::test::SizeTest_TokenSize_Test>::ParamType testing::internal::ParameterizedTestFactory<clang::tidy::test::SizeTest_TokenSize_Test>::parameter_’ whose type uses the anonymous namespace [-Wsubobject-linkage]
  399 | class ParameterizedTestFactory : public TestFactoryBase {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h: In instantiation of ‘class testing::internal::ParameterizedTestFactory<clang::tidy::test::MatcherTest_MatchResult_Test>’:
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h:445:12:   required from ‘testing::internal::TestFactoryBase* testing::internal::TestMetaFactory<TestSuite>::CreateTestFactory(ParamType) [with TestSuite = clang::tidy::test::MatcherTest_MatchResult_Test; ParamType = clang::tidy::test::{anonymous}::MatchParam]’
  445 |     return new ParameterizedTestFactory<TestSuite>(parameter);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h:444:20:   required from here
  444 |   TestFactoryBase* CreateTestFactory(ParamType parameter) override {
      |                    ^~~~~~~~~~~~~~~~~
/var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h:399:7: warning: ‘testing::internal::ParameterizedTestFactory<clang::tidy::test::MatcherTest_MatchResult_Test>’ has a field ‘const testing::internal::ParameterizedTestFactory<clang::tidy::test::MatcherTest_MatchResult_Test>::ParamType testing::internal::ParameterizedTestFactory<clang::tidy::test::MatcherTest_MatchResult_Test>::parameter_’ whose type uses the anonymous namespace [-Wsubobject-linkage]
  399 | class ParameterizedTestFactory : public TestFactoryBase {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
[88/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/IndexActionTests.cpp.o
[89/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/IncludeCleanerTests.cpp.o
[90/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/FindSymbolsTests.cpp.o
[91/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/ClangdTests.cpp.o
[92/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/IndexTests.cpp.o
[93/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/FindTargetTests.cpp.o
[94/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/SemanticSelectionTests.cpp.o
[95/1251] Building CXX object tools/clang/tools/extra/clangd/unittests/CMakeFiles/ClangdTests.dir/SerializationTests.cpp.o

@llvm-ci
Copy link

llvm-ci commented Jan 7, 2026

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-gcc-ubuntu running on sie-linux-worker3 while building clang at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/29746

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'lld :: COFF/linkreprofullpathrsp.test' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
rm -rf /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.dir /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.obj
# executed command: rm -rf /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.dir /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.obj
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/yaml2obj /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/hello32.yaml -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.obj
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/yaml2obj /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/hello32.yaml -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.obj
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/yaml2obj /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/empty.yaml -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.obj
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/yaml2obj /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/empty.yaml -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.obj
# note: command had no output on stdout or stderr
# RUN: at line 6
rm -f /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.lib
# executed command: rm -f /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.lib
# note: command had no output on stdout or stderr
# RUN: at line 7
llvm-ar rcs /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.lib /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.obj
# executed command: llvm-ar rcs /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.lib /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.obj
# note: command had no output on stdout or stderr
# RUN: at line 8
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llvm-pdbutil yaml2pdb /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/pdb-type-server-simple-ts.yaml -pdb /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.pdb
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llvm-pdbutil yaml2pdb /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/pdb-type-server-simple-ts.yaml -pdb /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.pdb
# note: command had no output on stdout or stderr
# RUN: at line 12
mkdir -p /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.dir/build1
# executed command: mkdir -p /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.dir/build1
# note: command had no output on stdout or stderr
# RUN: at line 13
cd /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.dir/build1
# executed command: cd /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.dir/build1
# note: command had no output on stdout or stderr
# RUN: at line 14
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/lld-link /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.obj /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/std32.lib /subsystem:console /defaultlib:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/library.lib   /libpath:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs /defaultlib:std64.lib ret42.lib /entry:main@0 /linkreprofullpathrsp:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.rsp   /wholearchive:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.lib /out:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.exe /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.pdb
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/lld-link /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.obj /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/std32.lib /subsystem:console /defaultlib:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs/library.lib /libpath:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/Inputs /defaultlib:std64.lib ret42.lib /entry:main@0 /linkreprofullpathrsp:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.rsp /wholearchive:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.archive.lib /out:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.exe /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.pdb
# note: command had no output on stdout or stderr
# RUN: at line 17
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/linkreprofullpathrsp.test --check-prefix=RSP -DT=/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp -DP=/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF < /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.rsp
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF/linkreprofullpathrsp.test --check-prefix=RSP -DT=/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp -DP=/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/lld/test/COFF
# note: command had no output on stdout or stderr
# RUN: at line 19
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/lld-link @/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.rsp /out:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp2.exe /entry:main@0
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/lld-link @/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp.rsp /out:/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test/COFF/Output/linkreprofullpathrsp.test.tmp2.exe /entry:main@0
# note: command had no output on stdout or stderr
# RUN: at line 20
...

@llvm-ci
Copy link

llvm-ci commented Jan 8, 2026

LLVM Buildbot has detected a new failure on builder clang-s390x-linux-lnt running on systemz-1 while building clang at step 7 "ninja check 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/136/builds/6375

Here is the relevant piece of the build log for the reference
Step 7 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'libFuzzer-s390x-default-Linux :: fuzzer-timeout.test' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/./bin/clang    -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/lib/fuzzer  /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/TimeoutTest.cpp -o /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest # RUN: at line 1
+ /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/./bin/clang -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/lib/fuzzer /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/TimeoutTest.cpp -o /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest
/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/./bin/clang    -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/lib/fuzzer  /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/TimeoutEmptyTest.cpp -o /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutEmptyTest # RUN: at line 2
+ /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/./bin/clang -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/lib/fuzzer /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/TimeoutEmptyTest.cpp -o /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutEmptyTest
not  /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest -timeout=1 2>&1 | FileCheck /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/fuzzer-timeout.test --check-prefix=TimeoutTest # RUN: at line 3
+ not /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest -timeout=1
+ FileCheck /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/fuzzer-timeout.test --check-prefix=TimeoutTest
not  /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest -timeout=1 /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/hi.txt 2>&1 | FileCheck /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/fuzzer-timeout.test --check-prefix=SingleInputTimeoutTest # RUN: at line 12
+ not /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest -timeout=1 /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/hi.txt
+ FileCheck /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/compiler-rt/test/fuzzer/fuzzer-timeout.test --check-prefix=SingleInputTimeoutTest
/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest -timeout=1 -timeout_exitcode=0 # RUN: at line 16
+ /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/runtimes/runtimes-bins/compiler-rt/test/fuzzer/S390XDefaultLinuxConfig/Output/fuzzer-timeout.test.tmp-TimeoutTest -timeout=1 -timeout_exitcode=0
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 2100393585
INFO: Loaded 1 modules   (13 inline 8-bit counters): 13 [0x2aa0de55e78, 0x2aa0de55e85), 
INFO: Loaded 1 PC tables (13 PCs): 13 [0x2aa0de55e88,0x2aa0de55f58), 
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes
INFO: A corpus is not provided, starting from an empty corpus
#2	INITED cov: 2 ft: 2 corp: 1/1b exec/s: 0 rss: 31Mb
#5096	NEW    cov: 3 ft: 3 corp: 2/26b lim: 53 exec/s: 0 rss: 32Mb L: 25/25 MS: 4 ChangeBit-ChangeBit-ShuffleBytes-InsertRepeatedBytes-
#5127	REDUCE cov: 3 ft: 3 corp: 2/16b lim: 53 exec/s: 0 rss: 32Mb L: 15/15 MS: 1 EraseBytes-
#5168	REDUCE cov: 3 ft: 3 corp: 2/10b lim: 53 exec/s: 0 rss: 32Mb L: 9/9 MS: 1 EraseBytes-
#5215	REDUCE cov: 3 ft: 3 corp: 2/6b lim: 53 exec/s: 0 rss: 32Mb L: 5/5 MS: 2 CrossOver-EraseBytes-
#5262	REDUCE cov: 3 ft: 3 corp: 2/4b lim: 53 exec/s: 0 rss: 32Mb L: 3/3 MS: 2 ChangeBinInt-EraseBytes-
#5356	REDUCE cov: 3 ft: 3 corp: 2/3b lim: 53 exec/s: 0 rss: 32Mb L: 2/2 MS: 4 ShuffleBytes-ShuffleBytes-CopyPart-EraseBytes-
#5374	REDUCE cov: 4 ft: 4 corp: 3/4b lim: 53 exec/s: 0 rss: 32Mb L: 1/2 MS: 3 ShuffleBytes-ShuffleBytes-EraseBytes-
#8735	REDUCE cov: 5 ft: 5 corp: 4/66b lim: 86 exec/s: 0 rss: 32Mb L: 62/62 MS: 1 InsertRepeatedBytes-
#8789	REDUCE cov: 5 ft: 5 corp: 4/47b lim: 86 exec/s: 0 rss: 32Mb L: 43/43 MS: 4 InsertRepeatedBytes-CopyPart-CopyPart-EraseBytes-
#8796	REDUCE cov: 5 ft: 5 corp: 4/40b lim: 86 exec/s: 0 rss: 32Mb L: 36/36 MS: 2 CopyPart-EraseBytes-
#8803	REDUCE cov: 5 ft: 5 corp: 4/25b lim: 86 exec/s: 0 rss: 32Mb L: 21/21 MS: 2 ChangeBit-EraseBytes-
#8811	REDUCE cov: 5 ft: 5 corp: 4/22b lim: 86 exec/s: 0 rss: 32Mb L: 18/18 MS: 3 CopyPart-ChangeByte-EraseBytes-
#8819	REDUCE cov: 5 ft: 5 corp: 4/16b lim: 86 exec/s: 0 rss: 32Mb L: 12/12 MS: 3 CrossOver-ChangeBit-EraseBytes-
#8931	REDUCE cov: 5 ft: 5 corp: 4/15b lim: 86 exec/s: 0 rss: 32Mb L: 11/11 MS: 2 ChangeByte-CrossOver-
#8977	REDUCE cov: 5 ft: 5 corp: 4/10b lim: 86 exec/s: 0 rss: 32Mb L: 6/6 MS: 1 EraseBytes-
#8998	REDUCE cov: 5 ft: 5 corp: 4/7b lim: 86 exec/s: 0 rss: 32Mb L: 3/3 MS: 1 EraseBytes-
#9094	REDUCE cov: 6 ft: 6 corp: 5/9b lim: 86 exec/s: 0 rss: 32Mb L: 2/3 MS: 1 EraseBytes-
ALARM: working on the last Unit for 1 seconds
       and the timeout value is 1 (use -timeout=N to change)
MS: 1 ChangeByte-; base unit: c74064c97231114b678d2204fde8965f65080db6
0x48,0x69,0x21,
Hi!
artifact_prefix='./'; Test unit written to ./timeout-c0a0ad26a634840c67a210fefdda76577b03a111
Base64: SGkh
==202260== ERROR: libFuzzer: timeout after 1 seconds
AddressSanitizer:DEADLYSIGNAL
...

Priyanshu3820 pushed a commit to Priyanshu3820/llvm-project that referenced this pull request Jan 18, 2026
…dules. (llvm#171769)" (llvm#174783)

This reverts commit 1928c1e.

We have at least one repro, but I won't be able to work on this until
next week. Also with Clang 22 cut upcoming, we probably need to revert
for now.
mpark added a commit to mpark/llvm-project that referenced this pull request Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:modules C++20 modules and Clang Header Modules clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants