<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">