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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] segmentation fault
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

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

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

<pre>
    Segmentation fault when running `clang-tidy` from Ubuntu 22.04's package via CMake's `CMAKE_CXX_CLANG_TIDY` variable.

This was also reproduced in this GitHub CI run: https://github.com/transmission/transmission/actions/runs/9379769412/job/25825387597

```console
$ clang-tidy --version
Ubuntu LLVM version 14.0.0

  Optimized build.
  Default target: x86_64-pc-linux-gnu
  Host CPU: skylake
```

```
Error running '/usr/bin/clang-tidy': PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /usr/bin/clang-tidy --extra-arg-before=--driver-mode=g++ /path/to/Transmission/libtransmission/peer-mgr.cc -- /usr/bin/c++ -DFMT_EXCEPTIONS=0 -DFMT_HEADER_ONLY=1 -DHAVE_COPY_FILE_RANGE -DHAVE_FALLOCATE64 -DHAVE_FLOCK -DHAVE_GETMNTENT -DHAVE_GETTEXT -DHAVE_LIBINTL_H -DHAVE_MKDTEMP -DHAVE_NGETTEXT -DHAVE_POSIX_FADVISE -DHAVE_POSIX_FALLOCATE -DHAVE_PREAD -DHAVE_PWRITE -DHAVE_SENDFILE64 -DHAVE_SO_REUSEPORT=1 -DHAVE_STATVFS -DHAVE_SYS_STATVFS_H -DNATPMP_STATICLIB -DPACKAGE_DATA_DIR=\"/usr/local/share\" -DPOSIX -DRAPIDJSON_HAS_STDSTRING=1 -DSMALL_DISABLE_EXCEPTIONS=1 -DWIDE_INTEGER_DISABLE_FLOAT_INTEROP -DWIDE_INTEGER_DISABLE_IOSTREAM -DWITH_INOTIFY -DWITH_OPENSSL -DWITH_UTP -D__TRANSMISSION__ -I/path/to/Transmission/libtransmission/.. -I/path/to/Transmission/cmake-build-debug/libtransmission/.. -I/path/to/Transmission/third-party/libutp/include -I/path/to/Transmission/third-party/libb64/include -I/path/to/Transmission/third-party/wildmat -isystem /path/to/Transmission/third-party/fast_float/include -isystem /path/to/Transmission/cmake-build-debug/third-party/libpsl.bld/pfx/include -isystem /path/to/Transmission/cmake-build-debug/third-party/libnatpmp.bld/pfx/include -isystem /path/to/Transmission/cmake-build-debug/third-party/dht.bld/pfx/include -isystem /path/to/Transmission/third-party/rapidjson/include -isystem /path/to/Transmission/third-party/utfcpp/source -isystem /path/to/Transmission/third-party/wide-integer -isystem /path/to/Transmission/third-party/fmt/include -isystem /path/to/Transmission/third-party/small/include -g -W -Wall -Wextra -Wcast-align -Wduplicated-cond -Wextra-semi -Wfloat-equal -Winit-self -Wint-in-bool-context -Wlogical-op -Wmissing-format-attribute -Wnull-dereference -Wpointer-arith -Wredundant-decls -Wredundant-move -Wrestrict -Wshadow -Wsign-compare -Wsuggest-override -Wuninitialized -Wunreachable-code -Wunused -Wunused-const-variable -Wunused-parameter -Wunused-result -Wwrite-strings -Wformat-security -std=gnu++17 -MD -MT libtransmission/CMakeFiles/transmission.dir/peer-mgr.cc.o -MF CMakeFiles/transmission.dir/peer-mgr.cc.o.d -o CMakeFiles/transmission.dir/peer-mgr.cc.o -c /path/to/Transmission/libtransmission/peer-mgr.cc
1.      <eof> parser at end of file
 #0 0x00007fae90d8fd01 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3fd01)
 #1 0x00007fae90d8da3e llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3da3e)
 #2 0x00007fae90d90236 (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe40236)
 #3 0x00007fae8fa36520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x0000000000ad4583 clang::tidy::readability::StaticAccessedThroughInstanceCheck::check(clang::ast_matchers::MatchFinder::MatchResult const&) (/usr/bin/clang-tidy+0xad4583)
 #5 0x00007fae9788fef7 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x106def7)
 #6 0x00007fae978c199c clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches(clang::ast_matchers::internal::BoundNodesTreeBuilder::Visitor*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x109f99c)
 #7 0x00007fae9788f977 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x106d977)
 #8 0x00007fae978ac665 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x108a665)
 #9 0x00007fae9789aea6 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1078ea6)
#10 0x00007fae978c12b1 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x109f2b1)
#11 0x00007fae978979a2 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x10759a2)
#12 0x00007fae9789217c (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x107017c)
#13 0x00007fae97895c8b (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1073c8b)
#14 0x00007fae97891ce1 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x106fce1)
#15 0x00007fae97893a2b (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1071a2b)
#16 0x00007fae97891c51 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x106fc51)
#17 0x00007fae97893a2b (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1071a2b)
#18 0x00007fae97891c51 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x106fc51)
#19 0x00007fae97899fab (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1077fab)
#20 0x00007fae97891eaf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x106feaf)
#21 0x00007fae97863307 clang::ast_matchers::MatchFinder::matchAST(clang::ASTContext&) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1041307)
#22 0x00007fae98d71d7c clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x254fd7c)
#23 0x00007fae97226824 clang::ParseAST(clang::Sema&, bool, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xa04824)
#24 0x00007fae98d36b57 clang::FrontendAction::Execute() (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x2514b57)
#25 0x00007fae98c8e3a6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x246c3a6)
#26 0x00007fae98f34423 clang::tooling::FrontendActionFactory::runInvocation(std::shared_ptr<clang::CompilerInvocation>, clang::FileManager*, std::shared_ptr<clang::PCHContainerOperations>, clang::DiagnosticConsumer*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x2712423)
#27 0x0000000000bb78ea (/usr/bin/clang-tidy+0xbb78ea)
#28 0x00007fae98f34175 clang::tooling::ToolInvocation::runInvocation(char const*, clang::driver::Compilation*, std::shared_ptr<clang::CompilerInvocation>, std::shared_ptr<clang::PCHContainerOperations>) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x2712175)
#29 0x00007fae98f33183 clang::tooling::ToolInvocation::run() (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x2711183)
#30 0x00007fae98f35d0e clang::tooling::ClangTool::run(clang::tooling::ToolAction*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x2713d0e)
#31 0x0000000000bb301d clang::tidy::runClangTidy(clang::tidy::ClangTidyContext&, clang::tooling::CompilationDatabase const&, llvm::ArrayRef<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, llvm::IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem>, bool, bool, llvm::StringRef) (/usr/bin/clang-tidy+0xbb301d)
#32 0x00000000005b02ae clang::tidy::clangTidyMain(int, char const**) (/usr/bin/clang-tidy+0x5b02ae)
#33 0x00007fae8fa1dd90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#34 0x00007fae8fa1de40 call_init ./csu/../csu/libc-start.c:128:20
#35 0x00007fae8fa1de40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#36 0x00000000005ac1c5 _start (/usr/bin/clang-tidy+0x5ac1c5)
Segmentation fault
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Wltz2yq0_jXKC4NHQveHPCi23Phs38ZWm_ZJgxCS2ZUlHUBpcn79GSQ7Nk7SncZTTxuLBXx86wIskLEQrKwpvTXcO8Od3OBO7hp-KynmRcdvsiZ_vt3Sck9riSVralDgrpLg147WgHd1zeoSGJ5JKlyXULL82fBMUPBmD75mXS07gNDIdAzkC9Bi8hOXFDwyDMYL_JP2UsMzx4vonzgdf_-ejufR8kuazCY_FMwj5gxnFR0Z5sQwo-FvsmMC_MIC4Eo0gNOWN3lHaA5YDaSq-8LkfZeB8UzxM-wI7KRshWFHBpoaaFoyueuyEWn2BppKjmuxZ0Kwpn5dxERpLAw05V3_Fdp-6HuhYyEDTf9tMgNNkRsg1w58N_TPWRqeOfwjTS2aih6kyAEnSwEIHynvx-prDwabz78twKECWM7IHJnnyACsWsn27P9oDrKOVfnoKJ_QwTcS85JKpflT4KWeA1sCK1Z3T7Csu2Pj-0ZIMF5_Vc3Ez-dKuUNn_qY6QzHmvOEn9yPfQNNOcANNM6YMdxYNyFcjrOdxtI2B6LI9kwCDrCuV6xougWx-56Cqejx-wZY3_1IiDTRlQnRUOQTgWjmeVF1OgdxRQDgWO5Bh8lNyTI6Rs5WY_AR5t2_VKL3IHIH-s-ZNyfEeYF52KsgVD_CuOgBC-iQ5hpiXMKNFw6lhTyDMOXukHO6bXJVLA90Z6E7BtFjuVGA1BpomenRVLLuIt5YqjJKPCAEQvmJxQIWT6SJJ4-_jeJ3MVsutYU_Mg_A-jibxJl0t5z8Me2IBOLmPvsXpeLX-kU5n8zjdRMsv8VE8jebz1ThKYs95Ec1X43-OhS9xslgm8TI5EyTx95fifHY3Wybz9P4oWPwzSeLF-lhcXrRfr7az7-k0mnybbeNL4YHKi3gTR5OXwsNmdqraxsuJUubEertKN_HXbbxebZJzvbdJlHybbl-KP7ZHUc95GSXrxboXzcbzmbLsOhr_E32J00mUROlktjHsieGODYRefFE1BFcGmood5nSoU_2UFgBONtF6Nvmf7WqZ3kdqsMk22cyWXw6ktotoPk8ns210N491D6rqh9kkTmfLJP4Sb15aTeerKOmlm9X6vUaz1TbZxNGir0_u09lylcymP47F1TpebrfzY_FrooDSNNlEy-1itt3OVss0BXD2p_E6Gv1nJ7LHPyns1ymY06wrPwskd4znsMVcPg8QnWzVSnCY-3_cPfOcT3f_xap8jyWATDwLSff_MdH1zgUWMi2qBsvz8T-G9JY1X2nWimqUVblCKp7-0hg1lu2-_bvD5Dt5zQA6GMcty_8Vfc1VQJ0sSKsiTzQdJ58E-cVyClktaUn5J6No_4nw0SHEHlfVOUgJ4AOAD7iqAHzotzkAHwgWEuKKlTWAD3nXVoxgSXNImjo_NoOC7hmAD31UQ_q_HVYIrGYSCloV_bOErIZZ01Sqp6RPEsCHqikZwRVsWgAfepp1CYuG77GEWEquJjkF8KHuqgrmlNOCcloroz-0jTIfh5gzuQPwgdO8q3NcS5hTUglNsm8eaS8QkjOiBhY7nDe_1AMra0iafYu5aiK6sqRCwuaRcs6UTR66WunBcNUnXKrMKSY7lZZC0hyadOJQpx6UgkLCY_J6kreY4z2VyuVHEadCZWzw4RdnkkJFsC4V-4MVBCUdZ_IZQCFzlVnU3ZAFWD6AiwmAiwS8Xk775HrKqj5FOq8b5YzrecaoAXAxBX_UY5QD2PxZFwDJNdnQkLJZh5TNsMe0KQw7Bi3mgnKAJaB1DpoCFOyYagMD2SYwn0zTNP0C09DMgyI3LdBnlHZk2JF4FsPDmrNa9jliopJGAwWnRhz_ShshOcV7A3kGGgNWSwOFwEDBQNtA00OefUqy-wqVyEPLGYlmZBnoznyitmJgoPBE0bqgmGObvkVx09VbVta4usd1XlEu-uE_yUINorFAOovQRLb3KWhH9dSg7TPooMC25yLzA9BEgXo9qINcZGqYzgFz-ODccQN7OFcNxuoPHoP3KM5xxiomD4KtOsWSiBAqBM2THW-6cjerhcQ1oeMdJT-HdqR_RMEZqtq391iSnbJ-L1mo0pTVOeVngs0wp_tVoA-Zo5feOyHdmU-DDpqS7rlP_CAoaOF_xHA9MGnb3itOj26ZXk4LX4P3dHhihSEBv9W2X3BrXA2lu6ar82WTU5FwSu_UPn60wiMTTPamUGvD7034YdBvCrThBoo-FvZv2yEswpBodvAvzRz615g59HUzBzo8Jp7nfho-wJ7navChDh9iij8ycd-G9wOKT5NXLU7mZZCgzLrC9iizNHjrgr0fYvR59m6IkQaPLuCR5ZPPw5uWTzR4-wLeJUH2eXibBJkG71zAW4R-3vZeQahu-4vlJbQxuoK9hZHO3nvF3r2Kvauz9_8u--Dvsr-ctWGBr2DvF1hjj8xL9hQXV7CnuNDgL2atZ9um__ud49U-2VdH20TfHaJtMh7OBtq2-eecHcs2fY2zthQEuW_lvrbbLbpKsraiT-OmFt3-yHNItvpMtepvv7_WTP4V0sh1ilxfYJC-wCDkBcfr40PaqrLfV1bc0j0-ZKrquHX6_iw1bDoBcjRmjm5O28tcLQSmXJmkzqP-An2QxU-UdJJ-OG9920qWk7m6a7WFLCABtbF3zmXc7FtWUX5M8jQ2B4KaAS_IX-VVxyO2vqcibWUMCttxkJ68Nk3F3uYyxUQ2_JjadvWsfmwIPmjQHxD7M8MOc5qnreSGPX7TEC-97FiFx7nurKILXOOSDpnWGPwn7Hp8ryYAZjXlq5ZyPLwzeQU9YbisGyEZeZlj1-RyyLeQg2zNtL52LsgyldD8d-49tNOAgksfWb77ro-SpqnObfqWc8gO8-OJILowzPDu4NxHh14fs_-7br3Gc9d4xfJdzZjhhTFtK3g_4N8x5nWrhm9ZVqCFin41EBS2m5v0XVJjJVfMzvn8ToPj0nFdfNu5STXS1kV826aVv3Pu7eqBdB_kwZttXhqc71_j941wCs0JljjDgp6dccdnlxYR5_h5QwvDHr_EYJqSpyfLGgoZFoykw2WXCskd5lrAKkEqOWZSHKsvQhpXlQqRhp_qweG_zmVWS94J9kg3tBjXct3PgVP1Y3FIUVaPlFf4Wa1_2_4q9YCkb6HnyNuevlLzIwf8wVmaN5HmTTczEaZve5McPbXACjvob6DG4GJRiT5EZBhHI3JxRWPleWiCNFWBmQqJuUwJrqp0j1kNRgpRdP07GwNNxbPIaSsMNK1bWR2i-bLTaGfYkRsYdmR5p1Gdy1GpY4K-D6uZvBxoeFTosEcfEQWHFCgyT6DuW6CaKm9p8Sa47YeK9gnb0_2FiUVcMKB-wOx98xezv_5FxcV79pv81s5DO8Q39NbyrcBBpuN4N7tb5FCMkYeoi_LMdZwsRFlI3NDxQ69w7eKG3SITOaZnuaZtmo43srIwo06GA5d6pu97hmPSPWbVSMXyqOHlTf86_TZ0Pdu6qXBGK9H_GgShcyWQ4U5u-G3_Jj7rSmE4ZsWEFCcYyWTV_47krJs7AeKVrjcdr24__9J_IPp4i_4_AAD__3OgpDU">