<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/67473>67473</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash while compiling swiftc
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dhoepfl
      </td>
    </tr>
</table>

<pre>
    Got the following stack dump while compiling current swift HEAD:

```
[260/1547][ 16%][270.052s] Building CXX object lib/AST/CMakeFiles/swiftAST.dir/AbstractSourceFileDepGraphFactory.cpp.o
FAILED: lib/AST/CMakeFiles/swiftAST.dir/AbstractSourceFileDepGraphFactory.cpp.o
/home/XXXXXX/llvm/opt/bin/clang++ -DCMARK_STATIC_DEFINE -DGTEST_HAS_RTTI=0 -DSWIFT_LLVM_SUPPORT_IS_AVAILABLE -DSWIFT_THREADING_LINUX -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_LIBCPP_ENABLE_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/XXXXXX/llvm/swift-source/b>
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: /home/XXXXXX/llvm/opt/bin/clang++ -DCMARK_STATIC_DEFINE -DGTEST_HAS_RTTI=0 -DSWIFT_LLVM_SUPPORT_IS_AVAILABLE -DSWIFT_THREADING_LINUX -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_LIBCPP_ENABLE_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home>
1.      <eof> parser at end of file
2. /home/XXXXXX/llvm/swift-source/llvm-project/clang/include/clang/AST/Redeclarable.h:189:14: instantiating function definition 'clang::Redeclarable<clang::TranslationUnitDecl>::getNextRedeclaration'
3. /home/XXXXXX/llvm/swift-source/llvm-project/clang/include/clang/AST/Redeclarable.h:122:16: instantiating function definition 'clang::Redeclarable<clang::TranslationUnitDecl>::DeclLink::getPrevious'
4. /home/XXXXXX/llvm/swift-source/llvm-project/clang/include/clang/AST/ExternalASTSource.h:410:12: instantiating function definition 'clang::LazyGenerationalUpdatePtr<const clang::Decl *, clang::Decl *, &clang::ExternalASTSource::CompleteRedeclChain>::LazyGenerationalUpdatePtr'
5. /home/XXXXXX/llvm/swift-source/llvm-project/clang/include/clang/AST/ASTContext.h:3508:57: instantiating function definition 'clang::LazyGenerationalUpdatePtr<const clang::Decl *, clang::Decl *, &clang::ExternalASTSource::CompleteRedeclChain>::makeValue'
#0 0x0000561874a6cbbb llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/XXXXXX/llvm/opt/bin/clang+++0x3502bbb)
#1 0x0000561874a6ab34 llvm::sys::CleanupOnSignal(unsigned long) (/home/XXXXXX/llvm/opt/bin/clang+++0x3500b34)
#2 0x00005618749b5b68 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f0bcee5afd0 (/lib/x86_64-linux-gnu/libc.so.6+0x3bfd0)
#4 0x00005618749fb2ee llvm::StringRef::find_last_of(llvm::StringRef, unsigned long) const (/home/XXXXXX/llvm/opt/bin/clang+++0x34912ee)
#5 0x00005618775e3e98 clang::ASTContext::getRawCommentForDeclNoCacheImpl(clang::Decl const*, clang::SourceLocation, std::map<unsigned int, clang::RawComment*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::RawComment*>>> const&) const (/home/XXXXXX/llvm/opt/bin/clan>
#6 0x000056187761ec0d clang::ASTContext::attachCommentsToJustParsedDecls(llvm::ArrayRef<clang::Decl*>, clang::Preprocessor const*) (/home/XXXXXX/llvm/opt/bin/clang+++0x60b4c0d)
#7 0x0000561876c711ad clang::Sema::ActOnStartOfFunctionDef(clang::Scope*, clang::Decl*, clang::Sema::SkipBodyInfo*, clang::Sema::FnBodyKind) (/home/XXXXXX/llvm/opt/bin/clang+++0x57071ad)
#8 0x00005618773b175b clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e4775b)
#9 0x00005618773afb2f clang::Sema::PerformPendingInstantiations(bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e45b2f)
#10 0x00005618773b1219 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e47219)
#11 0x00005618773afb2f clang::Sema::PerformPendingInstantiations(bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e45b2f)
#12 0x00005618773b1219 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e47219)
#13 0x00005618773afb2f clang::Sema::PerformPendingInstantiations(bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e45b2f)
#14 0x00005618773b1219 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e47219)
#15 0x00005618773afb2f clang::Sema::PerformPendingInstantiations(bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x5e45b2f)
#16 0x0000561876aa4716 clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) (.part.0) Sema.cpp:0:0
#17 0x0000561876aa4dee clang::Sema::ActOnEndOfTranslationUnit() (/home/XXXXXX/llvm/opt/bin/clang+++0x553adee)
#18 0x000056187695238c clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/home/XXXXXX/llvm/opt/bin/clang+++0x53e838c)
#19 0x00005618769436ca clang::ParseAST(clang::Sema&, bool, bool) (/home/XXXXXX/llvm/opt/bin/clang+++0x53d96ca)
#20 0x000056187549eea9 clang::FrontendAction::Execute() (/home/XXXXXX/llvm/opt/bin/clang+++0x3f34ea9)
#21 0x000056187541e14b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/XXXXXX/llvm/opt/bin/clang+++0x3eb414b)
#22 0x0000561875557627 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/XXXXXX/llvm/opt/bin/clang+++0x3fed627)
#23 0x000056187232dc75 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/XXXXXX/llvm/opt/bin/clang+++0xdc3c75)
#24 0x0000561872326b07 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#25 0x000056187526b379 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
#26 0x00005618749b5f33 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/XXXXXX/llvm/opt/bin/clang+++0x344bf33)
#27 0x000056187526b709 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
#28 0x00005618752352e5 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/XXXXXX/llvm/opt/bin/clang+++0x3ccb2e5)
#29 0x0000561875235d0d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/home/XXXXXX/llvm/opt/bin/clang+++0x3ccbd0d)
#30 0x0000561875246d2c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/XXXXXX/llvm/opt/bin/clang+++0x3cdcd2c)
#31 0x000056187232b615 clang_main(int, char**, llvm::ToolContext const&) (/home/XXXXXX/llvm/opt/bin/clang+++0xdc1615)
#32 0x000056187222f221 main (/home/XXXXXX/llvm/opt/bin/clang+++0xcc5221)
#33 0x00007f0bcee461ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#34 0x00007f0bcee46285 call_init ./csu/../csu/libc-start.c:128:20
#35 0x00007f0bcee46285 __libc_start_main ./csu/../csu/libc-start.c:347:5
#36 0x0000561872326031 _start (/home/XXXXXX/llvm/opt/bin/clang+++0xdbc031)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 18.0.0 (https://github.com/llvm/llvm-project.git ad415e3095a73be5837f3ea4f9ad1f8d190794e2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/XXXXXX/llvm/opt/bin
clang++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /home/XXXXXX/llvm/swift-source/build/tmp/AbstractSourceFileDepGraphFactory-8a18b3.cpp
clang++: note: diagnostic msg: /home/XXXXXX/llvm/swift-source/build/tmp/AbstractSourceFileDepGraphFactory-8a18b3.sh
clang++: note: diagnostic msg:

********************
ninja: build stopped: subcommand failed.
```

