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

    <tr>
        <th>Summary</th>
        <td>
            use PCH and module together causes crash
        </td>
    </tr>

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

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

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

<pre>
    A min reproducible example:
https://github.com/RichardLuo0/clang-bug-pch-and-module

Even if the PCH isn't used, it still crashes.

```
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: C:/dev/msys2/clang64/bin/clang++.exe -cc1 -triple x86_64-w64-windows-gnu -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name module.cppm -mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -mms-bitfields -funwind-tables=2 -fno-sized-deallocation -fno-use-init-array -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=C:/Users/Richard/Project/RepoTest/clang-bug-pch-and-module/build -fcoverage-compilation-dir=C:/Users/Richard/Project/RepoTest/clang-bug-pch-and-module/build -resource-dir C:/dev/msys2/clang64/lib/clang/19 -Wall -Winvalid-pch -std=gnu++23 -fdeprecated-macro -ferror-limit 19 -fno-use-cxa-atexit -fgnuc-version=4.2.1 -fno-implicit-modules -fmodule-file=module2:part=CMakeFiles/main.dir/module2-part.pcm -fmodule-file=module1=CMakeFiles/main.dir/module1.pcm -fmodule-file=module1:part1=CMakeFiles/main.dir/module1-part1.pcm -fmodule-file=module1:part2=CMakeFiles/main.dir/module1-part2.pcm -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -exception-model=seh -include-pch C:/Users/Richard/Project/RepoTest/clang-bug-pch-and-module/build/CMakeFiles/main.dir/cmake_pch.hxx.pch -include C:/Users/Richard/Project/RepoTest/clang-bug-pch-and-module/build/CMakeFiles/main.dir/cmake_pch.hxx -faddrsig -o CMakeFiles/main.dir/src/module2/module.cppm.obj -x pcm CMakeFiles/main.dir/module2.pcm
Exception Code: 0xC0000005
 #0 0x00007ff9741ed676 clang::ASTReader::getLocalModuleFile(clang::serialization::ModuleFile&, unsigned int) const (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x205d676)
 #1 0x00007ff97425fb90 clang::serialization::MultiOnDiskHashTable<clang::serialization::reader::ASTDeclContextNameLookupTrait>::add(clang::serialization::ModuleFile*, unsigned char const*, clang::serialization::reader::ASTDeclContextNameLookupTrait) (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x20cfb90)   
 #2 0x00007ff97425eb5e clang::ASTReader::loadDeclUpdateRecords(clang::ASTReader::PendingUpdateRecord&) (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x20ceb5e)
 #3 0x00007ff974219143 clang::ASTReader::finishPendingActions() (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x2089143)
 #4 0x00007ff97421c7a6 clang::ASTReader::FinishedDeserializing() (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x208c7a6)
 #5 0x00007ff974202671 clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, clang::serialization::ModuleFile**) (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x2072671)
 #6 0x00007ff974358526 clang::ASTUnit::LoadFromASTFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, clang::PCHContainerReader const&, clang::ASTUnit::WhatToLoad, llvm::IntrusiveRefCntPtr<clang::DiagnosticsEngine>, clang::FileSystemOptions const&, std::__1::shared_ptr<clang::HeaderSearchOptions>, std::__1::shared_ptr<clang::LangOptions>, bool, clang::CaptureDiagsKind, bool, bool, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x21c8526)
 #7 0x00007ff972a3118a clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, clang::FrontendInputFile const&) (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x8a118a)
 #8 0x00007ff972a2a250 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x89a250)
 #9 0x00007ff972a29b92 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (C:\dev\msys2\clang64\bin\libclang-cpp.dll+0x899b92)
#10 0x00007ff671dc4c75 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (C:\dev\msys2\clang64\bin\clang++.exe+0x4c75)
#11 0x00007ff671dc44a6 llvm::raw_ostream::operator<<(llvm::StringRef) (C:\dev\msys2\clang64\bin\clang++.exe+0x44a6)
#12 0x00007ff671dc144c clang_main(int, char**, llvm::ToolContext const&) (C:\dev\msys2\clang64\bin\clang++.exe+0x144c)
#13 0x00007ff671dc1075 main (C:\dev\msys2\clang64\bin\clang++.exe+0x1075)
#14 0x00007ff671dcb44c WinMainCRTStartup (C:\dev\msys2\clang64\bin\clang++.exe+0xb44c)
#15 0x00007ff671dcb4a6 mainCRTStartup (C:\dev\msys2\clang64\bin\clang++.exe+0xb4a6)
#16 0x00007ff9d8aae8d7 (C:\WINDOWS\System32\KERNEL32.DLL+0x2e8d7)
#17 0x00007ff9daa5fbcc (C:\WINDOWS\SYSTEM32\ntdll.dll+0xdfbcc)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.1.7
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:/dev/msys2/clang64/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: C:/Users/Richard/AppData/Local/Temp/module-fe3c7d.cppm
clang++: note: diagnostic msg: C:/Users/Richard/AppData/Local/Temp/module-fe3c7d.sh
clang++: note: diagnostic msg:

********************
ninja: build stopped: subcommand failed.
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEWdtu27jTfxrlhqAhUT5e5ML1YVOs2wSxi-C7CihyJHMjkQJJue4-_Yeh5PiQJu1ugv0XLiJRw5nfHDkacedUoQGuo8GnaDC_4o3fGnt9r8SWW7lqTHyVGfnjekoqpYmF2hrZCJWVQGDPq7qEKJ1G8XTrfe3wki0jtiyU3zZZT5gqYssTXhFbipLrgmZNQWuxpVxLWhnZlBDFyGaxA01UTvwWyN3shiinIzbypHEgIzYjyhPnVVkSYbnbguu126Jh3P3i6d1qMV0viGuySnnCSdYUiNtYT7whb-Asy93hD62t-QuEj9hSOdeAi9iScC2J0qJsJAR8AQLJuHjylgtAeHUwkADnQBJnGtsu407unBGKe5DENpo4YVXtEf7ac_FEZFPVrSXjHgn_7qwpLK8It0VTgfaImsxa6BJ2EVtW7odjB5MO-xFbZkof7iP2KWKferAHQoVICPVW1SWQ_Xj4OOzT7_hfaWm-O1rohlColKcm-4tQqRzPSqC5BdxbAreUO08zyI0FigqDlke6YLAdWJUrsGFZcCvpjpcNUM0rcIRWXGmaq7JdIK3Le6KuK0IrC6UR3CujMRagJLUShNZK0BJ2UBJGaJVbXgGtjdIebJTOtdFAaF5xv6VgrTaE5nlNhdHoDB-lc6MJzbWh1jRaKl1QpCW0EkY7bxvhjaW8VNwFfJWjmfK5glI6QvNGo3GoRwVdlM5Zy8upv0FSCbw8IG7XGwdUaeUpt5b_INRzW4Cnom7Q3nTYJ9Q3GsJCARosKigha4oCLD5SuojSeSEzQvOwToWpalW2VpEKVe58_82Bdce0itjy7jlY76E2G3D-rTxjy6xRpSQ0F2YHlhfwH8iy0GYDsv9VEJcqOwbxMpkQ-sDLktAHpXe8VBKFEOq8RIvppg10lgbL1RYE5hituLAYE2CtsbRUWAuQ1cFbYs8p97BXntC80I3ACHbK6Cid93usl7SkqqpLJZTvFMLQaK9CMEfpvL1jUTqtucWwm33hT7BUZagZGPY9tChbdoQUyXq1qF7hlPySRfL27oDjN7gEIL_Di_0mL9bxck-qpkZaKrYgnqjStKhyjLb9nsJeQI1hhoY8vXm-bitAlM4dbAntym3w-MeGZMSWryklKv4Ej7XY9rb7fS8E26Hs_28wEJpzKa1TBaGGvLbFWXEMs-erUGN7oa7vCTroF_GJTsRz-OAPMjMSj3gS72dx-DeI4imJWBqTeI_3ozyfjPoJyOFoSNqsTadROp2uN_fAJVZrvC3Ar4zg5ZcgBwFEbHxC7sAqXqq_QxVql05Jh3iONjo0K3gM-4hNSCjlJGLj4JfBDCvKYNZWlMHsUFEGMzwWB7NSZa1HRF33ZFlG7FO8Z_EAgUds0qmVnKnFBnk2ickvcDalV7d6rtzTDXfbDR4aUTp7e5M9sc10vZmDKGdGe9j7r7yClTFPTb2xXPkoXbRUXMp_ZLLpmckwUluDdU8-Ch6bvNcDAm2MfAjpnMAunADZAN6IrdJwiQi_1ZJ7uAdhrHTntrrYcQehJzjdEGLs_bog1GM0peeKJJOkn76hSK60ctsO3FSE4hix8QfgGqPkI67-BS4x4m8l7zLgAjmHQ6hgw_IxwFD0EdjgHFjMhqPkDWB4PV1vIjYO3XtYW3urdHEP-a-jvE2XP5WWF7Tr0K2suibvZe35PcbPeTj9AEON0BRHQw3PDJUOxgN26cFvGqsH3qwMl0trqul601Xe0D7ho8fHpL3IuFPi0QXjYfXacot6viTEJ48ec98d6NLFz0m7PtnYE8J0cShDwws73s1usMZwpcG2Tn6N8ky5hy33G4MqItUxDj5rbxundnAP-Uz7O2_Pi_Jc8UIb55VwC10oDZ0aJyRorPUP56G67TqVU0Av9XVbbkE-1peiboI2a-BWbDtOr9rsNR4rrovzvZkx5QXgGa99YwFVc4ewPpAd_v7CQsfHu9xdmiFIfm8oJwKD9RjKo9NQZjxNkjE_84LFk0fLtiC2a5-gULrN0pe9xCy8z4D9rJ3nWsDLADqw_KzrxiODE8e-U70xR_xH7cbn2jHOBmcNxQuwYXWxB9F46FQ-0-7CHB8BeYKgjpAnF5An2YSdQu7AHZHvngvl2254fx0cTxBMCxW7tZMudDhKpOiL0YAIkTxia3t2LEzx1RxPhbYUHXuhLusv-6OdUfIfIr4YvATACOgIN7mE2-fDk4S0_Pujcd4C7xZMDbarn_h75Zh7J8L-4QBGhOwCYdLvi9b3B5MeDsBwQEw7ax1xbYw5tIr_Kql-BhFBHCGmlxDj0YAguPfJiE8d1b-QkaEZHpT-wpWe3W_Wnlvf1O8SmJ0pNXghkA-DUh8m7dTLp92DHHMOYzk6Yf_w-ev89mEdDWZt2U9Ryp-L-6-LVcp689WqLeS468jztIxLzgd5JsTPef7ferP4EnhqL8vyObklbmkZnqiAb59hjIMXYZ3kXQkkwlQV15LkXJUgiWyAeEOwU-Mlym4cELoLawBEnRSqZyGkG_yQZNJLeqMonm7C9A6l_XxYiiRbfEEi3bBiSmrj1D6Kp6HUlSXIubK_Oa99oas2Prxxy-f-hFSuaIfDh4T7V78wKu_G49PNZjq7IZubBVnerla3D5-__kGWn1eLNdnchuVP3_4g94u72_tNK_ruZ7PtscPUfnW-_UxggYROECThvuX3u1q_PnSZ1vWcex6xZZgsRGy5gap-nmXQHFIxkmEC8l_Kc9t_6NN3u1Ur_RdH9u201XlT14B9JXFNdp4ivdOvJVfyOpWTdMKv4DoZpaNRfzKIJ1fb6ziNU8Ym_XwwjMfDLE4hnkz66SRmcTbsD5Mrdc1iNogT1mdxkvQnvWyUQT4cD0Sf9ftDIaJ-DBVXZQ8Php6xxVX4kHKdsH6aDq9KnkHpwkcnxjR8J-FpxFg0mF_Z6_BJIWsKF_XjUjnvjmy88iVcY17fzW5C5LXWJ94U4Lf4zsAbB679PHPV2PL633_z6dDurtn_BwAA__8XgXyt">