<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/142519>142519</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Bolt crashes in Intel Arch while optimizing a C++ binary only when using update debug section
</td>
</tr>
<tr>
<th>Labels</th>
<td>
BOLT
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jcgomezv
</td>
</tr>
</table>
<pre>
llvm-bolt: /home/gomezjc/bolt/llvm-project/bolt/lib/Core/BinaryFunction.cpp:4353: llvm::bolt::DebugAddressRangesVector ll\
vm::bolt::BinaryFunction::getOutputAddressRanges() const: Assertion `!Frag->isSimple() && "fragment of non-simple functio\
n should also be non-simple"' failed.
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 llvm-bolt 0x0000000000f4d6e8
1 llvm-bolt 0x0000000000f4ac42
2 libpthread.so.0 0x00007f4cbd0428e0
3 libc.so.6 0x00007f4cbbdbeca0 gsignal + 272
4 libc.so.6 0x00007f4cbbdc0148 abort + 328
5 libc.so.6 0x00007f4cbbdb7a4d
6 libc.so.6 0x00007f4cbbdb7ac2
7 llvm-bolt 0x00000000017dcaf0
8 llvm-bolt 0x00000000017a76ef
9 llvm-bolt 0x0000000001060e23
10 llvm-bolt 0x0000000001066349
11 llvm-bolt 0x0000000000ff93ad
12 llvm-bolt 0x00000000010489ee
13 llvm-bolt 0x0000000000411612
14 libc.so.6 0x00007f4cbbdac13a __libc_start_main + 234
15 llvm-bolt 0x00000000004bd04a
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llvm-bolt /home/gomezjc/tmp/postgres-binaries/postgres-17-5-pgo-intel-bolt-flags -update-debug\
-sections -o csdd-17-5-pgo-bolt-lp1-pid-800-db -data=/home/gomezjc/tmp/perf-data/17-5-csdd/perf-pgo-r8g-lp1-rd-wr-pid-800\
.fdata -reorder-blocks=ext-tsp -reorder-functions=hfsort -split-functions -split-all-cold -split-eh -dyno-stats --skip-fu\
ncs=_ZN6Grover18VmEndpointDetector12processBatchEib.cold/1,__libc_start_main --lite -v 1
Not the crash above only happens when I see the -update-debug\
-sections , if I do not use that flag the optimized binary gets created and works properly, however for debugability we need to preserve debug sections for this binary.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVstu2zgU_Rp6c0GDomTZXnghJ_FMgPSBpigw3QQUeSWxoUSBpJy6Xz8g5bzQSQqMVjZ57rnvIwnvdTsg7shqT1aXCzGFzrrdD9naHn8dF7VVp50xx57W1gSSV0D4obM9En5IkB-S8EO644eEG539gTK8ONU14YcL66LNXg_CnQ7TIIO2w1KOI8mrIl_lkTrak7wieXV2RvLqEuuprZRy6P0XMbTov6EM1oExZHVBWPW7yWsf81mL4dMUxim8oiJ8Q_gWpB18yq3yHl00AlIywrODEy0l-ZX2t7ofDZ7xhJeEl0A4b5xoexwC2AYGO1CfYNDMvucAB_CdnYwCYbyFGl8ACeeEr6ER2qBaElbdBiHvQU39CA86dHYK4E99bQ0MokcPhG9w8JNDONkJOnHEVDQ6g_QvdKCHeOfgc_X1b7AOPAYIHQIOR-3skKI9ChczvLn59uHu9p8P-08319-vvszh3kVDUjIIFkarhxB_6ED4NlaSVQzgaR6A_WRPT1OoEjeEVdlLxPy8xglZcMIqDmB0PYbOoVBLb5fsjFs3hawVK_gGGWFVnnAyIspXfAlXqxqlYNDGQRYGCN8DX0f-4n0zybJiA6K2LiSjnMfgVy-dvXazFoUirCr_FM5ayOh-_UahsrWSoomJbd4tVLYW6xIbwqrtW0ysZMjzWHL2LhMry7zYRlz2VvOabS5idhl_n6nYbBEjLn-DqciyMov5Z3-ov5BZLuDuLoLufBAu3PVCD3MD8yIyrN4dpCLOiCCs-nxzVd1egZ_qXgcQUE8tOBxjY4OFLoTRx9nlhyhaOnRTvZS2PwvW77qlvZ-iNhxADAr0IM2kMO2QdMJ3UAt5H5yQ-Hpjz-uxnAP97GzrRA_CtVPcOf8ocHM2_6WioR8JP4zWh9ahp3WUMZ0CeTrL1nRFx9ZSPQQ0iYo2RrQe6DQqEZCqqJfzJlOPSQE9UAvSK_VsngzNmNFRK7phjKoaqBJBkPzyndDQNTOKHxJVJH08j7Ru0yZWp-iDe-Seg1k20RCoQ-sUOlobK-89yS_xZ6DBj883Z_Ec4mXX-NhF6kejw_PN44Ewhkpr1ON_7ICq02CpDyJ4oNTf65E201mIZaS8-_6x_MvZI7ps862_GlQSuUsM6bWS8dFZid7vRZDdlY6TYmKOGeEXv88qpUYHBHqEjLDY_o82vJgUUdsjgh3MCToxjjh4eOhwgGvwOE_Uu20j_AJ0A9egLAw2wOSjkQgQW57M7Rh0r3-hgjQtJ2gxeJAORUCVxvfBunsPo7MjOnOKjJ19wCM6aKyD5FbU2uhwggeEAVEl4Xfo0R1xBsBTRNEmdNqf3S0Xaperbb4VC9xl62KzzdYsyxfdrmRKZusVz2rFuRA5lnW9WpeiUTwrRCMXescZX7GS5Yxn5Spfbrd1WXMltiJfqSYXpGDYC22WcWmW1rWLtJe7rOCrbLswokbj02cL5_tPN1_ju3R1uXDnr5Wp9aRgRvvgnxmCDgZ3-7iAqUHo4-vyOu4SVE528NBp81RVPbQg4ILwfZSkc4FTM1MTJx8Bc_9e12kxObP7_7JzzvC44_8GAAD__0ZXDZw">