[AbstractSourceFileDepGraphFactory-8a18b3.zip](https://github.com/llvm/llvm-project/files/12730863/AbstractSourceFileDepGraphFactory-8a18b3.zip)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWltz2zbT_jXwDcYaEuBJF76gKdFRqtgeS0lzpwEBUEJNEfxA0If--m9AUjIhy24SpZ1M-2YUmSJOzz67i10cSF2Ldcn5BfAvgT85I43eSHXBNpJXeXGWSfZ8cSU11BsOc1kU8lGUa1hrQu8ha7YVfNyIgkMqt5UoTBFtlOKlhvWjyDX8MI0nAMfAmQBn9x04_af76V-iwAEodX0vBP4E-JfQDQDyu2cUOiPHRzXwJ_CyEQUzYyRfv0KZ_cGphoXIAErjxRKgNPlE7nkqCl4DlLbjx4vliAllamS1VoTqhWwUbStNeHWlSLVJCdVSPY9oVY1khymNZ_Opwf33dA9QupFbDlD6tf0HUFoUD1uAUllpgNJMlACltCDlGqBLgC7h-ST5FN_9tlos4-UsWU2m6ex6Cs8nV8vpYrn6EC9Wd8vlDOCJA88ni99n6XI1n3_5tFp8vr29uVuuZotV_CWezePL-XRfY_nhbhpPZtdXq_ns-vNXeD5ZTaaXn6_Mw9V8dpl8_bqKF4vp3XJ2c70wb83L29vV9Nr0c1C2WiwnySq5uV4s4-vl6lOc3N0MCtKbu0_x69fz2afZy9vZ28y0fJ_XLb2GIoCnHZm382m8mMK6ybZCQwKzZg0Vr6TSUEu40bqqjQGiFKB0LfSmyUZUbl86Nn_OKyWNNQGUirpuWgVDUjIoSlo0jLfWTxWpNzAj9N5omgOUwErxSknK65ozuMOWtC1JXUsqiOYMqqaENVWi0qMO8mLvPXvXcEaw_Xer5FqRLSRq3Wx5qQ12-D97-St72RmD29MIcMJlDvAUVkTVXEGiIS8ZlDnMRcG7ymj0DrMH9nZgJT3XaW8fgzfdVHHHGacFUSQr-GgDcOxGY_PtGXWKstak1IJoM5flTUm1kCVkPBelaB8BCrv-cAxwPOwM4GRQslSkrAti2nwuhZ5wWhgq2rI119f8Se8bm0oAhZ3o-J8UHSHzHfxzopsfc1He74m4VfxByKbey-_9ffJPnzRXJSnixbILBi0Jnuu0VPwICXPy5_MVL3mnQ1J8rhjR_FYrw4gsaw0HlY3sEKDYzENvvAYoGJS8wtu9TuS2KrjmnQaSDRHlnt-3Ae349f8-fuPFMpGl5k-6JRb7TgRw7If_Cma35J5_IUXD90wChB3oPDmO4_iBG4UeCWiWZbDlsm1TP9fdw60SpW5jy7ILUNFLJUUeV7LWipMtQIHBKkoN0BgCFH13eAHo0nnCvoOyLANovAfqHgAlGfaOAU0KTsqmuikXYl2SAqCoKdsslMFCmkFOg-Vk2BvCQhasceZnQQQTE83vOJUPXD13OD6QkhVcART13Fh1dkZHKxO1nfb_bgTcjxDmTkY590nOnF6ELoF8ioJV4J0Xomyeztdl0xXQUS1HQQc7y5kzBO3ZoPMMcT7gcqGVKNd3PO9-5qJkq4LUeiVzS-8v9VACX7Hc2fiPc-2NXcT5ELY_hB36HPNxNPSWF-_dT8535DGRW5PspFIZb7qWCaEbPttWxjQOXa3F_NoNOw-bS9oHugTWmu2cqgI42QvfKtdq-4Kg73fftOB1fdgWT60qpCjMoNLMGfuXFRHqoN0O-Dsjm1nAfHZVgx_U0T4dAggHlkICl1OHvacQojWhmx5UvZQfm1rfmhyKGfZry7hipchza4PJgZZ6aWxhb_fZslQDNZ7g7IGTedRhQwMMh_IGNHRdYsm74FvSo6f6plxoovRNnvahYmIcZWhyCyorfnzSP2KD-74X96K6lOx5VubyvXppaWr9Jkp2Eg9-6IQusXiILL3jzA397DiG2T5o8gENfcA8YOOVkw0KXxrvucmkLF7_PUVQ7oWhbwWdsS0oyTOUHxf0lqtcqu0tL5ko1y9iC1kau_4Z4PwM5VZEdA7VgNzxv0MNyB1bkrq_tB7Qf0YP-JfWg_ef0YP_S-vBSgsCQrzQDd4Jk9OS3eQHS-5UkXWXuURHGy4_72oM4tuoIkqPTKYLTc2j2bQbHoJjnH8nuJasUzjzMWF2autaITUY-whH1Mpv2q2mwfNSVnP-wIvO9IYs3VTk_5rdQtNOK66UbKo2qZr2K7Wjkn-SrClMjiyVWfNp3qeLPy4x5hGOqCXx2JbYwwElryRul-WvTKCD_vM8DLNxQIm1rLNiq--NOSfWXJIqk9iWLG79f7cm57QxZJ1mHjjHHieWwyPXhuNy17MyrqQ9IuGqc_DdbkAPqMdo8XiA_0T9Yp55rmelTsiKir7vhwEKobWD0YJ7Qf6wn2Oj9yQ7Ma3HOWcBCi2oVlhDGDEa-pBSd7Ulpo83ViUbMlhp9AsS6x1K4IMU7FTEjGIa-hZg7wBwkDkh3BGauMvWI4Yr9S0pii-caqnale8x9K1PvTQxffSLN2vJyJR44Oro3IqssOSjIMPhuKVg0O9u42ylWhbb0s5j9htVlBRFRuj9Ki_tKawbu7eLxDULSVKyQ-c7qq396llW3XYcwMnRHY_p4Rp8taJPT67b_chILeiqbqv3LFqVzYuVVkToelf8zpJ-V26qDJKHeL8075oAFBZkmzECjN3uqELRbqflo8yO6yM43JzKMR6o4tgWVL910JQLkvPi2aLzfdWd5JSel-UYWzYeHhpT6Fgz8H_OGA5SnDe1HtnEYR9x_03i2tmVvIphOzatqfigoakwmBqSd8YYVo2t8H36PiGlGeL29Dg-ZIDZ-1LfwsBHmdVvi_9RZnNRa0v896bbw8271_uE7zLWm8XP5o3Z21v2YYCPvIAh-hbGyeDZCuVHYvhbfP-DvJ0yOVFGGbKSV_s0AmGUBW7vY7ucYYe0nRTi3qX_OryekCW4gWu5gX02gRDKEXKhgffjo1DqI-RaoxycT3iBSwlcrQqRmbmRKL0y8bylBY5Ml3UDUDoyj_VzzXhVA5SWlS76c4vDRu1JXOgBHOOXQb3DQVHkw7aJWcQfjtM9ms7P285HtD0vjQCO0eCgxT_WqSXJMSGOdo69EODYf-k7OMzYHOzCrtcTdJ5RB79oY1iMY8iVMoEl7uwS5n3GD2nvJTkRBWfwUegN5E_C2CHj0MWtETY1h-cPUEtYcw7FIDkfDgYfuKqFLKEbjZxReyz1fZdiRmuhIWGe63PsjH0S4oz7EQ5zzImXjwlz84i5Yyccexztx14SteYmVYH92VdT3pfysRycgXX1NooTBreS8cLUrmQtnrqidjlRFJxNhPrWazDHSC6lNostyARZl7LWgsJt3U5NvepP-AzutfUXkeLlMk4-wOWHKUxv5vOb32fXVzCdzacLuLxpX19-voJ309ubu-Uew-2xi0RRbWabNy8T7SsoDtsUhTNI9L7LbyXh2w_qs0YUDKBUb6tvufF2HhE3ynCbAP1aiOrND9nJT7KWUpR_EDNOix7WWlYVNyEU1k1mO_7o-I3J3b3Jbxb4T1EBf_Ldng9QmvfXHV0UYicK8PfQbEbdTQdn7AKzMR6TM37hBmM_9DFC7tnmIsu5y7gbeb4bRTlhOHDd0Ik818_dceiSM3GBHISdMQrcCGPPHYVZ5IxD6o095CHXY8Bz-JaIYmSgj6Ran7V3-C6C0AvxWUEyXtTt7VaESv4I20KAEPAnZ-qiFTdr1jXwnELUun7pRQtd8It2Afbqkmtrh_SsUcXFj98wbAH-fwAAAP__4xkYjw">