Open chengniansun opened 3 years ago
Still crashing as of post-17 trunk: https://godbolt.org/z/9cWdY68rv
<source>:30:77: warning: expected ';' at end of declaration list
30 | char *line, ulmask
| ^
| ;
<source>:31:63: warning: expected ';' at end of declaration list
31 | } c[2]
| ^
| ;
<source>:32:61: warning: expected ';' at end of declaration list
32 | } c[2]
| ^
| ;
<source>:33:59: warning: expected ';' at end of declaration list
33 | } c[2]
| ^
| ;
<source>:34:57: warning: expected ';' at end of declaration list
34 | } c[2]
| ^
| ;
<source>:35:55: warning: expected ';' at end of declaration list
35 | } c[2]
| ^
| ;
<source>:36:53: warning: expected ';' at end of declaration list
36 | } c[2]
| ^
| ;
<source>:37:51: warning: expected ';' at end of declaration list
37 | } c[2]
| ^
| ;
<source>:38:49: warning: expected ';' at end of declaration list
38 | } c[2]
| ^
| ;
<source>:39:47: warning: expected ';' at end of declaration list
39 | } c[2]
| ^
| ;
<source>:40:45: warning: expected ';' at end of declaration list
40 | } c[2]
| ^
| ;
<source>:41:43: warning: expected ';' at end of declaration list
41 | } c[2]
| ^
| ;
<source>:42:41: warning: expected ';' at end of declaration list
42 | } c[2]
| ^
| ;
<source>:43:39: warning: expected ';' at end of declaration list
43 | } c[2]
| ^
| ;
<source>:44:37: warning: expected ';' at end of declaration list
44 | } c[2]
| ^
| ;
<source>:45:35: warning: expected ';' at end of declaration list
45 | } c[2]
| ^
| ;
<source>:46:33: warning: expected ';' at end of declaration list
46 | } c[2]
| ^
| ;
<source>:47:31: warning: expected ';' at end of declaration list
47 | } c[2]
| ^
| ;
<source>:48:29: warning: expected ';' at end of declaration list
48 | } c[2]
| ^
| ;
<source>:49:27: warning: expected ';' at end of declaration list
49 | } c[2]
| ^
| ;
<source>:50:25: warning: expected ';' at end of declaration list
50 | } c[2]
| ^
| ;
<source>:51:23: warning: expected ';' at end of declaration list
51 | } c[2]
| ^
| ;
<source>:52:21: warning: expected ';' at end of declaration list
52 | } c[2]
| ^
| ;
<source>:53:19: warning: expected ';' at end of declaration list
53 | } c[2]
| ^
| ;
<source>:54:17: warning: expected ';' at end of declaration list
54 | } c[2]
| ^
| ;
<source>:55:15: warning: expected ';' at end of declaration list
55 | } c[2]
| ^
| ;
<source>:56:13: warning: expected ';' at end of declaration list
56 | } c[2]
| ^
| ;
<source>:57:11: warning: expected ';' at end of declaration list
57 | } c[2]
| ^
| ;
<source>:58:9: warning: expected ';' at end of declaration list
58 | } c[2]
| ^
| ;
clang++: /root/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:3310:
void emitGlobalConstantStruct(const llvm::DataLayout&, const llvm::ConstantStruct*, llvm::AsmPrinter&, const llvm::Constant*, uint64_t, llvm::AsmPrinter::AliasMapTy*):
Assertion `SizeSoFar == Layout->getSizeInBytes() && "Layout of constant struct may be incorrect!"' failed.
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: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -x c -Wno-implicit-int <source>
1. <eof> parser at end of file
2. Code generation
#0 0x0000000003673848 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3673848)
#1 0x00000000036716cc llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x36716cc)
#2 0x00000000035bef28 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f504e4fe420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007f504dfc100b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
#5 0x00007f504dfa0859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
#6 0x00007f504dfa0729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
#7 0x00007f504dfb1fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#8 0x00000000044bdaa2 emitGlobalConstantImpl(llvm::DataLayout const&, llvm::Constant const*, llvm::AsmPrinter&, llvm::Constant const*, unsigned long, llvm::DenseMap<unsigned long, llvm::SmallVector<llvm::GlobalAlias const*, 1u>, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::SmallVector<llvm::GlobalAlias const*, 1u>>>*) AsmPrinter.cpp:0:0
#9 0x00000000044be76e llvm::AsmPrinter::emitGlobalConstant(llvm::DataLayout const&, llvm::Constant const*, llvm::DenseMap<unsigned long, llvm::SmallVector<llvm::GlobalAlias const*, 1u>, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::SmallVector<llvm::GlobalAlias const*, 1u>>>*) (.constprop.0) AsmPrinter.cpp:0:0
#10 0x00000000044bfdb2 llvm::AsmPrinter::emitGlobalVariable(llvm::GlobalVariable const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x44bfdb2)
#11 0x00000000044bb523 llvm::AsmPrinter::doFinalization(llvm::Module&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x44bb523)
#12 0x0000000003008dfd llvm::FPPassManager::doFinalization(llvm::Module&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3008dfd)
#13 0x0000000003014aa6 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3014aa6)
#14 0x00000000038e30a0 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) BackendUtil.cpp:0:0
#15 0x00000000038e39c9 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>>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x38e39c9)
#16 0x00000000048c6faf clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x48c6faf)
#17 0x0000000005d80689 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5d80689)
#18 0x00000000048c5798 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x48c5798)
#19 0x000000000412d9d9 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x412d9d9)
#20 0x00000000040b1d6e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x40b1d6e)
#21 0x000000000420dc46 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x420dc46)
#22 0x0000000000bcb672 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xbcb672)
#23 0x0000000000bc3e5a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#24 0x0000000003f11c19 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#25 0x00000000035bf3d4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x35bf3d4)
#26 0x0000000003f1220f clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#27 0x0000000003eda175 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3eda175)
#28 0x0000000003edabdd clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3edabdd)
#29 0x0000000003ee2705 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3ee2705)
#30 0x0000000000bc9927 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xbc9927)
#31 0x0000000000ac39f1 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xac39f1)
#32 0x00007f504dfa2083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#33 0x0000000000bc393e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xbc393e)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Extended Description
$ clang-trunk -v clang version 13.0.0 (https://github.com/llvm/llvm-project.git 2e9c75daffddd65e37c3236708b5b133e6f5f2f5) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/cnsun/usr/bin Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 Selected multilib: .;@m64
$ cat mutant.c struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { char *line, ulmask } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } c[2] } character = {""};
$ clang-trunk mutant.c mutant.c:30:77: warning: expected ';' at end of declaration list char line, ulmask ^ ; mutant.c:31:63: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:32:61: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:33:59: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:34:57: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:35:55: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:36:53: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:37:51: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:38:49: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:39:47: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:40:45: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:41:43: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:42:41: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:43:39: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:44:37: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:45:35: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:46:33: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:47:31: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:48:29: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:49:27: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:50:25: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:51:23: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:52:21: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:53:19: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:54:17: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:55:15: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:56:13: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:57:11: warning: expected ';' at end of declaration list } c[2] ^ ; mutant.c:58:9: warning: expected ';' at end of declaration list } c[2] ^ ; clang-13: /tmp/tmp.xjN6dMkdrg-clang-builder/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:2774: void emitGlobalConstantStruct(const llvm::DataLayout&, const llvm::ConstantStruct, llvm::AsmPrinter&, const llvm::Constant*, uint64_t): Assertion `SizeSoFar == Layout->getSizeInBytes() && "Layout of constant struct may be incorrect!"' failed. PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump:
0 0x000055d72e383184 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
1 0x000055d72e38093e SignalHandler(int) Signals.cpp:0:0
2 0x00007f9e6bc6d3c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
3 0x00007f9e6b70c18b raise /build/glibc-ZN95T4/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
4 0x00007f9e6b6eb859 abort /build/glibc-ZN95T4/glibc-2.31/stdlib/abort.c:81:7
5 0x00007f9e6b6eb729 get_sysdep_segment_value /build/glibc-ZN95T4/glibc-2.31/intl/loadmsgcat.c:509:8
6 0x00007f9e6b6eb729 _nl_load_domain /build/glibc-ZN95T4/glibc-2.31/intl/loadmsgcat.c:970:34
7 0x00007f9e6b6fcf36 (/lib/x86_64-linux-gnu/libc.so.6+0x36f36)
8 0x000055d72f0ce88d emitGlobalConstantImpl(llvm::DataLayout const&, llvm::Constant const, llvm::AsmPrinter&, llvm::Constant const, unsigned long) AsmPrinter.cpp:0:0
9 0x000055d72f0cee93 llvm::AsmPrinter::emitGlobalConstant(llvm::DataLayout const&, llvm::Constant const*) (/scratch/software/clang-trunk/bin/clang-13+0x46a6e93)
10 0x000055d72f0cfa6a llvm::AsmPrinter::emitGlobalVariable(llvm::GlobalVariable const*) (/scratch/software/clang-trunk/bin/clang-13+0x46a7a6a)
11 0x000055d72f0d104b llvm::AsmPrinter::doFinalization(llvm::Module&) (/scratch/software/clang-trunk/bin/clang-13+0x46a904b)
12 0x000055d72da6df75 llvm::FPPassManager::doFinalization(llvm::Module&) (/scratch/software/clang-trunk/bin/clang-13+0x3045f75)
13 0x000055d72da7b176 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/scratch/software/clang-trunk/bin/clang-13+0x3053176)
14 0x000055d72e6b5e72 (anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete >) BackendUtil.cpp:0:0
15 0x000055d72e6b792d clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete >) (/scratch/software/clang-trunk/bin/clang-13+0x3c8f92d)
16 0x000055d72f4e0e1f clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/scratch/software/clang-trunk/bin/clang-13+0x4ab8e1f)
17 0x000055d7305984d9 clang::ParseAST(clang::Sema&, bool, bool) (/scratch/software/clang-trunk/bin/clang-13+0x5b704d9)
18 0x000055d72f4df968 clang::CodeGenAction::ExecuteAction() (/scratch/software/clang-trunk/bin/clang-13+0x4ab7968)
19 0x000055d72ed8f599 clang::FrontendAction::Execute() (/scratch/software/clang-trunk/bin/clang-13+0x4367599)
20 0x000055d72ed227e6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/scratch/software/clang-trunk/bin/clang-13+0x42fa7e6)
21 0x000055d72ee6d480 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/scratch/software/clang-trunk/bin/clang-13+0x4445480)
22 0x000055d72bc8d696 cc1_main(llvm::ArrayRef<char const>, char const, void*) (/scratch/software/clang-trunk/bin/clang-13+0x1265696)
23 0x000055d72bc899d8 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
24 0x000055d72bbb70e6 main (/scratch/software/clang-trunk/bin/clang-13+0x118f0e6)
25 0x00007f9e6b6ed0b3 __libc_start_main /build/glibc-ZN95T4/glibc-2.31/csu/../csu/libc-start.c:342:3
26 0x000055d72bc8954e _start (/scratch/software/clang-trunk/bin/clang-13+0x126154e)
clang-13: error: unable to execute command: Aborted (core dumped) clang-13: error: clang frontend command failed due to signal (use -v to see invocation) clang version 13.0.0 (https://github.com/llvm/llvm-project.git 2e9c75daffddd65e37c3236708b5b133e6f5f2f5) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/cnsun/usr/bin clang-13: note: diagnostic msg:
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-13: note: diagnostic msg: /tmp/mutant-95fd46.c clang-13: note: diagnostic msg: /tmp/mutant-95fd46.sh clang-13: note: diagnostic msg: