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

    <tr>
        <th>Summary</th>
        <td>
            [BOLT]: Assertion `StateStack.empty() && "corrupt CFI stack"' failed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          llongint
      </td>
    </tr>
</table>

<pre>
    I encountered this error when I tried to process mysql sampling file on arm. Does anyone know how to solve it?

```bash
../llvm-project/install/bin/perf2bolt -p=local.data ./install/bin/mysqld -o local.fdata -nl -ignore-build-id
```
error message:
```css
BOLT-INFO: shared object or position-independent executable detected
PERF2BOLT: Starting data aggregation job for local.pgo.data
PERF2BOLT: spawning perf job to read events without LBR
PERF2BOLT: spawning perf job to read mem events
PERF2BOLT: spawning perf job to read process events
PERF2BOLT: spawning perf job to read task events
BOLT-INFO: Target architecture: aarch64
BOLT-INFO: BOLT version: 298b86333cb21d8df2d0d8bc62634ecd84690376
BOLT-INFO: first alloc address is 0x0
BOLT-INFO: creating new program header table at address 0x3920000, offset 0x3920000
BOLT-INFO: enabling relocation mode
BOLT-INFO: disabling -align-macro-fusion on non-x86 platform
BOLT-INFO: enabling strict relocation mode for aggregation purposes
BOLT-INFO: pre-processing profile using perf data aggregator
BOLT-WARNING: build-id will not be checked because we could not read one from input binary
PERF2BOLT: waiting for perf mmap events collection to finish...
PERF2BOLT: parsing perf-script mmap events output
FileName -> mmap info:
  ...
  mysqld : 4487 [0xaaaad5482000, 14d5000 @ 1a02000]
