[PATCH] D147544: [BOLT] Move from RuntimeDyld to JITLink

Rafael Auler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 14 18:32:29 PDT 2023


rafauler added a comment.

In D147544#4264602 <https://reviews.llvm.org/D147544#4264602>, @jobnoorman wrote:

> In D147544#4263504 <https://reviews.llvm.org/D147544#4263504>, @rafauler wrote:
>
>> In one of our large tests on big x86 binaries, it's also firing this assertion:
>>
>> JITLinkLinker.cpp:52: void llvm::bolt::(anonymous namespace)::reassignSectionAddress(jitlink::LinkGraph &, const llvm::bolt::BinarySection &, uint64_t): Assertion `JLSection && "cannot find section in LinkGraph"' failed
>>
>> I took a look and it looks like the sectionID of the second argument (the binarysection object) is somehow storing garbage data. That's why I took a look at our asan builds. I got this when printing the section name it was trying to fetch from the link graph:
>>
>>   (...)
>>   (earlier correct call) reassignsection address for id: .local.text.funcname/1
>>   (buggy one) reassignsection address for id: ),:$R↓_ZZN5°⎺┌┌≤6␍␊├▒␋┌4C
>
> Thanks for testing this so thoroughly, @rafauler!
>
> Even though I fixed the ASan issues, I'm not convinced this assertion is caused by that. If it's still triggered, would it be possible to share a binary that allows me to reproduce this locally?

I can't share this binary. Luckily ASan was able to pinpoint the problem as a use-after-free. I don't know if it helps, but here is the stack trace: https://pastebin.com/MWTFvYPn

If that stack trace doesn't help, when I have more time, I'll take a closer look at it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D147544/new/

https://reviews.llvm.org/D147544



More information about the llvm-commits mailing list