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

    <tr>
        <th>Summary</th>
        <td>
            clang-format core dump
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          0-wiz-0
      </td>
    </tr>
</table>

<pre>
    When running the following commands, I see a core-dump in clang-format:
```
git checkout https://github.com/nih-at/ckmame.git
cd ckmame/src
clang-format -i Configuration.cc
```
(try with commit 756223d3dd6c4f3d771454f84186c99c5a882b31 from the repository just to be sure you use the same version)
I've tried it with `clang-format version 13.0.1` but I'm told it also happens with clang 14.

The backtrace for clang 13.0.1 is:
```
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.      Program arguments: clang-format -i Configuration.cc
 #0 0x00006f973977a994 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /scratch/lang/llvm/work/llvm-13.0.1.src/lib/Support/Unix/Signals.inc:565:11
 #1 0x00006f97397787ca llvm::sys::RunSignalHandlers() /scratch/lang/llvm/work/llvm-13.0.1.src/lib/Support/Signals.cpp:97:20
 #2 0x00006f97397789b1 SignalHandler(int) /scratch/lang/llvm/work/llvm-13.0.1.src/lib/Support/Unix/Signals.inc:407:1
 #3 0x00006f9737d9c800 __sigtramp_siginfo_2 (/usr/lib/libc.so.12+0x19c800)
 #4 0x00006f9741f41346 auto clang::format::WhitespaceManager::getNetWidth<clang::format::WhitespaceManager::CellDescription*>(clang::format::WhitespaceManager::CellDescription* const&, clang::format::WhitespaceManager::CellDescription* const&, unsigned int) const /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/WhitespaceManager.h:267:36
 #5 0x00006f9741f41346 unsigned int clang::format::WhitespaceManager::getMaximumNetWidth<clang::format::WhitespaceManager::CellDescription*>(clang::format::WhitespaceManager::CellDescription* const&, clang::format::WhitespaceManager::CellDescription* const&, unsigned int, unsigned int) const /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/WhitespaceManager.h:305:44
 #6 0x00006f9741f41346 clang::format::WhitespaceManager::alignArrayInitializersLeftJustified(clang::format::WhitespaceManager::CellDescriptions&&) /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/WhitespaceManager.cpp:1075:42
 #7 0x00006f9741f4249c llvm::SmallVectorTemplateCommon<clang::format::WhitespaceManager::CellDescription, void>::begin() /scratch/lang/clang/work/.buildlink/include/llvm/ADT/SmallVector.h:253:45
 #8 0x00006f9741f4249c llvm::SmallVectorTemplateCommon<clang::format::WhitespaceManager::CellDescription, void>::end() /scratch/lang/clang/work/.buildlink/include/llvm/ADT/SmallVector.h:255:32
 #9 0x00006f9741f4249c llvm::SmallVector<clang::format::WhitespaceManager::CellDescription, 2u>::~SmallVector() /scratch/lang/clang/work/.buildlink/include/llvm/ADT/SmallVector.h:1175:24
#10 0x00006f9741f4249c clang::format::WhitespaceManager::CellDescriptions::~CellDescriptions() /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/WhitespaceManager.h:194:10
#11 0x00006f9741f4249c clang::format::WhitespaceManager::alignArrayInitializers(unsigned int, unsigned int) /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/WhitespaceManager.cpp:991:49
#12 0x00006f9741f42594 clang::format::WhitespaceManager::alignArrayInitializers() /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/WhitespaceManager.cpp:974:33
#13 0x00006f9741f45239 clang::format::WhitespaceManager::generateReplacements() /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/WhitespaceManager.cpp:106:18
#14 0x00006f9741ee5ed4 std::_Rb_tree<clang::tooling::Replacement, clang::tooling::Replacement, std::_Identity<clang::tooling::Replacement>, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::begin() const /usr/include/g++/bits/stl_tree.h:1007:55
#15 0x00006f9741ee5ed4 std::set<clang::tooling::Replacement, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::begin() const /usr/include/g++/bits/stl_set.h:345:26
#16 0x00006f9741ee5ed4 clang::tooling::Replacements::begin() const /scratch/lang/clang/work/clang-13.0.1.src/include/clang/Tooling/Core/Replacement.h:278:56
#17 0x00006f9741ee5ed4 clang::format::(anonymous namespace)::Formatter::analyze(clang::format::TokenAnnotator&, llvm::SmallVectorImpl<clang::format::AnnotatedLine*>&, clang::format::FormatTokenLexer&) /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/Format.cpp:1706:59
#18 0x00006f9741f0ef99 llvm::SmallVectorBase<unsigned int>::size() const /scratch/lang/clang/work/.buildlink/include/llvm/ADT/SmallVector.h:70:32
#19 0x00006f9741f0ef99 clang::format::TokenAnalyzer::process() /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/TokenAnalyzer.cpp:101:49
#20 0x00006f9741ee581a clang::format::TokenAnalyzer::~TokenAnalyzer() /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/TokenAnalyzer.h:80:7
#21 0x00006f9741ee581a ~Formatter /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/Format.cpp:1668:7
#22 0x00006f9741ee581a clang::format::internal::reformat(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, unsigned int, unsigned int, unsigned int, llvm::StringRef, clang::format::FormattingAttemptStatus*)::'lambda2'(clang::format::Environment const&)::operator()(clang::format::Environment const&) const (.isra.0) /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/Format.cpp:2875:12
#23 0x00006f9741ee5941 std::_Function_handler<std::pair<clang::tooling::Replacements, unsigned int> (clang::format::Environment const&), clang::format::internal::reformat(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, unsigned int, unsigned int, unsigned int, llvm::StringRef, clang::format::FormattingAttemptStatus*)::'lambda2'(clang::format::Environment const&)>::_M_invoke(std::_Any_data const&, clang::format::Environment const&) /usr/include/g++/bits/std_function.h:293:7
#24 0x00006f9741eec757 clang::format::internal::reformat(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, unsigned int, unsigned int, unsigned int, llvm::StringRef, clang::format::FormattingAttemptStatus*) /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/Format.cpp:2893:70
#25 0x00006f9741eed434 std::_Rb_tree<clang::tooling::Replacement, clang::tooling::Replacement, std::_Identity<clang::tooling::Replacement>, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::_Rb_tree_impl<std::less<clang::tooling::Replacement>, true>::_Rb_tree_impl(std::_Rb_tree<clang::tooling::Replacement, clang::tooling::Replacement, std::_Identity<clang::tooling::Replacement>, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::_Rb_tree_impl<std::less<clang::tooling::Replacement>, true>&&) /usr/include/g++/bits/stl_tree.h:701:4
#26 0x00006f9741eed434 std::_Rb_tree<clang::tooling::Replacement, clang::tooling::Replacement, std::_Identity<clang::tooling::Replacement>, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::_Rb_tree(std::_Rb_tree<clang::tooling::Replacement, clang::tooling::Replacement, std::_Identity<clang::tooling::Replacement>, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >&&) /usr/include/g++/bits/stl_tree.h:961:7
#27 0x00006f9741eed434 std::set<clang::tooling::Replacement, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::set(std::set<clang::tooling::Replacement, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >&&) /usr/include/g++/bits/stl_set.h:231:7
#28 0x00006f9741eed434 clang::tooling::Replacements::Replacements(clang::tooling::Replacements&&) /scratch/lang/clang/work/clang-13.0.1.src/include/clang/Tooling/Core/Replacement.h:209:7
#29 0x00006f9741eed434 clang::format::reformat(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, llvm::StringRef, clang::format::FormattingAttemptStatus*) /scratch/lang/clang/work/clang-13.0.1.src/lib/Format/Format.cpp:2919:8
#30 0x00000001abe0f737  0xf737  0x8dc7
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVM-13.so      0x00006f973977a994 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 68
1  libLLVM-13.so      0x00006f97397787ca llvm::sys::RunSignalHandlers() + 81
2  libLLVM-13.so      0x00006f97397789b1 llvm::sys::unregisterHandlers() + 426
3  libc.so.12         0x00006f9737d9c800 __sigtramp_siginfo_2 + 0
4  libclang-cpp.so.13 0x00006f9741f41346 clang::format::WhitespaceManager::alignArrayInitializersLeftJustified(clang::format::WhitespaceManager::CellDescriptions&&) + 454
5  libclang-cpp.so.13 0x00006f9741f4249c clang::format::WhitespaceManager::alignArrayInitializers(unsigned int, unsigned int) + 108
6  libclang-cpp.so.13 0x00006f9741f42594 clang::format::WhitespaceManager::alignArrayInitializers() + 174
7  libclang-cpp.so.13 0x00006f9741f45239 clang::format::WhitespaceManager::generateReplacements() + 441
8  libclang-cpp.so.13 0x00006f9741ee5ed4 std::_Rb_tree<std::pair<llvm::SmallVectorImpl<clang::format::AnnotatedLine*> const*, unsigned int>, std::pair<std::pair<llvm::SmallVectorImpl<clang::format::AnnotatedLine*> const*, unsigned int> const, unsigned int>, std::_Select1st<std::pair<std::pair<llvm::SmallVectorImpl<clang::format::AnnotatedLine*> const*, unsigned int> const, unsigned int> >, std::less<std::pair<llvm::SmallVectorImpl<clang::format::AnnotatedLine*> const*, unsigned int> >, std::allocator<std::pair<std::pair<llvm::SmallVectorImpl<clang::format::AnnotatedLine*> const*, unsigned int> const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::SmallVectorImpl<clang::format::AnnotatedLine*> const*, unsigned int> const, unsigned int> >*) + 1400
9  libclang-cpp.so.13 0x00006f9741f0ef99 clang::format::TokenAnalyzer::process() + 2105
10 libclang-cpp.so.13 0x00006f9741ee581a clang::format::cleanup(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, llvm::StringRef) + 5568
11 libclang-cpp.so.13 0x00006f9741ee5941 clang::format::cleanup(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, llvm::StringRef) + 5863
12 libclang-cpp.so.13 0x00006f9741eec757 clang::format::internal::reformat(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, unsigned int, unsigned int, unsigned int, llvm::StringRef, clang::format::FormattingAttemptStatus*) + 748
13 libclang-cpp.so.13 0x00006f9741eed434 clang::format::reformat(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, llvm::StringRef, clang::format::FormattingAttemptStatus*) + 103
14 clang-format       0x00000001abe0f737 llvm::Error llvm::handleErrors<llvm::toString(llvm::Error)::'lambda'(llvm::ErrorInfoBase const&)>(llvm::Error, llvm::toString(llvm::Error)::'lambda'(llvm::ErrorInfoBase const&)&&) + 5775
15 clang-format       0x00000001abe08dc7 _init + 13799
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztW1tT47gS_jXhRUXK98tDHhIGatmCc6aAs1NnX1KKrSRabDklyUDm129LtuMLTkiAzEItKSrYki19X3er1S0psyxej34sCUM8Z4yyBZJLguZZkmSP6i7K0hSzWAysM3SJBCEIQxknp3GerhBlKEowW5zOM55iObDHA-PbwBgPPKP807cLKlG0JNF9lku0lHIl1JPWBfxB1TKfDaEbuGF0eQqtWBfRfYpTMoTKooEoRkUR1AkelYWNntEpRWcZm9NFzrGkGRtGUS-UgRVIvkaP0K3mBsh817MsO7bj2IucuR37vum4zjxwzMCLwjBycRBYM9tEc56lWjycrDJBZQYN_ZULiWSGZgSJnBO0znKUC6IfEwAYPRAuAM_ACgsAlwPLf4B6TkmMoHeNBOC12JQvIdMeGkMTatEMJKdeBQBZol_EicjQEq9WhImSj2oCmc6wpKq_7wDIDEf3kuNIKZZXj-mmERXblPb96nx8ew6sZkpIGBAsNHGu-ba1CHVimCQP6TDjC7hHYDJgHFGSx4UoIo7FssZRIryVUICUJW1AGEOkP995tuA4RZgv8pQwqfpC-2kcDSzbQMaTAR9vHvp26Ps4DB2kAKqO7LFYi-LiO6dMahh3ChdYR_0Qx4_TTEhOMNimpwYAPAt6RMoIgZCMlnClIKl_6jXr4jHj9-XdaSHhobJXKKEz-L7NV0qAcPU_Rp9UAV0wUOQQZAU9up4L36ZZ8zA7PAI_wn08bnJWNPUbSD4B6wEm7wW1whitlJpCH74so4ZodSGGMxO1wACWY0vOMRSshuDsJio_DqPAMNB0KugCDDBdqQvK5tnUQlpSF7ngm77gOxqKbGhaA2tiPJn65c0AVq07jdYdc-6YtuMhnMO40CZa6KT2ifb4x5JKIlZgYteY4QXIRBcviPwPkT9oLJcD--ywd89IknwjIE66ktrBQOE5kHlrK-AWmZClxb9rYzkDqTPl9gpr0HW9NhGV_0ujKMZ9j1VcFJisi2eAhktlpp6yCturFef2Ka6J63AFXuMnmubpv1aP_4BebUP5Scep9er16fUw0jgBEmPO8fqSUUnh9if40Ssyl7_DHE_nMF-_VStCC9Db5gnfQTqFjzYNXwvIqgXkdwRkOWHUmEhuU5wkf5AIYpo7kq4SLMkZREeg-zeb8xl6yGisbFrXzwg43h2zU0cIw1lOkzihTN2UEUU9aYy_3ampoAZfDHvXVuzdmn3wUdgTFh-bu9K83dB8uDf392Br5RuuA_-82fhRaZumtnjLqaJ82zT6eL9x-Fa8no_rfcm91uWZoaMHds3PfDu_fpcHZF7y8Ef1XmFoquEb1lStLlUXovl3onp8Or7SnG3XdOwOHVcN0kPjDkYAMLkh4K0iUmRIv4CMaXjqO6jJtENhQlwSO0jIuMA5vZlNIYMibdciswyGd3nToNCJVHY9VvdwGUMRles9u1CxVeP1hAjxujfBAWURfuY2d7yOeifBTbRUpCC1wwOFTfTfxYwq7V4ImWhhFg7B0CmP69aqcHeqQhC5vxY-rXyAZREiOno-8GrpeH3S2QOY2AHpFQOtxl89e1d2bF2cZVxVNDov5nQ_UJpucPFf4NL0IIAZs4yt0ywXiOG0GNYqndXVxZCXGz8JSfX6J9ke6d5l94SNGcuk1m2REfSGE5cQSW0PKcomSHxFGamSnl25SgFUd39Fngh_z0C6uKh8nK-dnNuYgDrxo0HmYdhPeoKFcnatCbOyakG1YA-yoNcEQ74xqENABT_sg79bv9oKSptY8SxSbuAd55dWL5u5pTPvW0bXzAMTH4AbArV26dEIKKkHSup-Dd7sAw-QNgPuGKbreUEbhXWACMFWCQdKxR0nZd1WV1B0fSvXCWmtDzQGhuTg2W7IvF2s4zBVumNmgGJSTim7o9Hn91v638lCwnNj0Eq6UsvBMhfKJVU-cmD5CU5nMbbgars8ztkD5RlTfrshj7KNbKUCtioPOriRjccIhlRwPDSO4_usQOdRZu08LLtrQaFjNsKvi5xFKgeaLsvFXvtsU7nCdM_ZXzzTowoHDpb0di1_2faRbLuc26bXU8oewClCE7VxjNl6GmOJ91mL3Gb4-0V-8XReGmIRMoV22w9205TId_0vW9nbVo7iagod1UsaVjeBiR37K5d8KVeqxDKlRbz9ejiS52RLs81B_aWGX6OG5l7BYWsDfhFJ1wOrm_t-DawDNPpl_LtE9XorDT1lpY05uruq0bbSz7R-pbA2rOaTQD9YldVim2V3NBn0aXL_tbbOqvZ--cPbdlZfsyxnhG3W4Qusm9HWx4kqP3iUGJpKyvWGw-ZoF3xMPCPG3Ld9BGXV_yCO_O7xMn0-Th0-FOt0liXFMqjKLwnbnNpb4geihXFaPKQ2iNQBR6jj6Pv47jeUcQQWr8-zkUay8oC5OsB3dfXH9fT2_9eT_15d_nl-M1WvqJN7MkOrTJ0sgQsqy7yrOOuGEFBX7yl5iKw4-XbUg2sT5JWiNPfo_PDTZhMUlIewrH3aV0fFetrPGScLKiAL6-nAqRb1bd1DeVILVZ_9j31NUJl6OEVD2jDB6nSD3T26T3CgBETjljGfuwejX7tfPEGmUVqetw-4d9_hBQB-KR1_DwDvvScLynHKkRG82P2OXdTu2tr77LxUE8y4ZxmuFVmUvf56FFXdbnjTW5JA36aQPSA_EGi0JWz_ByDuih0_uAQbqdr1FIae6E3VpiyL-0bOByOziaDAUTlGOTOFL3uqt27mTZBlGuUhAtPYwzPt2ECKEoJZvvqgMW3B1nU3EZC5B1u12fGZ2QZeefAIQqQX2X4tih-a7kyQ71TmZL8s4H9jRqgiv8oGnfZPeJoReyudqxGccw5pV31f7DLqUtFy2jIrwLYyIf3c862uYqer89gl5AXq9EZ3e6unvaaIjtNvK6x3fb9y0O7LAlT5L5pSiIEL4dt-WB2paP_A6yQe2XFoh_hEUpmQUatl9Rs_nTqf5DwZ7fjNXnkSRSfOMLf8BdOmWk4RIidqmch1LS88WY58y3aC2CY-caP53As9x4CviMxsN45wEJ4kgD0Ro4E7GVgWI49INwHXA_fbCR1ZhmUZruGYjgnT1RAaixzHMz0_9t05zO-OQVJMk82P0E74SENSv0yDygSyyfoXaidYaKdAdHfQPs7lMuMj4_SR_jw1TnTXIw39b149oZw">