[LLVMbugs] [Bug 9528] New: Suspicious dangling SCC iterator on SRETPromotion

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 22 02:10:13 PDT 2011


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

           Summary: Suspicious dangling SCC iterator on SRETPromotion
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P
         Component: Interprocedural Optimizations
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: geek4civic at gmail.com
                CC: llvmbugs at cs.uiuc.edu


LLVM::Transforms/SRETPromotion/basictest.ll fails with Debug build on MSVC8, 9
and 10.

CRT assert: D:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\include\vector(238) : Assertion failed: vector iterators incompatible

Checked on release_29, but it can be seen on trunk.

I guess SCC.ReplaceNode(*I, NewNode) would be suspicious in
StructRetPromotion.cpp:81, investigating.



(Excuse me, it is ja_JP edition, on VS10)

     msvcr100d.dll!_crt_debugger_hook(int _Reserved=0x00000002)  行 62    C
     msvcr100d.dll!_call_reportfault(int nDbgHookCode=0x00000002, unsigned long
dwExceptionCode=0xc0000417, unsigned long dwExceptionFlags=0x00000001)  行 255 +
0x9 バイト    C++
     msvcr100d.dll!_invoke_watson(const wchar_t * pszExpression=0x00c4be68,
const wchar_t * pszFunction=0x00c4cae0, const wchar_t * pszFile=0x00c4a2a0,
unsigned int nLine=0x000000ef, unsigned int pReserved=0x00000000)  行 155 + 0xe
バイト    C++
     msvcr100d.dll!_invalid_parameter(const wchar_t * pszExpression=0x00c4be68,
const wchar_t * pszFunction=0x00c4cae0, const wchar_t * pszFile=0x00c4a2a0,
unsigned int nLine=0x000000ef, unsigned int pReserved=0x00000000)  行 111    C++
    
opt.exe!std::_Vector_const_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > >
>::_Compat(const
std::_Vector_const_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > > > &
_Right=({...}, 0x010c014d {F={...} CalledFunctions=[...]() NumReferences=???
}))  行 239 + 0x56 バイト    C++
    
opt.exe!std::_Vector_const_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > >
>::operator==(const
std::_Vector_const_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > > > &
_Right=({...}, 0x010c014d {F={...} CalledFunctions=[...]() NumReferences=???
}))  行 203    C++
    
opt.exe!llvm::mapped_iterator<std::_Vector_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > >
>,std::pointer_to_unary_function<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,llvm::CallGraphNode *,llvm::CallGraphNode *
(__cdecl*)(std::pair<llvm::WeakVH,llvm::CallGraphNode *>)> >::operator==(const
llvm::mapped_iterator<std::_Vector_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > >
>,std::pointer_to_unary_function<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,llvm::CallGraphNode *,llvm::CallGraphNode *
(__cdecl*)(std::pair<llvm::WeakVH,llvm::CallGraphNode *>)> > & X={...})  行 110
+ 0x1a バイト    C++
    
opt.exe!llvm::mapped_iterator<std::_Vector_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > >
>,std::pointer_to_unary_function<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,llvm::CallGraphNode *,llvm::CallGraphNode *
(__cdecl*)(std::pair<llvm::WeakVH,llvm::CallGraphNode *>)> >::operator!=(const
llvm::mapped_iterator<std::_Vector_iterator<std::_Vector_val<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,std::allocator<std::pair<llvm::WeakVH,llvm::CallGraphNode *> > >
>,std::pointer_to_unary_function<std::pair<llvm::WeakVH,llvm::CallGraphNode
*>,llvm::CallGraphNode *,llvm::CallGraphNode *
(__cdecl*)(std::pair<llvm::WeakVH,llvm::CallGraphNode *>)> > & X={...})  行 109
+ 0x1a バイト    C++
     opt.exe!llvm::scc_iterator<llvm::CallGraph
*,llvm::GraphTraits<llvm::CallGraph *> >::DFSVisitChildren()  行 82 + 0x30 バイト  
 C++
     opt.exe!llvm::scc_iterator<llvm::CallGraph
*,llvm::GraphTraits<llvm::CallGraph *> >::GetNextSCC()  行 103    C++
     opt.exe!llvm::scc_iterator<llvm::CallGraph
*,llvm::GraphTraits<llvm::CallGraph *> >::operator++()  行 158    C++
>	opt.exe!`anonymous namespace'::CGPassManager::runOnModule(llvm::Module & M={...})  行 447	C++
     opt.exe!llvm::MPPassManager::runOnModule(llvm::Module & M={...})  行 1557 +
0x17 バイト    C++
     opt.exe!llvm::PassManagerImpl::run(llvm::Module & M={...})  行 1638 + 0x1b
バイト    C++
     opt.exe!llvm::PassManager::run(llvm::Module & M={...})  行 1683    C++
     opt.exe!main(int argc=0x00000003, char * * argv=0x002964e0)  行 692    C++
     opt.exe!__tmainCRTStartup()  行 555 + 0x19 バイト    C
     opt.exe!mainCRTStartup()  行 371    C
     kernel32.dll!7c817077()     
     [下のフレームは間違っているか、または見つかりません。kernel32.dll に対して読み込まれたシンボルはありません。]

-- 
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