[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