llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.8k stars 11.45k forks source link

clang crashed in build mariadb #97979

Open raffertyyu opened 1 month ago

raffertyyu commented 1 month ago
0.      Program arguments: /usr/bin/clang++ -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -I/data/mariadb-11.4.2/wsrep-lib/include -I/data/mariadb-11.4.2/wsrep-lib/wsrep-API/v26 -I/data/mariadb-11.4.2/build/include -I/data/mariadb-11.4.2/include/providers -I/data/mariadb-11.4.2/include -I/data/mariadb-11.4.2/mysys -g3 -glldb -O0 -fstack-protector --param=ssp-buffer-size=4 -fPIC -g -DDBUG_TRACE -DENABLED_DEBUG_SYNC -ggdb3 -DSAFE_MUTEX -DSAFEMALLOC -DTRASH_FREED_MEMORY -Wall -Wdeclaration-after-statement -Wenum-compare -Wenum-conversion -Wextra -Wformat-security -Wmissing-braces -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Werror -std=gnu++11 -MD -MT mysys/CMakeFiles/mysys.dir/crc32/crc32c_x86.cc.o -MF mysys/CMakeFiles/mysys.dir/crc32/crc32c_x86.cc.o.d -o mysys/CMakeFiles/mysys.dir/crc32/crc32c_x86.cc.o -c /data/mariadb-11.4.2/mysys/crc32/crc32c_x86.cc
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/data/mariadb-11.4.2/mysys/crc32/crc32c_x86.cc'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZL8xor3_512Dv8_xS_S_'
 #0 0x00001524f97d0ac8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-17.so+0x9d0ac8)
 #1 0x00001524f97ceed0 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-17.so+0x9ceed0)
 #2 0x00001524f972c58e (/lib64/libLLVM-17.so+0x92c58e)
 #3 0x00001524f972c54b (/lib64/libLLVM-17.so+0x92c54b)
 #4 0x00001524f97cbc97 llvm::sys::Process::Exit(int, bool) (/lib64/libLLVM-17.so+0x9cbc97)
 #5 0x000055831b6f33a1 (/usr/bin/clang+++0xf3a1)
 #6 0x00001524f9739ff2 llvm::report_fatal_error(llvm::Twine const&, bool) (/lib64/libLLVM-17.so+0x939ff2)
 #7 0x00001524f9739ed6 (/lib64/libLLVM-17.so+0x939ed6)
 #8 0x00001524f9ee74ed (/lib64/libLLVM-17.so+0x10e74ed)
 #9 0x00001524f9ece64f (/lib64/libLLVM-17.so+0x10ce64f)
#10 0x00001524f9ed1a77 llvm::SelectionDAG::LegalizeTypes() (/lib64/libLLVM-17.so+0x10d1a77)
#11 0x00001524f9fc0891 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/lib64/libLLVM-17.so+0x11c0891)
#12 0x00001524f9fbff72 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/lib64/libLLVM-17.so+0x11bff72)
#13 0x00001524f9fbe106 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/lib64/libLLVM-17.so+0x11be106)
#14 0x00001524fc19319f (/lib64/libLLVM-17.so+0x339319f)
#15 0x00001524f9b627ff llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/lib64/libLLVM-17.so+0xd627ff)
#16 0x00001524f9901bb6 llvm::FPPassManager::runOnFunction(llvm::Function&) (/lib64/libLLVM-17.so+0xb01bb6)
#17 0x00001524f99074a3 llvm::FPPassManager::runOnModule(llvm::Module&) (/lib64/libLLVM-17.so+0xb074a3)
#18 0x00001524f9902251 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/lib64/libLLVM-17.so+0xb02251)
#19 0x000015250126f9c6 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/lib64/libclang-cpp.so.17+0x166f9c6)
#20 0x00001525015859dd (/lib64/libclang-cpp.so.17+0x19859dd)
#21 0x00001525004e421a clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.17+0x8e421a)
#22 0x0000152501c20ce9 clang::FrontendAction::Execute() (/lib64/libclang-cpp.so.17+0x2020ce9)
#23 0x0000152501bd59d7 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib64/libclang-cpp.so.17+0x1fd59d7)
#24 0x0000152501c70a8c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib64/libclang-cpp.so.17+0x2070a8c)
#25 0x000055831b6f7a94 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+++0x13a94)
#26 0x000055831b6fb70a (/usr/bin/clang+++0x1770a)
#27 0x000015250192f7ad (/lib64/libclang-cpp.so.17+0x1d2f7ad)
#28 0x00001524f972c52c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib64/libLLVM-17.so+0x92c52c)
#29 0x0000152501938be1 (/lib64/libclang-cpp.so.17+0x1d38be1)
#30 0x0000152501942f63 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/lib64/libclang-cpp.so.17+0x1d42f63)
#31 0x0000152501943246 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/lib64/libclang-cpp.so.17+0x1d43246)
#32 0x000015250194ebac clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/lib64/libclang-cpp.so.17+0x1d4ebac)
#33 0x000055831b6fdd75 clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang+++0x19d75)
#34 0x000055831b6f1903 main (/usr/bin/clang+++0xd903)
#35 0x00001524f883ef50 __libc_start_call_main (/lib64/libc.so.6+0x27f50)
#36 0x00001524f883f009 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x28009)
#37 0x000055831b6f1945 _start (/usr/bin/clang+++0xd945)
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 17.0.6 (TencentOS 17.0.6-1.tl4.1)
Target: x86_64-koji-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang++: note: diagnostic msg:

