[LLVMbugs] [Bug 2385] New: Use of freed memory by lcssa

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri May 30 03:11:36 PDT 2008


http://llvm.org/bugs/show_bug.cgi?id=2385

           Summary: Use of freed memory by lcssa
           Product: new-bugs
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: baldrick at free.fr
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=1679)
 --> (http://llvm.org/bugs/attachment.cgi?id=1679)
testcase .ll

Running opt -lcssa on the attached testcase causes valgrind to say:

Invalid write of size 8
   at 0x82850E: (anonymous
namespace)::LCSSA::GetValueForBlock(llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Instruction*, llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*> >&) (LCSSA.cpp:275)
   by 0x828506: (anonymous
namespace)::LCSSA::GetValueForBlock(llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Instruction*, llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*> >&) (LCSSA.cpp:275)
   by 0x828D45: (anonymous
namespace)::LCSSA::ProcessInstruction(llvm::Instruction*,
llvm::SmallVector<llvm::BasicBlock*, 8> const&) (LCSSA.cpp:190)
   by 0x828F3F: (anonymous
namespace)::LCSSA::runOnLoop(llvm::LoopBase<llvm::BasicBlock>*,
llvm::LPPassManager&) (LCSSA.cpp:132)
   by 0x89DB71: llvm::LPPassManager::runOnFunction(llvm::Function&)
(LoopPass.cpp:225)
   by 0x95E196: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1178)
   by 0x95E303: llvm::FPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1198)
   by 0x95DE3B: llvm::MPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1248)
   by 0x95DFCB: llvm::PassManagerImpl::run(llvm::Module&)
(PassManager.cpp:1322)
   by 0x95E02E: llvm::PassManager::run(llvm::Module&) (PassManager.cpp:1354)
   by 0x6B9470: main (opt.cpp:431)
 Address 0x61a5d60 is 488 bytes inside a block of size 1,024 free'd
   at 0x4C22B3E: operator delete[](void*) (vg_replace_malloc.c:364)
   by 0x82959D: llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned) (DenseMap.h:360)
   by 0x82960F: llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*>
>::InsertIntoBucket(llvm::DomTreeNodeBase<llvm::BasicBlock>* const&,
llvm::Value* const&, std::pair<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*>*) (DenseMap.h:242)
   by 0x8296E9: llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*>
>::FindAndConstruct(llvm::DomTreeNodeBase<llvm::BasicBlock>* const&)
(DenseMap.h:185)
   by 0x829710: llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*>
>::operator[](llvm::DomTreeNodeBase<llvm::BasicBlock>* const&) (DenseMap.h:189)
   by 0x828496: (anonymous
namespace)::LCSSA::GetValueForBlock(llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Instruction*, llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*> >&) (LCSSA.cpp:256)
   by 0x828506: (anonymous
namespace)::LCSSA::GetValueForBlock(llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Instruction*, llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*> >&) (LCSSA.cpp:275)
   by 0x828506: (anonymous
namespace)::LCSSA::GetValueForBlock(llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Instruction*, llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::Value*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>,
llvm::DenseMapInfo<llvm::Value*> >&) (LCSSA.cpp:275)
   by 0x828D45: (anonymous
namespace)::LCSSA::ProcessInstruction(llvm::Instruction*,
llvm::SmallVector<llvm::BasicBlock*, 8> const&) (LCSSA.cpp:190)
   by 0x828F3F: (anonymous
namespace)::LCSSA::runOnLoop(llvm::LoopBase<llvm::BasicBlock>*,
llvm::LPPassManager&) (LCSSA.cpp:132)
   by 0x89DB71: llvm::LPPassManager::runOnFunction(llvm::Function&)
(LoopPass.cpp:225)
   by 0x95E196: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1178)


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list