Issue 129385
Summary [clang] Can't build a project with derived class imported as a module
Labels clang
Assignees
Reporter Kawaiilodon
    I've tried new feature of C++ 20 with llvm18. When i'm trying to build my pet project build is crashed
I've created test repository where this error occured: [https://github.com/Kawaiilodon/clang-fatal-build/tree/master](https://github.com/Kawaiilodon/clang-fatal-build/tree/master)

I'm building my project in docker with Ubuntu 24.04.1 LTS

stack trace:
~~~
Building CXX object Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o
FAILED: Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o Visualization/CMakeFiles/Visualization.dir/Visualization.pcm 
/usr/bin/c++ -I/home/ubuntu/projects/clang-fatal-build/build/Visualization -I/home/ubuntu/projects/clang-fatal-build/Visualization -I/home/ubuntu/projects/clang-fatal-build/./Visualization/imgui -I/home/ubuntu/projects/clang-fatal-build/./Visualization/src -isystem /usr/include/SDL2 -std=c++20 -Winvalid-pch -Xclang -include-pch -Xclang /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx.gch -Xclang -include -Xclang /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx -MD -MT Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o -MF Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o.d @Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o.modmap -o Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o -c /home/ubuntu/projects/clang-fatal-build/Visualization/src/Visualization/Module.cppm
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: /usr/lib/llvm-18/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name Module.cppm -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/ubuntu/projects/clang-fatal-build/build -fcoverage-compilation-dir=/home/ubuntu/projects/clang-fatal-build/build -resource-dir /usr/lib/llvm-18/lib/clang/18 -Winvalid-pch -std=c++20 -ferror-limit 19 -fgnuc-version=4.2.1 -fmodule-file=Visualization:Window=Visualization/CMakeFiles/Visualization.dir/Visualization-Window.pcm -fmodule-file=Visualization:TestWidget=Visualization/CMakeFiles/Visualization.dir/Visualization-TestWidget.pcm -fmodule-file=Visualization:Widget=Visualization/CMakeFiles/Visualization.dir/Visualization-Widget.pcm -fmodule-file=Visualization:WidgetGuard=Visualization/CMakeFiles/Visualization.dir/Visualization-WidgetGuard.pcm -fskip-odr-check-in-gmf -include-pch /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx.gch -include /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o -x pcm Visualization/CMakeFiles/Visualization.dir/Visualization.pcm
 #0 0x00007fdd96ce83bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 #1 0x00007fdd96ce64f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 #2 0x00007fdd96ce8b00 SignalHandler build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:413:1
 #3 0x00007fdd95aed320 (/lib/x86_64-linux-gnu/libc.so.6+0x45320)
 #4 0x00007fdd9fcef509 clang::ASTReader::getLocalModuleFile(clang::serialization::ModuleFile&, unsigned int) build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:0:0
 #5 0x00007fdd9fd74feb add build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/MultiOnDiskHashTable.h:213:41
 #6 0x00007fdd9fd73a9a clang::ASTReader::loadDeclUpdateRecords(clang::ASTReader::PendingUpdateRecord&) build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReaderDecl.cpp:4268:29
 #7 0x00007fdd9fd22bda ~ReadingKindTracker build-llvm/tools/clang/stage2-bins/clang/include/clang/Serialization/ASTReader.h:1267:48
 #8 0x00007fdd9fd22bda clang::ASTReader::finishPendingActions() build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:9622:5
 #9 0x00007fdd9fd265cb clang::ASTReader::FinishedDeserializing() build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:10090:3
#10 0x00007fdd9fd0b6e1 ~Deserializing build-llvm/tools/clang/stage2-bins/clang/include/clang/AST/ExternalASTSource.h:0:15
#11 0x00007fdd9fd0b6e1 clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, clang::serialization::ModuleFile**) build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:4663:1
#12 0x00007fdd9feb74ef clang::ASTUnit::LoadFromASTFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, clang::PCHContainerReader const&, clang::ASTUnit::WhatToLoad, llvm::IntrusiveRefCntPtr<clang::DiagnosticsEngine>, clang::FileSystemOptions const&, std::shared_ptr<clang::HeaderSearchOptions>, bool, clang::CaptureDiagsKind, bool, bool, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) build-llvm/tools/clang/stage2-bins/clang/lib/Frontend/ASTUnit.cpp:865:3
#13 0x00007fdd9ff4fee3 clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, clang::FrontendInputFile const&) build-llvm/tools/clang/stage2-bins/clang/lib/Frontend/FrontendAction.cpp:689:36
#14 0x00007fdd9fed00a5 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) build-llvm/tools/clang/stage2-bins/clang/lib/Frontend/CompilerInstance.cpp:1056:9
#15 0x00007fdd9ffcf63d clang::ExecuteCompilerInvocation(clang::CompilerInstance*) build-llvm/tools/clang/stage2-bins/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:272:25
#16 0x000055f204eca42e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) build-llvm/tools/clang/stage2-bins/clang/tools/driver/cc1_main.cpp:294:15
#17 0x000055f204ec7894 ExecuteCC1Tool build-llvm/tools/clang/stage2-bins/clang/tools/driver/driver.cpp:365:12
#18 0x000055f204ec6a26 clang_main(int, char**, llvm::ToolContext const&) build-llvm/tools/clang/stage2-bins/clang/tools/driver/driver.cpp:405:12
#19 0x000055f204ed4383 main build-llvm/tools/clang/stage2-bins/build-llvm/tools/clang/stage2-bins/tools/clang/tools/driver/clang-driver.cpp:17:10
#20 0x00007fdd95ad21ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#21 0x00007fdd95ad228b call_init ./csu/../csu/libc-start.c:128:20
#22 0x00007fdd95ad228b __libc_start_main ./csu/../csu/libc-start.c:347:5
#23 0x000055f204ec4255 _start (/usr/lib/llvm-18/bin/clang+0xe255)
c++: error: unable to execute command: Segmentation fault (core dumped)
c++: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
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/Module-13c34d.cppm
c++: note: diagnostic msg: /tmp/Module-13c34d.sh
c++: note: diagnostic msg: 

********************
~~~

[Module-13c34d.zip](https://github.com/user-attachments/files/19039210/Module-13c34d.zip)
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to