https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287803

            Bug ID: 287803
           Summary: clang internal error when building C++20 modules
           Product: Base System
           Version: 15.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: [email protected]
          Reporter: [email protected]

FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git
llvmorg-19.1.7-0-gcd708029e0b2)

using src ~07313e0f710bf932258cd980e7362366760b9221 (2025-06-21).

reproducer to follow shortly.

Stack dump:
0.      Program arguments: /usr/bin/c++ -cc1 -triple x86_64-unknown-freebsd15.0
-emit-module-interface -disable-free -clear-ast-before-backend -main-file-name
real.ccm -mrelocation-model static -mframe-pointer=all -ffp-contract=on
-fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64
-tune-cpu generic -debug-info-kind=standalone -dwarf-version=4
-debugger-tuning=gdb -fdebug-compilation-dir=/home/lexi/src/nihil/main/build
-fcoverage-compilation-dir=/home/lexi/src/nihil/main/build -resource-dir
/usr/lib/clang/19 -dependency-file
nihil.ucl/CMakeFiles/nihil.ucl.dir/real.ccm.o.d -MT
nihil.ucl/CMakeFiles/nihil.ucl.dir/real.ccm.o -sys-header-deps
-module-file-deps -I /usr/local/include -internal-isystem /usr/include/c++/v1
-internal-isystem /usr/lib/clang/19/include -internal-externc-isystem
/usr/include -W -Wall -Wextra -Werror -Wpedantic -std=gnu++26
-fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fno-implicit-modules
-fmodule-file=nihil.ucl:object=nihil.ucl/CMakeFiles/nihil.ucl.dir/nihil.ucl-object.pcm
-fmodule-file=nihil=nihil/CMakeFiles/nihil.dir/nihil.pcm
-fmodule-file=nihil.ucl:error=nihil.ucl/CMakeFiles/nihil.ucl.dir/nihil.ucl-error.pcm
-fmodule-file=nihil.ucl:type=nihil.ucl/CMakeFiles/nihil.ucl.dir/nihil.ucl-type.pcm
-fmodule-file=nihil:argv=nihil/CMakeFiles/nihil.dir/nihil-argv.pcm
-fmodule-file=nihil:command_map=nihil/CMakeFiles/nihil.dir/nihil-command_map.pcm
-fmodule-file=nihil:ctype=nihil/CMakeFiles/nihil.dir/nihil-ctype.pcm
-fmodule-file=nihil:ensure_dir=nihil/CMakeFiles/nihil.dir/nihil-ensure_dir.pcm
-fmodule-file=nihil:error=nihil/CMakeFiles/nihil.dir/nihil-error.pcm
-fmodule-file=nihil:exec=nihil/CMakeFiles/nihil.dir/nihil-exec.pcm
-fmodule-file=nihil:fd=nihil/CMakeFiles/nihil.dir/nihil-fd.pcm
-fmodule-file=nihil:find_in_path=nihil/CMakeFiles/nihil.dir/nihil-find_in_path.pcm
-fmodule-file=nihil:format_filesystem=nihil/CMakeFiles/nihil.dir/nihil-format_filesystem.pcm
-fmodule-file=nihil:generator=nihil/CMakeFiles/nihil.dir/nihil-generator.pcm
-fmodule-file=nihil:generic_error=nihil/CMakeFiles/nihil.dir/nihil-generic_error.pcm
-fmodule-file=nihil:getenv=nihil/CMakeFiles/nihil.dir/nihil-getenv.pcm
-fmodule-file=nihil:guard=nihil/CMakeFiles/nihil.dir/nihil-guard.pcm
-fmodule-file=nihil:match=nihil/CMakeFiles/nihil.dir/nihil-match.pcm
-fmodule-file=nihil:monad=nihil/CMakeFiles/nihil.dir/nihil-monad.pcm
-fmodule-file=nihil:next_word=nihil/CMakeFiles/nihil.dir/nihil-next_word.pcm
-fmodule-file=nihil:open_file=nihil/CMakeFiles/nihil.dir/nihil-open_file.pcm
-fmodule-file=nihil:process=nihil/CMakeFiles/nihil.dir/nihil-process.pcm
-fmodule-file=nihil:read_file=nihil/CMakeFiles/nihil.dir/nihil-read_file.pcm
-fmodule-file=nihil:skipws=nihil/CMakeFiles/nihil.dir/nihil-skipws.pcm
-fmodule-file=nihil:spawn=nihil/CMakeFiles/nihil.dir/nihil-spawn.pcm
-fmodule-file=nihil:tabulate=nihil/CMakeFiles/nihil.dir/nihil-tabulate.pcm
-fmodule-file=nihil:usage_error=nihil/CMakeFiles/nihil.dir/nihil-usage_error.pcm
-fmodule-file=nihil:uuid=nihil/CMakeFiles/nihil.dir/nihil-uuid.pcm
-fmodule-file=nihil:write_file=nihil/CMakeFiles/nihil.dir/nihil-write_file.pcm
-fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -faddrsig
-D__GCC_HAVE_DWARF2_CFI_ASM=1 -o
nihil.ucl/CMakeFiles/nihil.ucl.dir/nihil.ucl-real.pcm -x c++
/home/lexi/src/nihil/main/nihil.ucl/real.ccm
1.      <eof> parser at end of file
 #0 0x000001ffdd3939a9 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
/home/srcmastr/src/lf/main/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:13
 #1 0x000001ffdd391715 llvm::sys::RunSignalHandlers()
/home/srcmastr/src/lf/main/contrib/llvm-project/llvm/lib/Support/Signals.cpp:106:18
 #2 0x000001ffdd3940b7 SignalHandler