PERF2BOLT: waiting for perf task events collection to finish...
PERF2BOLT: parsing perf-script task events output
PERF2BOLT: input binary is associated with 1 PID(s)
PERF2BOLT: waiting for perf events collection to finish...
PERF2BOLT: parsing basic events (without LBR)...
perf2bolt: /home/hezuoqiang/llvm-project/bolt/lib/Core/BinaryFunction.cpp:2374: void llvm::bolt::BinaryFunction::annotateCFIState(): Assertion `StateStack.empty() && "corrupt CFI stack"' failed.
 #0 0x0000aaaad9ac1f90 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../llvm-project/install3/bin/perf2bolt+0x5c1f90)
 #1 0x0000aaaad9ac063c llvm::sys::RunSignalHandlers() (../llvm-project/install3/bin/perf2bolt+0x5c063c)
 #2 0x0000aaaad9ac24fc SignalHandler(int) Signals.cpp:0:0
 #3 0x0000ffffa6cb48ec (linux-vdso.so.1+0x8ec)
 #4 0x0000ffffa681edf8 (/usr/lib64/libc.so.6+0x80df8)
 #5 0x0000ffffa67dacbc gsignal (/usr/lib64/libc.so.6+0x3ccbc)
 #6 0x0000ffffa67c8cec abort (/usr/lib64/libc.so.6+0x2acec)
 #7 0x0000ffffa67d45d8 (/usr/lib64/libc.so.6+0x365d8)
 #8 0x0000ffffa67d463c (/usr/lib64/libc.so.6+0x3663c)
 #9 0x0000aaaada623bb4 llvm::bolt::BinaryFunction::propagateGnuArgsSizeInfo(unsigned short) (../llvm-project/install3/bin/perf2bolt+0x1123bb4)
#10 0x0000aaaada622b80 llvm::bolt::BinaryFunction::buildCFG(unsigned short) (../llvm-project/install3/bin/perf2bolt+0x1122b80)
#11 0x0000aaaad9b50860 std::_Function_handler<void (llvm::bolt::BinaryFunction&, unsigned short), llvm::bolt::RewriteInstance::buildFunctionsCFG()::$_18>::_M_invoke(std::_Any_data const&, llvm::bolt::BinaryFunction&, unsigned short&&) RewriteInstance.cpp:0:0
#12 0x0000aaaada65d540 llvm::bolt::ParallelUtilities::runOnEachFunctionWithUniqueAllocId(llvm::bolt::BinaryContext&, llvm::bolt::ParallelUtilities::SchedulingPolicy, std::function<void (llvm::bolt::BinaryFunction&, unsigned short)>, std::function<bool (llvm::bolt::BinaryFunction const&)>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, unsigned int)::$_2::operator()(std::_Rb_tree_iterator<std::pair<unsigned long const, llvm::bolt::BinaryFunction>>, std::_Rb_tree_iterator<std::pair<unsigned long const, llvm::bolt::BinaryFunction>>, unsigned short) const ParallelUtilities.cpp:0:0
#13 0x0000aaaad9b601f4 std::_Function_handler<void (), llvm::ThreadPool::createTaskAndFuture(std::function<void ()>)::'lambda'()>::_M_invoke(std::_Any_data const&) (../llvm-project/install3/bin/perf2bolt+0x6601f4)
#14 0x0000aaaada8f2e54 llvm::ThreadPool::processTasks(llvm::ThreadPoolTaskGroup*) (../llvm-project/install3/bin/perf2bolt+0x13f2e54)
#15 0x0000aaaada8f391c void* llvm::thread::ThreadProxy<std::tuple<llvm::ThreadPool::grow(int)::$_0>>(void*) ThreadPool.cpp:0:0
#16 0x0000ffffa681d320 (/usr/lib64/libc.so.6+0x7f320)
#17 0x0000ffffa688345c (/usr/lib64/libc.so.6+0xe545c)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8WE1v27oS_TXKZmBDpj4sL7JwPtwXoK8Nkl7cpUGRI4k3FKmSVJzcX_9AynYsxy3ctHiAW0ck5_DMzOFoaGqtqBXiZZRdRdnNBe1do82llFrVQrmLUvPXyztAxXSvHBrk4BphAY3RBjYNKrgDZ4Qf19AZzdBaaF_tdwmWtp0UqoZKSAStgJp2CjcaLVD1qhXCk9IbaPTG21otnxGEi5JVFN9E8XL7fx4Pn5LaZhiaTiOykvK5nXRG_4PMRWQllHVUyoisSqEisurQVKTU0sGki5IbqRmVU04dhemJ1YEvh4mGYWEVVk6UhImolTY4KXsh-UTwI1LD4xCMFq2lNUbJMXNm7TBy9fXzt8ndl9XXKFmCbaiPpi69B6ANdNoKJ7SaCMWxQ8VROcAXZL2jpUTg6JA53FK4v31YEQ_osR4dNc5HOvCmdW2wph4L_tElVNps_epqHYJwAsJ2dKM8hI9cMHMaDFIO-IzKWdgI1-jeweerh18yb7HdQvyS2U5KHzB11D6N7EZx_0ZNjQ6oYY3wAe2NTxlQP5CnJwz8AzyjsUIr_0wWRVnkSZKwksx4wSvCY16ULCd5kiLjRZov4mSen4CqhLEOqJSaAeXceAeFhfglPrGYGaQhqQo3Phy1oS00SDkaGBRB3R4lfkkWJI7jOCLXoKvKojsYew-OipbhbBr00ghaaTXHE0u5sNu1EypFrSYtZUZPqt4HxB9rpdXkpcihk9RV2rQ_2846I5g73jVI9FC2XW86bfFU_jqDk604QvaNDuWlt3stjA6BNgcYfy8fvtx9-eRhdgcaNkJKUNpBicAaZE_IoURGe4uwQWC6lzzMB235qlUZ3YJQXe-gFIqa1xPq3FARcucdC6Talna7o8S0lMiCo05DJZSwzXQ6PQHTUbP3a2KZEZ0bIenedb0bDFdC4hfaIkyi5HZYJVSl9_UIYL8HwLbi-T3StJhDlF3FL5RSyrO0IFsdzVKexXEMURrDjMZhOLs5x9uDI_ib3h4iHXo7MjxMhj9Q1FrNBHXIQ9mCGdzf3USksBFZnEP_w8xLagXbmUekOCyaZLG33b-dvG1EVo1u0X_hv73-Lqiq37_gwmqykqKMyOpaG7_-Kji86lXgOGVdFyVLksxTD_usBQcP4gWQLLe7RclybDWMUaW0ow6vV3eP_jsihQ9VsoSltWhCCKI8DnOPjrKnKbadex2WQUTyiOQQEcK0MX3n4Hp1B9aviwiJyBwqKiTynfoiksS-6MVxHCS3oGxWLeIDtvbVDn_cG6Fc2PGboczzeltk6GatrTNI28DgGoRyA5_iJz1C8r5JiMhV_JIFEnuFeJazI5ZxnrBTLB969ShqReV_qOISjd0H5mNE_D4jIuSICEkrBqMtI1JsvR-G7VYOcfi3B0q2QFVVVTRnZVog8zSlUP3L5JlbPbV6Ogs8ChyTSEe2xQx5VUDwdNVbM4gzT4dv5mHyASbmVTECykZAc05ZyaC2gfcZgAlj5ZhZPgZkBUMGtNTGnQFHKDtydH7EL834OY4mecbHjhbHQF4_5wAd539xmH-ak6Qs07MPd2d0R2vq8JPql6a2j-JfvPNvBlL0KrT_HGyjzW-cndksUNpz9mcnPuJMyiI-m3N4PV-vPv1Zjp7CiOP4gJdZXOQxWMcHEusdp3WzPWTJdSirozL0Q0eGmvSOvh88Zf2AGyMc3nkvFMODOOwQ7RCQoTL7D0nXsyJKbrd0_7sW6lk_-Sr55sNSva5DR8S0sm5L6sPs8_BZwBHZ98XGR5eMFZDxLD2tgHtqqJQo_3JCCidwW1ZNr76qW8qaHam_hWv-UuJ7j0vfQ9_xnybiWiuHLz9z-Qf7PrIGee_71XstBXv15vuAVnud_gktJLc_Ai-1lueBH2T2HeB6zV5eZrMtgO9O1r4FV3WUXLOGmtFiP7B2hgpnd9NHcOHqEprqt_lhiac7cnF4G70JlQx_6g5NABh0fKjUh3LtDOJauO2S5Ho_2VHhn_foUqt65_dZct4T_X_v9758BRh4p73TZygZV6g8nlXpeRXqXan51vgrzL1P1JBuf8HEb9Q-LRVf9eEmfJCPE0LfCWyf1rmkbclpROZvs79Wiz5azfMQiVExT0flpqgIZulP3N9eIr3_dnTO3hb6uU9G911Elr_x4kkClRHX7Ihrspix0LJHZHnA2QUqI1pGv7weKtX1ncQouf6xo7XRm317-HYg451Gi-2-3sM329NyzI96QJ6Q-IyOZl4lZPzmHfdYRZGk2TmtEWZp9tYa3X--XT7egu3LVjigUPY1GOx83-c0NM51oaKTVURWtXBNX06ZbrcJPJFHa3u0EVkBVb6AMdlzBNcgMENtAyVlT85fQ6ZHv_Bd8MuEL5IFvcDLWV7E8ywpFvOL5pJlxdxHLU05S8qCZClPGUeec1qWSVldiEsSkyRO4zxO4zSbT-dZWZLFDGdZUZWzahGlMbZUyKnnOtWmvggsL_PZYj67kLREacOPt4Qo3ECY9Jeu7ObCXAb_yr62URpLYZ19Q3HCyfCrb7jCZjd_-q530Rt5-fEMBPf-FwAA__8sPQQ0">