<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/84348>84348</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LLVM 18.1: C++ exceptions are broken in the MSan build
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ns-osmolsky
</td>
</tr>
</table>
<pre>
It looks like C++ exceptions are broken when using MSan with libcxx. Here is the minimum test program:
```
#include <iostream>
int main(int argc, char **argv)
{
try {
std::cout << "Testing C++ exception...\n";
throw std::runtime_error("boo");
} catch(std::exception &ex) {
std::cout << "Exception worked! (" << ex.what() << ")\n";
}
return 0;
}
```
Output:
```
Testing C++ exception...
MemorySanitizer:DEADLYSIGNAL
==3740922==ERROR: MemorySanitizer: stack-overflow on address 0x7ffe51dc5c38 (pc 0x7fde6dc661fc bp 0x7ffe51dc60a0 sp 0x7ffe51dc5c40 T3740922)
MemorySanitizer:DEADLYSIGNAL
MemorySanitizer: nested bug in the same thread, aborting.
```
Linkage:
```
$ ldd test | grep llvm
libc++.so.1 => /opt/llvm-18/lib-msan/libc++.so.1 (0x00007fee9257d000)
libc++abi.so.1 => /opt/llvm-18/lib-msan/libc++abi.so.1 (0x00007fee922c8000)
libunwind.so.1 => /opt/llvm-18/lib-msan/libunwind.so.1 (0x00007fee920ab000)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVcFu4zYQ_RrqMohAkbIlHXRw7KRdINsFkkWBngqKHEusJVIgqdjp1xeUEydKtsG2hiFQ1Dy-N29mQOG9bg1iTVbXZLVLxBQ662rjr6wfbO8PT0lj1VP9JUBv7cFDrw8IW8KuCbsGPEkcg7bGg3AIjbMHNHDs0MDktWnh64MwcNShg1438nRK4Vd0CNpD6BAGbfQwDRDQBxidbZ0YCN8QuiP05bmmz__zK-PayH5SCIRvtfXBYcTcvMVoE2AQ2hBWxqVwrSRsC7ITDgjbELYRrn0krHoGFdfnBQBAcE-w2Ig_H1SUxTfSTiESE74Fwth39CFm-cGONE3JamsIY4S_Oyt0zh5fT3STCXrAP9E56wgrCWONtRHIqgWWFDuQIsiOsPKCvhACYWs8EVb9vPibC_Zo3QEVYRmcBbwE4Sk9diLMm9UbZJT2g-xIsXtbhbjlMEzOAL3EvYt5X935-W0K4xRe-2AZ86nnc8RXHKx7ehBGB_03OsI3u5vN7u6Phy-__La5ez6U7wjf8SKnVcwivtzc33-7J3wDH_Hgg5CHK_uIbt_bI1gDQimH3gM9Ffs9rjIlV5KX0cBRzpsK10qu19leQjO-CVtTQcGPC2BO4fuLlpeu_JksfqDUoA-ooJla0GYeMi8GjF2HQsUpEI110cD0kwrcaXMQLf5bCQjLoVfqPLak2ELrcIS-fxyWnRdH_lyl1Ns0g9nnGyDs1o6BsNuIuMrKuNLN1eCFOS-XIFbSE6WUFnvEiq0KRSm9uPSRSjT6f7G94paETJYLwl43kzlqo_4bywKzZKCiectwMTtRNVcVr0SCdVbQquQ8L8ukqzNExfI9K0rOhWBiJfYSG5FT2eRClirRNaMsp5wWWZHneZFWDatYQUWesTVfZRnJKQ5C92mUm1rXJtr7Cesy53mZ9KLB3s83AmMGjzB_jOO-2iWunlNsptaTnPbaB_96StChx_ru7vevkJVpFhvy86viuUfna6KZdK-SyfV1F8LoY_exW8JuWx26qUmlHZ79fbF5dPYvlNH1WaAn7HZO4J8AAAD__ytz8zw">