/home/srcmastr/src/lf/main/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:3
 #3 0x000001ffe105793c handle_signal
/home/srcmastr/src/lf/main/lib/libthr/thread/thr_sig.c:0:3
 #4 0x000001ffe1056f0b thr_sighandler
/home/srcmastr/src/lf/main/lib/libthr/thread/thr_sig.c:262:1
 #5 0x000001ffd2e622d3 ([vdso]+0x2d3)
 #6 0x000001ffe52e472a thr_kill
/build/freebsd/obj/home/srcmastr/src/lf/main/amd64.amd64/lib/libsys/thr_kill.S:4:0
 #7 0x000001ffe3596ee4 raise
/home/srcmastr/src/lf/main/lib/libc/gen/raise.c:0:10
 #8 0x000001ffe364a489 abort
/home/srcmastr/src/lf/main/lib/libc/stdlib/abort.c:67:17
 #9 0x000001ffe3579e41 (/lib/libc.so.7+0x97e41)
#10 0x000001ffd8674391 getLocalOwningModule
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/include/clang/AST/DeclBase.h:818:5
#11 0x000001ffd8674391 getOwningModule
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/include/clang/AST/DeclBase.h:836:58
#12 0x000001ffd8674391 clang::ASTWriter::wasDeclEmitted(clang::Decl const*)
const
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Serialization/ASTWriter.cpp:6288:3
#13 0x000001ffd8689229 clang::ASTWriter::WriteDeclAndTypes(clang::ASTContext&)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Serialization/ASTWriter.cpp:5711:9
#14 0x000001ffd86848de clang::ASTWriter::WriteASTCore(clang::Sema&,
llvm::StringRef, clang::Module*)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Serialization/ASTWriter.cpp:5519:3
#15 0x000001ffd86836a4 clang::ASTWriter::WriteAST(clang::Sema&,
llvm::StringRef, clang::Module*, llvm::StringRef, bool)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Serialization/ASTWriter.cpp:4885:23
#16 0x000001ffd86e3cd1 operator->
/build/freebsd/obj/home/srcmastr/src/lf/main/amd64.amd64/tmp/usr/include/c++/v1/__memory/shared_ptr.h:744:12
#17 0x000001ffd86e3cd1
clang::PCHGenerator::HandleTranslationUnit(clang::ASTContext&)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Serialization/GeneratePCH.cpp:77:3
#18 0x000001ffd86e3f1b operator->
/build/freebsd/obj/home/srcmastr/src/lf/main/amd64.amd64/tmp/usr/include/c++/v1/__memory/shared_ptr.h:744:12
#19 0x000001ffd86e3f1b isComplete
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/include/clang/Serialization/ASTWriter.h:937:36
#20 0x000001ffd86e3f1b
clang::CXX20ModulesGenerator::HandleTranslationUnit(clang::ASTContext&)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Serialization/GeneratePCH.cpp:122:8
#21 0x000001ffd783dccc operator++
/build/freebsd/obj/home/srcmastr/src/lf/main/amd64.amd64/tmp/usr/include/c++/v1/__iterator/wrap_iter.h:55:5
#22 0x000001ffd783dccc
clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Frontend/MultiplexConsumer.cpp:326:23
#23 0x000001ffd796a189 begin
/build/freebsd/obj/home/srcmastr/src/lf/main/amd64.amd64/tmp/usr/include/c++/v1/vector:1412:28
#24 0x000001ffd796a189
finalize<std::__1::vector<std::__1::unique_ptr<clang::TemplateInstantiationCallback,
std::__1::default_delete<clang::TemplateInstantiationCallback> >,
std::__1::allocator<std::__1::unique_ptr<clang::TemplateInstantiationCallback,
std::__1::default_delete<clang::TemplateInstantiationCallback> > > > >
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/include/clang/Sema/TemplateInstCallback.h:54:16
#25 0x000001ffd796a189 clang::ParseAST(clang::Sema&, bool, bool)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Parse/ParseAST.cpp:191:3
#26 0x000001ffd77d8aa2 clang::FrontendAction::Execute()
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1082:10
#27 0x000001ffd774b0ed getPtr
/home/srcmastr/src/lf/main/contrib/llvm-project/llvm/include/llvm/Support/Error.h:279:42
#28 0x000001ffd774b0ed operator bool
/home/srcmastr/src/lf/main/contrib/llvm-project/llvm/include/llvm/Support/Error.h:242:16
#29 0x000001ffd774b0ed
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1061:23
#30 0x000001ffd786c445
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:280:25
#31 0x000001f7b265bf21 cc1_main
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/tools/driver/cc1_main.cpp:284:15
#32 0x000001f7b266a1af ExecuteCC1Tool
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/tools/driver/driver.cpp:217:12
#33 0x000001f7b26691b5 clang_main
/home/srcmastr/src/lf/main/contrib/llvm-project/clang/tools/driver/driver.cpp:256:12
#34 0x000001f7b2667d42 main
/home/srcmastr/src/lf/main/usr.bin/clang/clang/clang-driver.cpp:17:10
#35 0x000001ffe356bc34 __libc_start1
/home/srcmastr/src/lf/main/lib/libc/csu/libc_start1.c:172:2
c++: error: unable to execute command: Abort trap (core dumped)
c++: error: clang frontend command failed due to signal (use -v to see
invocation)
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git
llvmorg-19.1.7-0-gcd708029e0b2)
Target: x86_64-unknown-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin
Build config: +assertions
c++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/real-722e53.cppm
c++: note: diagnostic msg: /tmp/real-722e53.sh
c++: note: diagnostic msg:

********************

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to