[PATCH] D112337: [DebugInfo] Only create concrete DIEs of concrete functions

Jorge Gorbe Moya via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 10 13:42:11 PST 2021


jgorbe added a comment.

I rebuilt clang at this commit with `-DLLVM_USE_SANITIZER=Address` and it reports a problem nearby. I don't know if this patch is the actual root cause for the crash or if it's triggering an existing bug. Here's the full report in case it can help you debug the issue further:

  =================================================================
  ==65688==ERROR: AddressSanitizer: heap-use-after-free on address 0x621000114780 at pc 0x00000d6d07eb bp 0x7ffe39a2fcd0 sp 0x7ffe39a2fcc8
  READ of size 8 at 0x621000114780 thread T0
      #0 0xd6d07ea in push_back /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/CodeGen/DIE.h:537:14
      #1 0xd6d07ea in push_back /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/CodeGen/DIE.h:560:49
      #2 0xd6d07ea in addChild /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/CodeGen/DIE.h:849:14
      #3 0xd6d07ea in createAndAddScopeChildren /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1088:14
      #4 0xd6d07ea in llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(llvm::LexicalScope*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1134:39
      #5 0xd66fd55 in llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2251:5
      #6 0xd622f12 in llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp:410:5
      #7 0xd5e37bc in llvm::AsmPrinter::emitFunctionBody() /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1505:17
      #8 0x71988ca in llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/Target/X86/X86AsmPrinter.cpp:82:3
      #9 0x871b761 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/MachineFunctionPass.cpp:72:13
      #10 0x93e2a5f in llvm::FPPassManager::runOnFunction(llvm::Function&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1439:27
      #11 0x93f6582 in llvm::FPPassManager::runOnModule(llvm::Module&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1485:16
      #12 0x93e3adb in runOnModule /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1554:27
      #13 0x93e3adb in llvm::legacy::PassManagerImpl::run(llvm::Module&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:542:44
      #14 0xb459526 in RunCodegenPipeline /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1501:17
      #15 0xb459526 in EmitAssembly /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1531:3
      #16 0xb459526 in clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1693:15
      #17 0xccd1b86 in clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/CodeGenAction.cpp:370:7
      #18 0xfeeba7d in clang::ParseAST(clang::Sema&, bool, bool) /usr/local/google/home/jgorbe/code/llvm/clang/lib/Parse/ParseAST.cpp:171:13
      #19 0xcccc3a0 in clang::CodeGenAction::ExecuteAction() /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/CodeGenAction.cpp:1107:30
      #20 0xca60cf5 in clang::FrontendAction::Execute() /usr/local/google/home/jgorbe/code/llvm/clang/lib/Frontend/FrontendAction.cpp:967:8
      #21 0xc874011 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/local/google/home/jgorbe/code/llvm/clang/lib/Frontend/CompilerInstance.cpp:1030:33
      #22 0xccbc008 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/local/google/home/jgorbe/code/llvm/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:261:25
      #23 0x41b8a70 in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/cc1_main.cpp:246:15
      #24 0x41b3db9 in ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/driver.cpp:317:12
      #25 0x41b22a7 in main /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/driver.cpp:388:12
      #26 0x7f9bd7d73e49 in __libc_start_main csu/../csu/libc-start.c:314:16
      #27 0x40ff079 in _start (/usr/local/google/home/jgorbe/code/llvm-new-build/bin/clang-14+0x40ff079)
  
  0x621000114780 is located 640 bytes inside of 4096-byte region [0x621000114500,0x621000115500)
  freed by thread T0 here:
      #0 0x41a926d in operator delete(void*) (/usr/local/google/home/jgorbe/code/llvm-new-build/bin/clang-14+0x41a926d)
      #1 0x41b5a9f in Deallocate /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/AllocatorBase.h:92:5
      #2 0x41b5a9f in DeallocateSlabs /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/Allocator.h:351:19
      #3 0x41b5a9f in llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul, 128ul>::~BumpPtrAllocatorImpl() /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/Allocator.h:100:5
      #4 0xd6817fc in operator() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/unique_ptr.h:85:2
      #5 0xd6817fc in ~unique_ptr /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/unique_ptr.h:361:4
      #6 0xd6817fc in ~pair /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_pair.h:211:12
      #7 0xd6817fc in destroy_range /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/ADT/SmallVector.h:327:11
      #8 0xd6817fc in ~SmallVector /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/ADT/SmallVector.h:1175:5
      #9 0xd6817fc in llvm::DwarfDebug::addDwarfTypeUnitType(llvm::DwarfCompileUnit&, llvm::StringRef, llvm::DIE&, llvm::DICompositeType const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:3440:3
      #10 0xd72e9a8 in llvm::DwarfUnit::createTypeDIE(llvm::DIScope const*, llvm::DIE&, llvm::DIType const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:587:13
      #11 0xd72952a in llvm::DwarfUnit::addType(llvm::DIE&, llvm::DIType const*, llvm::dwarf::Attribute) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:650:44
      #12 0xd6cd5df in llvm::DwarfCompileUnit::applyVariableAttributes(llvm::DbgVariable const&, llvm::DIE&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1526:3
      #13 0xd6cad65 in llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:735:5
      #14 0xd6c6ccb in constructVariableDIE /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:711:12
      #15 0xd6c6ccb in constructVariableDIE /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:907:14
      #16 0xd6c6ccb in llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1030:24
      #17 0xd6d02d9 in createAndAddScopeChildren /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1084:24
      #18 0xd6d02d9 in llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(llvm::LexicalScope*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1134:39
      #19 0xd66fd55 in llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2251:5
      #20 0xd622f12 in llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp:410:5
      #21 0xd5e37bc in llvm::AsmPrinter::emitFunctionBody() /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1505:17
      #22 0x71988ca in llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/Target/X86/X86AsmPrinter.cpp:82:3
      #23 0x871b761 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/MachineFunctionPass.cpp:72:13
      #24 0x93e2a5f in llvm::FPPassManager::runOnFunction(llvm::Function&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1439:27
      #25 0x93f6582 in llvm::FPPassManager::runOnModule(llvm::Module&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1485:16
      #26 0x93e3adb in runOnModule /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1554:27
      #27 0x93e3adb in llvm::legacy::PassManagerImpl::run(llvm::Module&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:542:44
      #28 0xb459526 in RunCodegenPipeline /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1501:17
      #29 0xb459526 in EmitAssembly /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1531:3
      #30 0xb459526 in clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1693:15
      #31 0xccd1b86 in clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/CodeGenAction.cpp:370:7
      #32 0xfeeba7d in clang::ParseAST(clang::Sema&, bool, bool) /usr/local/google/home/jgorbe/code/llvm/clang/lib/Parse/ParseAST.cpp:171:13
      #33 0xcccc3a0 in clang::CodeGenAction::ExecuteAction() /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/CodeGenAction.cpp:1107:30
      #34 0xca60cf5 in clang::FrontendAction::Execute() /usr/local/google/home/jgorbe/code/llvm/clang/lib/Frontend/FrontendAction.cpp:967:8
      #35 0xc874011 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/local/google/home/jgorbe/code/llvm/clang/lib/Frontend/CompilerInstance.cpp:1030:33
      #36 0xccbc008 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/local/google/home/jgorbe/code/llvm/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:261:25
      #37 0x41b8a70 in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/cc1_main.cpp:246:15
      #38 0x41b3db9 in ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/driver.cpp:317:12
      #39 0x41b22a7 in main /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/driver.cpp:388:12
      #40 0x7f9bd7d73e49 in __libc_start_main csu/../csu/libc-start.c:314:16
  
  previously allocated by thread T0 here:
      #0 0x41a8a0d in operator new(unsigned long) (/usr/local/google/home/jgorbe/code/llvm-new-build/bin/clang-14+0x41a8a0d)
      #1 0x41f8aac in Allocate /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/AllocatorBase.h:85:12
      #2 0x41f8aac in StartNewSlab /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/Allocator.h:335:21
      #3 0x41f8aac in llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul, 128ul>::Allocate(unsigned long, llvm::Align) /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/Allocator.h:190:5
      #4 0xd6d9601 in Allocate /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/Allocator.h:204:12
      #5 0xd6d9601 in operator new<llvm::MallocAllocator, 4096, 4096, 128> /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/Support/Allocator.h:437:20
      #6 0xd6d9601 in llvm::DIEValueList::addValue(llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul, 128ul>&, llvm::DIEValue const&) /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/CodeGen/DIE.h:714:21
      #7 0xd722662 in addAttribute<llvm::DIEInteger> /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h:92:9
      #8 0xd722662 in llvm::DwarfUnit::addUInt(llvm::DIEValueList&, llvm::dwarf::Attribute, llvm::Optional<llvm::dwarf::Form>, unsigned long) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:234:3
      #9 0xd68103c in llvm::DwarfDebug::addDwarfTypeUnitType(llvm::DwarfCompileUnit&, llvm::StringRef, llvm::DIE&, llvm::DICompositeType const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:3382:9
      #10 0xd72e9a8 in llvm::DwarfUnit::createTypeDIE(llvm::DIScope const*, llvm::DIE&, llvm::DIType const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:587:13
      #11 0xd72952a in llvm::DwarfUnit::addType(llvm::DIE&, llvm::DIType const*, llvm::dwarf::Attribute) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:650:44
      #12 0xd6cd5df in llvm::DwarfCompileUnit::applyVariableAttributes(llvm::DbgVariable const&, llvm::DIE&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1526:3
      #13 0xd6cad65 in llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:735:5
      #14 0xd6c6ccb in constructVariableDIE /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:711:12
      #15 0xd6c6ccb in constructVariableDIE /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:907:14
      #16 0xd6c6ccb in llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, bool*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1030:24
      #17 0xd6d02d9 in createAndAddScopeChildren /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1084:24
      #18 0xd6d02d9 in llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(llvm::LexicalScope*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1134:39
      #19 0xd66fd55 in llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2251:5
      #20 0xd622f12 in llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp:410:5
      #21 0xd5e37bc in llvm::AsmPrinter::emitFunctionBody() /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1505:17
      #22 0x71988ca in llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/Target/X86/X86AsmPrinter.cpp:82:3
      #23 0x871b761 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/CodeGen/MachineFunctionPass.cpp:72:13
      #24 0x93e2a5f in llvm::FPPassManager::runOnFunction(llvm::Function&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1439:27
      #25 0x93f6582 in llvm::FPPassManager::runOnModule(llvm::Module&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1485:16
      #26 0x93e3adb in runOnModule /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:1554:27
      #27 0x93e3adb in llvm::legacy::PassManagerImpl::run(llvm::Module&) /usr/local/google/home/jgorbe/code/llvm/llvm/lib/IR/LegacyPassManager.cpp:542:44
      #28 0xb459526 in RunCodegenPipeline /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1501:17
      #29 0xb459526 in EmitAssembly /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1531:3
      #30 0xb459526 in clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/BackendUtil.cpp:1693:15
      #31 0xccd1b86 in clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/CodeGenAction.cpp:370:7
      #32 0xfeeba7d in clang::ParseAST(clang::Sema&, bool, bool) /usr/local/google/home/jgorbe/code/llvm/clang/lib/Parse/ParseAST.cpp:171:13
      #33 0xcccc3a0 in clang::CodeGenAction::ExecuteAction() /usr/local/google/home/jgorbe/code/llvm/clang/lib/CodeGen/CodeGenAction.cpp:1107:30
      #34 0xca60cf5 in clang::FrontendAction::Execute() /usr/local/google/home/jgorbe/code/llvm/clang/lib/Frontend/FrontendAction.cpp:967:8
      #35 0xc874011 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/local/google/home/jgorbe/code/llvm/clang/lib/Frontend/CompilerInstance.cpp:1030:33
      #36 0xccbc008 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/local/google/home/jgorbe/code/llvm/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:261:25
      #37 0x41b8a70 in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/cc1_main.cpp:246:15
      #38 0x41b3db9 in ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/driver.cpp:317:12
      #39 0x41b22a7 in main /usr/local/google/home/jgorbe/code/llvm/clang/tools/driver/driver.cpp:388:12
      #40 0x7f9bd7d73e49 in __libc_start_main csu/../csu/libc-start.c:314:16
  
  SUMMARY: AddressSanitizer: heap-use-after-free /usr/local/google/home/jgorbe/code/llvm/llvm/include/llvm/CodeGen/DIE.h:537:14 in push_back
  Shadow bytes around the buggy address:
    0x0c428001a8a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a8b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a8c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a8d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a8e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  =>0x0c428001a8f0:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a900: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a910: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a920: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a930: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
    0x0c428001a940: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  Shadow byte legend (one shadow byte represents 8 application bytes):
    Addressable:           00
    Partially addressable: 01 02 03 04 05 06 07 
    Heap left redzone:       fa
    Freed heap region:       fd
    Stack left redzone:      f1
    Stack mid redzone:       f2
    Stack right redzone:     f3
    Stack after return:      f5
    Stack use after scope:   f8
    Global redzone:          f9
    Global init order:       f6
    Poisoned by user:        f7
    Container overflow:      fc
    Array cookie:            ac
    Intra object redzone:    bb
    ASan internal:           fe
    Left alloca redzone:     ca
    Right alloca redzone:    cb
    Shadow gap:              cc
  ==65688==ABORTING


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D112337



More information about the llvm-commits mailing list