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

    <tr>
        <th>Summary</th>
        <td>
            clang-format 15 crash with stack dump and return code 139
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          M-Bab
      </td>
    </tr>
</table>

<pre>
    We managed to make clang-format crash :tada: 

Here is the stack dump:

```
Stack dump:
0.      Program arguments: clang-format crc8.c
 #0 0x00007f04b637baaa (/usr/lib/libLLVM-15.so+0xd7baaa)
 #1 0x00007f04b637913f llvm::sys::RunSignalHandlers() (/usr/lib/libLLVM-15.so+0xd7913f)
 #2 0x00007f04b637928d (/usr/lib/libLLVM-15.so+0xd7928d)
 #3 0x00007f04b5051f50 (/usr/lib/libc.so.6+0x38f50)
 #4 0x00007f04bf512710 clang::format::WhitespaceManager::alignArrayInitializersLeftJustified(clang::format::WhitespaceManager::CellDescriptions&&) (/usr/lib/libclang-cpp.so.15+0x2512710)
 #5 0x00007f04bf513695 clang::format::WhitespaceManager::alignArrayInitializers(unsigned int, unsigned int) (/usr/lib/libclang-cpp.so.15+0x2513695)
 #6 0x00007f04bf549d15 clang::format::WhitespaceManager::generateReplacements() (/usr/lib/libclang-cpp.so.15+0x2549d15)
 #7 0x00007f04bf4e843c (/usr/lib/libclang-cpp.so.15+0x24e843c)
 #8 0x00007f04bf53fb67 clang::format::TokenAnalyzer::process() (/usr/lib/libclang-cpp.so.15+0x253fb67)
 #9 0x00007f04bf708638 (/usr/lib/libclang-cpp.so.15+0x2708638)
#10 0x00007f04bf48fcdb (/usr/lib/libclang-cpp.so.15+0x248fcdb)
#11 0x00007f04bf4ef42c 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*) (/usr/lib/libclang-cpp.so.15+0x24ef42c)
#12 0x00007f04bf4f2ae0 clang::format::reformat(clang::format::FormatStyle const&, llvm::StringRef, llvm::ArrayRef<clang::tooling::Range>, llvm::StringRef, clang::format::FormattingAttemptStatus*) (/usr/lib/libclang-cpp.so.15+0x24f2ae0)
#13 0x000055f591f85d89 (/usr/bin/clang-format+0xed89)
#14 0x000055f591f7de25 (/usr/bin/clang-format+0x6e25)
#15 0x00007f04b503c790 (/usr/lib/libc.so.6+0x23790)
#16 0x00007f04b503c84a __libc_start_main (/usr/lib/libc.so.6+0x2384a)
#17 0x000055f591f7e6e5 (/usr/bin/clang-format+0x76e5)
Segmentation fault (core dumped)
```

Good thing: I can provide a very minimalistic piece of code that compiles but leads to a crash of clang-format:

[crc8.zip](https://github.com/llvm/llvm-project/files/11420203/crc8.zip)

It crashes by this piece of code:

```c
static const CRC8_CTX asCrc8NamedCtxs[CRC8_NAME_LAST_ENTRY] =
{
  /*! Context for CRC8-MAXIM, @ref CRC8_NAME_MAXIM */
  {
    .pau8LUT            = au8Crc8Table_MAXIM,  //The table 'au8Crc8Table_MAXIM' is reflected.
 .u8InitialValue     = 0x00U,
    .u8FinalXorValue    = 0x00U,
 .bReflectedInput    = false, //Not reflected because whole table is reflected.
    .bReflectedOutput   = false  //Not reflected because whole table is reflected.
  }
};
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMV9tu27gW_Rr6hYhBUfcHPzh2fZqDJOcgSS_zZFDUlswpRQkk1Sb9-gEp3-TGbTwzwIwhyKJErr3WEje5xYwRtQKYofgaxcsJ6-2m1bO7q2tWTIq2fJl9AtwwxWoosW1xw74A5pKp-qpqdcMs5pqZDUbh3LKSoXCOEVkiMh_O70EDFgbbDWBjGf-Cy77pUDg_7oQSsj188_HHfmSK_e__uq01azDTdd-AssbFO2HDsykfRmFEQ4LJMyGEpBWJiiRMC8YYRjRDdNUbjehKimI4395-vLsK4qlpEb0mz6Xvimh-wApOsPIgrLCUXxvHM5ybFzNcPPTqUdSKyfdMlRK08fHyN4Z1qKOw9DQszcq3YtGsHGGFx1gxiYMqJq9j8alpp4nHCbMqJiOY6BimigOaBmR4D4MDw8sYrj9thAXTMQ53fhrp4TaTolZzrdnLjRJWMCm-gza3UNn_9saKSkCJaHYZ5gKkXILhWnRWtMogmvjjjPXDxOFd56QGsddKBzEjtfGJ2jDJ479FLaJZr3z-lVgoi-gCj9uXEXe8RsSTMfEoL4NLidegQDMLD9BJxmFIup9M59ep-cgjaumIWgRZFPILEIcBI8RsLDasiiQ9J_ap_QJqrph8-b4T2umWg_kT2nygEZN8xCQlWRJmFyAOA_aIbuEhY7eyipfFJW75ASPE4MT_KqL8nFtCWdCKyaGlYfvsbHau_PWjfZGAeauM9Um4OFoqH60Wqn6AanzbJ4i7Gy6OoG3bSrFrPDBVAwrf_Zgrv26fif9TFVaoem4tNJ19tMz2BtH5ZRNk8HZkPh2bX1EGZ5fPf4_d_5B93p2RfbtNLI6rOA-qLC6zMWIhFKKr47rAY0GZ5SOgaAyUlkDjtwAlQOMRUDzeVkOe5r_eVmmY5mNhySlMFjG8Xrtha2OZtuuGCfUG4CxiI-D0RCgk8CahaQIHoY9Qu-Wfua0VV6yX1kHwVoMv1uBQaZwUdMP5P21bYrsZpha-wZwp3On2qygBM_wV9AtuhBINk8JYwXEngANuK8zbErDduOKubTohweCit1gCK40rSdm2BHVdjwWcFJnxta8Nv4sOxUtEs421nS_Y6ArRVS3spi-mvG2cnW6mD39XnW5_B24RXVUuNKKrIIgooSR0hu0Q98r9-WZbFTumL06zGas5V_9u61bjPOZDLuPFwyJbL54-Y2YWmmf3rIFyYZ8Niq_9o_v53bv17fzxaf3u_unhNxQvMQqXW-D0ersrYa9yjmiAF62y8Gxx1WoPfnU3_3xz5zIZRURDhQ-w_gn241Z7oAMmxtOO9dnthyd89EPhErM-c2SfWCFhvccfSKyeNoCte4IRTV_rmbovBg2VBG6hnG7DTftsWzt9ZLKHfSw3sz8gujhi1WcroZj83Op911d6TouHXYwb1fV2161i0oD3w9O9b-2BDC6As94A_rZp5U7Ga2wdjQP-_3o7BNjj47-GjtL9K16i8PpkHk3KWVjmYc4mMAuSLIyjIEijyWZWJBkteBqTsiAx4SWr0qTivCIxyRjl5UTMKKGhawYkyMNoWqV5FAKNCijjhKcFigg0TMipS45pq-uJMKaHWUITEk0kK0Ca3beknvkMKvraoIi4tDaHYVZYCbPRt5srTn0mfxN2c_S5iJkqsQbbazUsBkGYT3otZxensOfqctjT_SMAAP__2-Nrsw">