DimitryAndric wrote: After this PR landed, we're seeing assertion failures when building the FreeBSD cad/OrcaSlicer port (see https://github.com/OrcaSlicer/orcaslicer and https://www.freshports.org/cad/OrcaSlicer/):
``` Assertion failed: (Reader.getContext().getLangOpts().Modules && "already deserialized this template specialization"), function VisitFunctionDecl, file /share/dim/src/llvm/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp, line 988. PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: /share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang++ -DBBL_RELEASE_TO_PUBLIC=1 -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CHARCONV_DYN_LINK -DBOOST_CHARCONV_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_CHRONO_NO_LIB -DBOOST_CONTAINER_DYN_LINK -DBOOST_CONTAINER_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_LOCALE_DYN_LINK -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_DYN_LINK -DBOOST_LOG_NO_LIB -DBOOST_LOG_SETUP_DYN_LINK -DBOOST_LOG_SETUP_NO_LIB -DBOOST_NOWIDE_DYN_LINK -DBOOST_NOWIDE_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_RANDOM_DYN_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DHAVE_DRACO -DHAVE_FFMPEG -DHAVE_FREEIMAGE -DHAVE_FREETYPE -DHAVE_GLES2_EXT -DHAVE_Inspector -DHAVE_OPENGL_EXT -DHAVE_QT -DHAVE_RAPIDJSON -DHAVE_SPNAV -DHAVE_TBB -DHAVE_TK -DHAVE_VTK -DHAVE_XLIB -DLIBNEST2D_GEOMETRIES_libslic3r -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DLIBNEST2D_THREADING_tbb -DNDEBUG -DNLOPT_DLL -DOCC_CONVERT_SIGNALS -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DVTK_OPENGL2_BACKEND -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libslic3r -I/wrkdirs/share/dim/ports/cad/OrcaSlicer/work/.build/src/libslic3r -I/wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/clipper2/Clipper2Lib/include -isystem /usr/local/include/eigen3 -isystem /usr/local/include/dbus-1.0 -isystem /usr/local/lib/dbus-1.0/include -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/.build/src/dev-utils/platform -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libigl -isystem /usr/local/include/opencv4 -isystem /usr/local/include/OpenCASCADE -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/admesh -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/admesh/.. -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/eigen -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/libigl -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/libnest2d/include -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/miniz -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/clipper -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/glu-libtess/include -isystem /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/deps_src/semver -isystem /usr/local/include/Imath -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DwxDEBUG_LEVEL=0 -isystem /usr/local/include -Wall -Wno-reorder -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DwxDEBUG_LEVEL=0 -isystem /usr/local/include -DNDEBUG -std=gnu++17 -fPIC -fsigned-char -Werror=return-type -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-label -Wno-unused-local-typedefs -Wno-sign-compare -Wno-misleading-indentation -Wno-switch -Wno-ignored-attributes -Wno-deprecated-declarations -pthread -DOPENVDB_ABI_VERSION_NUMBER=13 -Winvalid-pch -Xclang -include-pch -Xclang /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/.build/src/libslic3r/CMakeFiles/libslic3r.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/.build/src/libslic3r/CMakeFiles/libslic3r.dir/cmake_pch.hxx -MD -MT src/libslic3r/CMakeFiles/libslic3r.dir/Arrange.cpp.o -MF src/libslic3r/CMakeFiles/libslic3r.dir/Arrange.cpp.o.d -o src/libslic3r/CMakeFiles/libslic3r.dir/Arrange.cpp.o -c /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libslic3r/Arrange.cpp 1. /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libslic3r/GCode/WipeTower.hpp:204:19: current parser token ';' 2. /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libslic3r/GCode/WipeTower.hpp:16:1: parsing namespace 'Slic3r' 3. /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libslic3r/GCode/WipeTower.hpp:24:1: parsing struct/union/class body 'Slic3r::WipeTower' 4. /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libslic3r/GCode/WipeTower.hpp:200:34: parsing function body 'Slic3r::WipeTower::get_bbx' 5. /wrkdirs/share/dim/ports/cad/OrcaSlicer/work/OrcaSlicer-2.3.2/src/libslic3r/GCode/WipeTower.hpp:200:34: in compound statement ('{}') #0 0x0000000003057858 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3057858) #1 0x0000000003055369 llvm::sys::RunSignalHandlers() (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3055369) #2 0x0000000002fc4e23 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0 #3 0x000000082a4608ec handle_signal /usr/src/lib/libthr/thread/thr_sig.c:0:3 #4 0x000000082a45ff0b thr_sighandler /usr/src/lib/libthr/thread/thr_sig.c:262:1 #5 0x00000008282ab2d3 ([vdso]+0x2d3) #6 0x000000082f91ad8a _thr_kill /usr/obj/usr/src/amd64.amd64/lib/libsys/thr_kill.S:4:0 #7 0x000000082de55564 raise /usr/src/lib/libc/gen/raise.c:0:10 #8 0x000000082df07279 abort /usr/src/lib/libc/stdlib/abort.c:67:17 #9 0x000000082de380a1 (/lib/libc.so.7+0xab0a1) #10 0x0000000003e29e9a (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e29e9a) #11 0x0000000003e252c5 clang::ASTDeclReader::Visit(clang::Decl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e252c5) #12 0x0000000003a3629f clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a3629f) #13 0x0000000003e4b19c clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e4b19c) #14 0x0000000003dcdaf7 clang::ASTReader::GetDecl(clang::GlobalDeclID) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3dcdaf7) #15 0x0000000003e28958 clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e28958) #16 0x0000000003e252c5 clang::ASTDeclReader::Visit(clang::Decl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e252c5) #17 0x0000000003a3629f clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a3629f) #18 0x0000000003e4b19c clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e4b19c) #19 0x0000000003dcdaf7 clang::ASTReader::GetDecl(clang::GlobalDeclID) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3dcdaf7) #20 0x0000000003e34129 clang::ASTDeclReader::VisitFriendDecl(clang::FriendDecl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e34129) #21 0x0000000003e252c5 clang::ASTDeclReader::Visit(clang::Decl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e252c5) #22 0x0000000003a3629f clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a3629f) #23 0x0000000003e4b19c clang::ASTReader::ReadDeclRecord(clang::GlobalDeclID) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3e4b19c) #24 0x0000000003dcdaf7 clang::ASTReader::GetDecl(clang::GlobalDeclID) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3dcdaf7) #25 0x0000000003dda7b4 clang::ASTReader::FindExternalLexicalDecls(clang::DeclContext const*, llvm::function_ref<bool (clang::Decl::Kind)>, llvm::SmallVectorImpl<clang::Decl*>&)::$_0::operator()(clang::serialization::ModuleFile*, llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<unsigned long, (llvm::endianness)1, 1ul, 1ul>>) const ASTReader.cpp:0:0 #26 0x0000000003dda5e3 clang::ASTReader::FindExternalLexicalDecls(clang::DeclContext const*, llvm::function_ref<bool (clang::Decl::Kind)>, llvm::SmallVectorImpl<clang::Decl*>&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3dda5e3) #27 0x0000000006208b4b clang::DeclContext::LoadLexicalDeclsFromExternalStorage() const (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x6208b4b) #28 0x00000000062091e7 clang::DeclContext::decls_begin() const (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x62091e7) #29 0x00000000058051e6 clang::Sema::SetCtorInitializers(clang::CXXConstructorDecl*, bool, llvm::ArrayRef<clang::CXXCtorInitializer*>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x58051e6) #30 0x000000000582c477 clang::Sema::DefineImplicitMoveConstructor(clang::SourceLocation, clang::CXXConstructorDecl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x582c477) #31 0x000000000595e782 void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::$_0>(long) SemaExpr.cpp:0:0 #32 0x0000000003a3629f clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a3629f) #33 0x00000000058b5c7b clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x58b5c7b) #34 0x000000000582d08b clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::CXXConstructorDecl*, bool, llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, clang::CXXConstructionKind, clang::SourceRange) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x582d08b) #35 0x000000000582cdad clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::NamedDecl*, clang::CXXConstructorDecl*, llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, clang::CXXConstructionKind, clang::SourceRange) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x582cdad) #36 0x0000000005a40bd2 PerformConstructorInitialization(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::InitializationSequence::Step const&, bool&, bool, bool, clang::SourceLocation, clang::SourceLocation) SemaInit.cpp:0:0 #37 0x0000000005a3b22c clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5a3b22c) #38 0x00000000058060ac BuildImplicitBaseInitializer(clang::Sema&, clang::CXXConstructorDecl*, ImplicitInitializerKind, clang::CXXBaseSpecifier*, bool, clang::CXXCtorInitializer*&) SemaDeclCXX.cpp:0:0 #39 0x000000000580516a clang::Sema::SetCtorInitializers(clang::CXXConstructorDecl*, bool, llvm::ArrayRef<clang::CXXCtorInitializer*>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x580516a) #40 0x000000000582c477 clang::Sema::DefineImplicitMoveConstructor(clang::SourceLocation, clang::CXXConstructorDecl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x582c477) #41 0x000000000595e782 void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::$_0>(long) SemaExpr.cpp:0:0 #42 0x0000000003a3629f clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a3629f) #43 0x00000000058b5c7b clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x58b5c7b) #44 0x000000000582d08b clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::CXXConstructorDecl*, bool, llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, clang::CXXConstructionKind, clang::SourceRange) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x582d08b) #45 0x000000000582cdad clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::NamedDecl*, clang::CXXConstructorDecl*, llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, clang::CXXConstructionKind, clang::SourceRange) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x582cdad) #46 0x0000000005a40bd2 PerformConstructorInitialization(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::InitializationSequence::Step const&, bool&, bool, bool, clang::SourceLocation, clang::SourceLocation) SemaInit.cpp:0:0 #47 0x0000000005a3b22c clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5a3b22c) #48 0x0000000005bffd90 clang::Sema::PerformMoveOrCopyInitialization(clang::InitializedEntity const&, clang::Sema::NamedReturnInfo const&, clang::Expr*, bool) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5bffd90) #49 0x0000000005c01f0c clang::Sema::BuildReturnStmt(clang::SourceLocation, clang::Expr*, bool) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5c01f0c) #50 0x0000000005c014b3 clang::Sema::ActOnReturnStmt(clang::SourceLocation, clang::Expr*, clang::Scope*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5c014b3) #51 0x0000000005558e42 clang::Parser::ParseReturnStatement() (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5558e42) #52 0x0000000005553227 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5553227) #53 0x0000000005551892 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5551892) #54 0x000000000555af5d clang::Parser::ParseCompoundStatementBody(bool) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x555af5d) #55 0x000000000555be11 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x555be11) #56 0x000000000558255f clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x558255f) #57 0x0000000005580c5a clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x5580c5a) #58 0x00000000054fb96d clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributes&, unsigned int, clang::Decl*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54fb96d) #59 0x00000000054f99ae clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54f99ae) #60 0x000000000551b19b clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x551b19b) #61 0x00000000054af9c5 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54af9c5) #62 0x00000000054af5f9 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54af5f9) #63 0x00000000054ae533 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54ae533) #64 0x00000000054f0603 clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54f0603) #65 0x00000000054ef80f clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54ef80f) #66 0x00000000055156a7 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x55156a7) #67 0x00000000054ae145 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54ae145) #68 0x00000000054acc34 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54acc34) #69 0x00000000054a8b5e clang::ParseAST(clang::Sema&, bool, bool) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x54a8b5e) #70 0x0000000003c9c103 clang::FrontendAction::Execute() (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3c9c103) #71 0x0000000003c1d02d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3c1d02d) #72 0x0000000003d73eff clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3d73eff) #73 0x0000000001d11a46 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x1d11a46) #74 0x0000000001d0e6a4 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0 #75 0x0000000003ab22ce void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_0>(long) Job.cpp:0:0 #76 0x0000000002fc4b6c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x2fc4b6c) #77 0x0000000003ab1884 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3ab1884) #78 0x0000000003a76b43 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a76b43) #79 0x0000000003a76d6c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&, bool) const (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a76d6c) #80 0x0000000003a8f7c0 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x3a8f7c0) #81 0x0000000001d0dd6b clang_main(int, char**, llvm::ToolContext const&) (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x1d0dd6b) #82 0x0000000001d1bbf4 main (/share/dim/llvm/llvmorg-20-init-15521-g38b3d87bd384-freebsd16-amd64-ninja-clang-rel-1/bin/clang+++0x1d1bbf4) #83 0x000000082de29edf __libc_start1 /usr/src/lib/libc/csu/libc_start1.c:180:2 ``` The problem is that when it dumps repro files in `/tmp/Arrange-e11902.cpp` and `/tmp/Arrange-e11902.sh`, those compile just fine by themselves, even with the .pch input from the original command! It only crashes when you run the compilation command in the regular build environment. Any ideas on how to reduce such a test case? In any case, I bisected and found that the crash/assertions start at commit 38b3d87bd384a469a6618ec6a971352cb4f813ba, and are still occurring in main as of today (2026-05-07). https://github.com/llvm/llvm-project/pull/111992 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