crc32c_x86-4cdc45.cpp.txt crc32c_x86-4cdc45.sh.txt

step to reproduce:

  1. download mariadb 11.4.2 and decompress, then cd mariadb-11.4.2
  2. cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=on -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_EXE_LINKER_FLAGS='-fuse-ld=lld' -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DCMAKE_C_FLAGS='-g3 -glldb -O0' -DCMAKE_CXX_FLAGS='-g3 -glldb -O0' -G Ninja -B build
  3. cmake --build build
  4. will core when compile above files.
llvmbot commented 1 month ago

@llvm/issue-subscribers-backend-x86

Author: None (raffertyyu)

``` 0. Program arguments: /usr/bin/clang++ -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -I/data/mariadb-11.4.2/wsrep-lib/include -I/data/mariadb-11.4.2/wsrep-lib/wsrep-API/v26 -I/data/mariadb-11.4.2/build/include -I/data/mariadb-11.4.2/include/providers -I/data/mariadb-11.4.2/include -I/data/mariadb-11.4.2/mysys -g3 -glldb -O0 -fstack-protector --param=ssp-buffer-size=4 -fPIC -g -DDBUG_TRACE -DENABLED_DEBUG_SYNC -ggdb3 -DSAFE_MUTEX -DSAFEMALLOC -DTRASH_FREED_MEMORY -Wall -Wdeclaration-after-statement -Wenum-compare -Wenum-conversion -Wextra -Wformat-security -Wmissing-braces -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Werror -std=gnu++11 -MD -MT mysys/CMakeFiles/mysys.dir/crc32/crc32c_x86.cc.o -MF mysys/CMakeFiles/mysys.dir/crc32/crc32c_x86.cc.o.d -o mysys/CMakeFiles/mysys.dir/crc32/crc32c_x86.cc.o -c /data/mariadb-11.4.2/mysys/crc32/crc32c_x86.cc 1. <eof> parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module '/data/mariadb-11.4.2/mysys/crc32/crc32c_x86.cc'. 4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZL8xor3_512Dv8_xS_S_' #0 0x00001524f97d0ac8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-17.so+0x9d0ac8) #1 0x00001524f97ceed0 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-17.so+0x9ceed0) #2 0x00001524f972c58e (/lib64/libLLVM-17.so+0x92c58e) #3 0x00001524f972c54b (/lib64/libLLVM-17.so+0x92c54b) #4 0x00001524f97cbc97 llvm::sys::Process::Exit(int, bool) (/lib64/libLLVM-17.so+0x9cbc97) #5 0x000055831b6f33a1 (/usr/bin/clang+++0xf3a1) #6 0x00001524f9739ff2 llvm::report_fatal_error(llvm::Twine const&, bool) (/lib64/libLLVM-17.so+0x939ff2) #7 0x00001524f9739ed6 (/lib64/libLLVM-17.so+0x939ed6) #8 0x00001524f9ee74ed (/lib64/libLLVM-17.so+0x10e74ed) #9 0x00001524f9ece64f (/lib64/libLLVM-17.so+0x10ce64f) #10 0x00001524f9ed1a77 llvm::SelectionDAG::LegalizeTypes() (/lib64/libLLVM-17.so+0x10d1a77) #11 0x00001524f9fc0891 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/lib64/libLLVM-17.so+0x11c0891) #12 0x00001524f9fbff72 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/lib64/libLLVM-17.so+0x11bff72) #13 0x00001524f9fbe106 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/lib64/libLLVM-17.so+0x11be106) #14 0x00001524fc19319f (/lib64/libLLVM-17.so+0x339319f) #15 0x00001524f9b627ff llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/lib64/libLLVM-17.so+0xd627ff) #16 0x00001524f9901bb6 llvm::FPPassManager::runOnFunction(llvm::Function&) (/lib64/libLLVM-17.so+0xb01bb6) #17 0x00001524f99074a3 llvm::FPPassManager::runOnModule(llvm::Module&) (/lib64/libLLVM-17.so+0xb074a3) #18 0x00001524f9902251 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/lib64/libLLVM-17.so+0xb02251) #19 0x000015250126f9c6 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/lib64/libclang-cpp.so.17+0x166f9c6) #20 0x00001525015859dd (/lib64/libclang-cpp.so.17+0x19859dd) #21 0x00001525004e421a clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.17+0x8e421a) #22 0x0000152501c20ce9 clang::FrontendAction::Execute() (/lib64/libclang-cpp.so.17+0x2020ce9) #23 0x0000152501bd59d7 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib64/libclang-cpp.so.17+0x1fd59d7) #24 0x0000152501c70a8c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib64/libclang-cpp.so.17+0x2070a8c) #25 0x000055831b6f7a94 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+++0x13a94) #26 0x000055831b6fb70a (/usr/bin/clang+++0x1770a) #27 0x000015250192f7ad (/lib64/libclang-cpp.so.17+0x1d2f7ad) #28 0x00001524f972c52c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib64/libLLVM-17.so+0x92c52c) #29 0x0000152501938be1 (/lib64/libclang-cpp.so.17+0x1d38be1) #30 0x0000152501942f63 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/lib64/libclang-cpp.so.17+0x1d42f63) #31 0x0000152501943246 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/lib64/libclang-cpp.so.17+0x1d43246) #32 0x000015250194ebac clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/lib64/libclang-cpp.so.17+0x1d4ebac) #33 0x000055831b6fdd75 clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang+++0x19d75) #34 0x000055831b6f1903 main (/usr/bin/clang+++0xd903) #35 0x00001524f883ef50 __libc_start_call_main (/lib64/libc.so.6+0x27f50) #36 0x00001524f883f009 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x28009) #37 0x000055831b6f1945 _start (/usr/bin/clang+++0xd945) clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation) clang version 17.0.6 (TencentOS 17.0.6-1.tl4.1) Target: x86_64-koji-linux-gnu Thread model: posix InstalledDir: /usr/bin clang++: note: diagnostic msg: ``` [crc32c_x86-4cdc45.cpp.txt](https://github.com/user-attachments/files/16121945/crc32c_x86-4cdc45.cpp.txt) [crc32c_x86-4cdc45.sh.txt](https://github.com/user-attachments/files/16121946/crc32c_x86-4cdc45.sh.txt) step to reproduce: 1. download mariadb 11.4.2 and decompress, then cd mariadb-11.4.2 2. cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=on -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_EXE_LINKER_FLAGS='-fuse-ld=lld' -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DCMAKE_C_FLAGS='-g3 -glldb -O0' -DCMAKE_CXX_FLAGS='-g3 -glldb -O0' -G Ninja -B build 3. cmake --build build 4. will core when compile above files.
EugeneZelenko commented 1 month ago

Could you please try 18 or main branch?