[llvm-branch-commits] [llvm] release/19.x: [RemoveDIs] Fix spliceDebugInfo splice-to-end edge case (#105671) (PR #106691)
Danial Klimkin via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Aug 30 04:41:45 PDT 2024
dklimkin wrote:
We are seeing ASAN errors past [43661a1214353ea1773a711f403f8d1118e9ca0f](https://github.com/llvm/llvm-project/commit/43661a1214353ea1773a711f403f8d1118e9ca0f):
AddressSanitizer: 120 byte(s) leaked in 2 allocation(s).
```
Indirect leak of 96 byte(s) in 1 object(s) allocated from:
#0 0x55661863b59d in operator new(unsigned long) llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:86:3
#1 0x7fe8882b642e in llvm::DbgVariableRecord::createUnresolvedDbgVariableRecord(llvm::DbgVariableRecord::LocationType, llvm::Metadata*, llvm::MDNode*, llvm::MDNode*, llvm::MDNode*, llvm::Metadata*, llvm::MDNode*, llvm::MDNode*) llvm-project/llvm/lib/IR/DebugProgramInstruction.cpp:174:10
#2 0x7fe88c37fdc3 in llvm::LLParser::parseDebugRecord(llvm::DbgRecord*&, llvm::LLParser::PerFunctionState&) llvm-project/llvm/lib/AsmParser/LLParser.cpp:6832:8
#3 0x7fe88c37ef4c in llvm::LLParser::parseBasicBlock(llvm::LLParser::PerFunctionState&) llvm-project/llvm/lib/AsmParser/LLParser.cpp:6673:11
#4 0x7fe88c344e2b in llvm::LLParser::parseFunctionBody(llvm::Function&, unsigned int, llvm::ArrayRef<unsigned int>) llvm-project/llvm/lib/AsmParser/LLParser.cpp:6618:9
#5 0x7fe88c33cbe3 in llvm::LLParser::parseDefine() llvm-project/llvm/lib/AsmParser/LLParser.cpp:762:10
#6 0x7fe88c335623 in llvm::LLParser::parseTopLevelEntities() llvm-project/llvm/lib/AsmParser/LLParser.cpp:566:11
#7 0x7fe88c334e42 in llvm::LLParser::Run(bool, llvm::function_ref<std::__u::optional<std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>> (llvm::StringRef, llvm::StringRef)>) llvm-project/llvm/lib/AsmParser/LLParser.cpp:94:10
#8 0x7fe88c3c757e in parseAssemblyInto(llvm::MemoryBufferRef, llvm::Module*, llvm::ModuleSummaryIndex*, llvm::SMDiagnostic&, llvm::SlotMapping*, bool, llvm::function_ref<std::__u::optional<std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>> (llvm::StringRef, llvm::StringRef)>) llvm-project/llvm/lib/AsmParser/Parser.cpp:35:8
#9 0x7fe88c3c914b in parseAssemblyInto llvm-project/llvm/lib/AsmParser/Parser.cpp:42:10
#10 0x7fe88c3c914b in parseAssembly llvm-project/llvm/lib/AsmParser/Parser.cpp:53:7
#11 0x7fe88c3c914b in llvm::parseAssemblyString(llvm::StringRef, llvm::SMDiagnostic&, llvm::LLVMContext&, llvm::SlotMapping*) llvm-project/llvm/lib/AsmParser/Parser.cpp:141:10
#12 0x7fe89ea5fd0d in parseIR llvm-project/llvm/unittests/IR/BasicBlockDbgInfoTest.cpp:30:33
Indirect leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x55661863b59d in operator new(unsigned long) llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:86:3
#1 0x7fe888182813 in llvm::BasicBlock::createMarker(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>) llvm-project/llvm/lib/IR/BasicBlock.cpp:71:8
#2 0x7fe88818af8c in llvm::BasicBlock::spliceDebugInfoImpl(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>, llvm::BasicBlock*, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>) llvm-project/llvm/lib/IR/BasicBlock.cpp:981:9
#3 0x7fe88818a544 in llvm::BasicBlock::spliceDebugInfo(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>, llvm::BasicBlock*, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>) llvm-project/llvm/lib/IR/BasicBlock.cpp:873:3
#4 0x7fe888188da2 in llvm::BasicBlock::splice(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>, llvm::BasicBlock*, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, false>) llvm-project/llvm/lib/IR/BasicBlock.cpp:1051:5
```
https://github.com/llvm/llvm-project/pull/106691
More information about the llvm-branch-commits
mailing list