<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/76800>76800</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[BOLT] Assertion `!Frag->isSimple() && "fragment of non-simple function should also be non-simple"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
BOLT
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
llongint
</td>
</tr>
</table>
<pre>
I can reproduce with the simple command below:
```bash
llvm-bolt gaussdb -o test --data=tpch.arm.bolt.fdata --update-debug-sections
```
```log
BOLT-INFO: Inserted 119546 stubs in the hot area and 0 stubs in the cold area. Shared 0 times, iterated 3 times.
llvm-bolt: /test/bolt/lib/Core/BinaryFunction.cpp:4224: llvm::bolt::DebugAddressRangesVector llvm::bolt::BinaryFunction::getOutputAddressRanges() const: Assertion `!Frag->isSimple() && "fragment of non-simple function should also be non-simple"' failed.
#0 0x0000aaaae59894bc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /test/llvm/lib/Support/Unix/Signals.inc:723:22
#1 0x0000aaaae598986c PrintStackTraceSignalHandler(void*) /test/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x0000aaaae5987054 llvm::sys::RunSignalHandlers() /test/llvm/lib/Support/Signals.cpp:105:20
#3 0x0000aaaae5988cb4 SignalHandler(int) /test/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x0000ffffaef0d7c0 (linux-vdso.so.1+0x7c0)
#5 0x0000ffffaebc1e80 raise (/lib64/libc.so.6+0x34e80)
#6 0x0000ffffaebc3374 abort (/lib64/libc.so.6+0x36374)
#7 0x0000ffffaebbadd4 (/lib64/libc.so.6+0x2ddd4)
#8 0x0000ffffaebbae5c (/lib64/libc.so.6+0x2de5c)
#9 0x0000aaaae64e014c llvm::bolt::BinaryFunction::getOutputAddressRanges() const /test/bolt/lib/Core/BinaryFunction.cpp:4224:5
#10 0x0000aaaae6483544 llvm::bolt::BinaryContext::translateModuleAddressRanges(std::vector<llvm::DWARFAddressRange, std::allocator<llvm::DWARFAddressRange>> const&) const /test/bolt/lib/Core/BinaryContext.cpp:2459:66
#11 0x0000aaaae5b1f5b0 llvm::bolt::DWARFRewriter::updateUnitDebugInfo(llvm::DWARFUnit&, llvm::bolt::DIEBuilder&, llvm::bolt::DebugLocWriter&, llvm::bolt::DebugRangesSectionWriter&, std::optional<unsigned long>) /test/bolt/lib/Rewrite/DWARFRewriter.cpp:863:70
#12 0x0000aaaae5b1e03c llvm::bolt::DWARFRewriter::updateDebugInfo()::'lambda1'(llvm::DWARFUnit*, llvm::bolt::DIEBuilder*)::operator()(llvm::DWARFUnit*, llvm::bolt::DIEBuilder*) const /test/bolt/lib/Rewrite/DWARFRewriter.cpp:746:75
#13 0x0000aaaae5b1e6fc llvm::bolt::DWARFRewriter::updateDebugInfo() /test/bolt/lib/Rewrite/DWARFRewriter.cpp:771:53
#14 0x0000aaaae5a64d68 llvm::bolt::RewriteInstance::updateMetadata() /test/bolt/lib/Rewrite/RewriteInstance.cpp:3421:57
#15 0x0000aaaae5a5631c llvm::bolt::RewriteInstance::run() /test/bolt/lib/Rewrite/RewriteInstance.cpp:747:32
#16 0x0000aaaae4726f58 main /test/bolt/tools/driver/llvm-bolt.cpp:243:29
#17 0x0000ffffaebadbec __libc_start_main (/lib64/libc.so.6+0x20bec)
#18 0x0000aaaae4725ecc _start (/test/buildm/bin/llvm-bolt+0x3e8ecc)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /test/buildm/bin/llvm-bolt gaussdb -o test --data=tpch.arm.bolt.fdata --update-debug-sections
[1] 37301 abort (core dumped) ~/BiShengKernel/buildm/bin/llvm-bolt gaussdb -o test --update-debug-sections
```
My binary is too large to upload. If necessary, I can attempt to write a test case.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEWFtvIykW_jX4BdmigLr4wQ-Vi7XRdm-3OjM7jxGX4zI7ZbCASicv-9tXVFViV607mZ6MNFKUxAf4-M4HnItFCKaxABuUX6H8ZiG6uHd-07bONsbGhXT6eXOHlbDYw9E73SnA303c47gHHMzh2AJW7nAQVmMJrfuOWI3IDSI1KsjwI0XYD6a2fTwspWsjbkQXgpZ46XCEEPFyqUUUiN3Eo9qvhD-s0rTVLlnxctkdtYiw1CC7ZhlAReNsmG0zfpwaW9cMlqsvn35Z3v1r-wWxGt_ZAD6Cxlm2znmBQ-xkwMb2Tu1dxMKDwMklMh1TrtX94Arf74WHNCGaAwREr7GJ4EVCZYNtNXM67YzoNvmL6La30G1rJKLba-cB0e2VscI_bzvbO7hSxyNiNaeUp6UJJ4nL6hEMsfomCVJr7SGEb8I2EP4NKjp_cfIUfbA1EL908djFCQiiFaJrrJwNPes6JL2MszipSrOtF80SsVsT7vsbMM5HtEC0wIjSnRfNAWzEboets8vxouzGvXHYuy4p2QaHJZxNQZQiWuKdMC3oUUCMKCOYPBFCiBBCQL6u1lyqMyfDcxj--eqNjfdRqN9_8UIlYqdJXnx_cCF6EIee6TU2Ng68Xw6ln_xyKPfd8eh8Mv9qzVMymMaKNqyMVYjVJWWI1ZSeSGZzklWh8IzRgPEPYXULHtHq0RmNaP0BGusKsTo7saAzFiXJ-SWpvnV2Qia8nuI7NF72H65nRvIkAzkRYDMClZIcz_3-kPQ8Y1Of-bjlbrfbCdgRXSqC0-Eb2z0tH3Vwq-BWGaJX5KlUBNH1aW0-WStVBhXBXpgAuFckUSr48FclmKKHYRyqKVAxA2Ks5FhI5-PbQAUr-QSonAJJoTV_E4JqracQ1RwCcvUOBORqArE-P8aCA8m4-gvjygdCYT4GecoyMiVZsZzzN0heOxvhaTRFL2xoRYTPTnctzJmGqId5j31IRez6hHvzW_1te74gRZPXBaJtnRLvr2G3iN2OUTYFpJ9RZvRkFIbyfI1YXRQnZabBSGa7XJLLOSTx-gbffcpfg2lIt79aE_sEc2d3bhJJ-yVpeIyjF2Hvbq860-r02n88KcF_cuq3YfN3Jg5Hcz-k_8mSV-ndMY2JFrHrzvaljcaplklaT8LNRNnRe0S3EzFGcasiRZuSnLSlM22BsMtP44fanuuaXl0_hGjZioPUIkO0_JHg9R8RvH7FdMdUlDg_7vNR0Ldv6Ns6lrxIv89eL5vrWOw-puOfJFZmKaqwEzE-ISYKrovqIrER6c6GKKyCc2qfIYq-qP2DzGZQIzfGaU-uPJHLp-TygmWXVbtIznf2Y4xKXiZe9ESoOCfES1rs8gofhLH_v0V0rg2IbrU3j-lObV-r49dI1ldV6xP6LBsKLUHhh4eUvh5CFD4-jFu9kdyIhFNyS6DVjHIOSuEBbkR64Z1ufypMpLHndIfUDRWoE_DXT7f1_S0OnTyYiAWWXZO6plQARIf3MR770otuEd02Ju47uVLucFb7JPCjd_8BlbY2IXQpE237TsRY1XYahjbEi7DHUqjfY6opxzq5LzKx7g7H1x6MrBBZf_Wu8eKAhW-6VJSHWSPyAw__yh4tv8pQfoMxxqxkJDtVRcp56CmDTlfyv31-u9-Dbf4J3kL7c_x-tk38_Ixln02xCTg6h1vhG0iH1R1bJ_QK3-2wBQUhCP-cYuTQCosY4XDsT7V_IVgMDJQIL4ex0Bum12wtFrDJSsJpmVNSLfYbUpVci6zksJOUSqlBqBw0qFJlQCq1MBtKKCcZYWTNC16tyFpKzaWkFWVMFBJxAgdh2lWSYuV8s-hvyqYsKkIWrZDQhr6fpzR1vamlym8WqalPynVNQJy0JsRwAogmtv13AP2C_OZv6_gWnW83f_6l9BL8LwAA__9FOytk">