[LLVMbugs] [Bug 4970] New: Verifier segfaults

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Sep 13 09:53:31 PDT 2009


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

           Summary: Verifier segfaults
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: ofv at wanadoo.es
                CC: llvmbugs at cs.uiuc.edu


This happened after updating the snv checkout. It was ok with a 20 days-old
checkout.

If the problem is not obvious I can try to bisect.

Stack dump:

#0  0x00007f22d1099142 in llvm::Type::getForwardedType (this=0x31)
    at /home/oscar/dev/llvm/head/include/llvm/Type.h:302
No locals.
#1  0x00007f22d19dcfbd in llvm::Type::getForwardedTypeInternal (this=0x3b0f4f0)
    at /home/oscar/dev/llvm/head/lib/VMCore/Type.cpp:238
        RealForwardedType = (const class llvm::Type *) 0x7fffda7b1680
        __PRETTY_FUNCTION__ = "const llvm::Type*
llvm::Type::getForwardedTypeInternal() const"
#2  0x00007f22d109915e in llvm::Type::getForwardedType (this=0x3b0f4f0)
    at /home/oscar/dev/llvm/head/include/llvm/Type.h:303
No locals.
#3  0x00007f22d109936a in llvm::PATypeHolder::get (this=0x7fffda7b16f0)
    at /home/oscar/dev/llvm/head/include/llvm/Type.h:435
        NewTy = (const llvm::Type *) 0x0
#4  0x00007f22d10993af in llvm::PATypeHolder::operator llvm::Type* (
    this=0x7fffda7b16f0)
    at /home/oscar/dev/llvm/head/include/llvm/AbstractTypeUser.h:151
No locals.
#5  0x00007f22d1a07fdc in std::less<llvm::PATypeHolder>::operator() (
    this=0xd168840, __x=@0x7fffda7b16f0, __y=@0xd16b5e0)
    at /usr/include/c++/4.3/bits/stl_function.h:230
No locals.
#6  0x00007f22d1a085b0 in std::_Rb_tree<llvm::PATypeHolder, llvm::PATypeHolder,
std::_Identity<llvm::PATypeHolder>, std::less<llvm::PATypeHolder>,
std::allocator<llvm::PATypeHolder> >::_M_insert_unique (this=0xd168840,
__v=@0x7fffda7b16f0)
    at /usr/include/c++/4.3/bits/stl_tree.h:1141
        __x = (class std::_Rb_tree_node<llvm::PATypeHolder> *) 0xd16b5c0
        __y = (class std::_Rb_tree_node<llvm::PATypeHolder> *) 0xd16b5c0
        __comp = true
        __j = {_M_node = 0x7fffda7b14e0}
#7  0x00007f22d1a0875d in std::set<llvm::PATypeHolder,
std::less<llvm::PATypeHolder>, std::allocator<llvm::PATypeHolder> >::insert
(this=0xd168840, 
    __x=@0x7fffda7b16f0) at /usr/include/c++/4.3/bits/stl_set.h:381
        __p = {first = {_M_node = 0x7fffda7b1530}, second = 168}
#8  0x00007f22d1a087e4 in llvm::SmallSet<llvm::PATypeHolder, 16u>::insert (
    this=0xd1687a0, V=@0x7fffda7b16f0)
    at /home/oscar/dev/llvm/head/include/llvm/ADT/SmallSet.h:60
        I = (const llvm::PATypeHolder *) 0x7fffda7b16f0
#9  0x00007f22d19fecc1 in VerifyType (this=0xd168690, Ty=0x3b0f4f0)
    at /home/oscar/dev/llvm/head/lib/VMCore/Verifier.cpp:1462
No locals.
#10 0x00007f22d19ff01b in VerifyType (this=0xd168690, Ty=0x3b0f2c0)
    at /home/oscar/dev/llvm/head/lib/VMCore/Verifier.cpp:1499
        PTy = (const llvm::PointerType *) 0x3b0f2c0
#11 0x00007f22d1a003ac in visitInstruction (this=0xd168690, I=@0x3b0f4b8)
    at /home/oscar/dev/llvm/head/lib/VMCore/Verifier.cpp:1456
        BB = (class llvm::BasicBlock *) 0x3ac28b0
#12 0x00007f22d1a00a83 in visitBitCastInst (this=0xd168690, I=@0x3b0f4b8)
    at /home/oscar/dev/llvm/head/lib/VMCore/Verifier.cpp:1003
        SrcTy = (const class llvm::Type *) 0x2af8ab0
        DestTy = (const class llvm::Type *) 0x3b0f2c0
        SrcBitSize = 0
        DestBitSize = 0
#13 0x00007f22d1a00aab in visitBitCast (this=0xd168690, I=@0x3b0f4b8)
    at /home/oscar/dev/llvm/head/include/llvm/Instruction.def:154
No locals.
#14 0x00007f22d1a06262 in visit (this=0xd168690, I=@0x3b0f4b8)
    at /home/oscar/dev/llvm/head/include/llvm/Instruction.def:154
No locals.
#15 0x00007f22d1a063c2 in visit (this=0xd168690, I=@0x3b0f4b8)
    at /home/oscar/dev/llvm/head/lib/VMCore/Verifier.cpp:360
No locals.
#16 0x00007f22d1a06407 in visit<llvm::ilist_iterator<llvm::Instruction> > (
    this=0xd168690, Start=
      {<std::iterator<std::bidirectional_iterator_tag, llvm::Instruction, long
int, llvm::Instruction*, llvm::Instruction&>> = {<No data fields>}, NodePtr =
0x3b0f588}, End=
      {<std::iterator<std::bidirectional_iterator_tag, llvm::Instruction, long
int, llvm::Instruction*, llvm::Instruction&>> = {<No data fields>}, NodePtr =
0x3ac28b0}) at /home/oscar/dev/llvm/head/include/llvm/Support/InstVisitor.h:89
No locals.
#17 0x00007f22d1a0645c in visit (this=0xd168690, BB=@0x3ac28b0)
    at /home/oscar/dev/llvm/head/include/llvm/Support/InstVisitor.h:104
No locals.
#18 0x00007f22d1a064a1 in visit<llvm::ilist_iterator<llvm::BasicBlock> > (
    this=0xd168690, Start=
      {<std::iterator<std::bidirectional_iterator_tag, llvm::BasicBlock, long
int, llvm::BasicBlock*, llvm::BasicBlock&>> = {<No data fields>}, NodePtr =
0x3ac2780}, End=
      {<std::iterator<std::bidirectional_iterator_tag, llvm::BasicBlock, long
int, llvm::BasicBlock*, llvm::BasicBlock&>> = {<No data fields>}, NodePtr =
0x3b21508}) at /home/oscar/dev/llvm/head/include/llvm/Support/InstVisitor.h:89
No locals.
#19 0x00007f22d1a064f6 in visit (this=0xd168690, F=@0x3b214d0)
    at /home/oscar/dev/llvm/head/include/llvm/Support/InstVisitor.h:100
No locals.
#20 0x00007f22d1a0654f in runOnFunction (this=0xd168690, F=@0x3b214d0)
    at /home/oscar/dev/llvm/head/lib/VMCore/Verifier.cpp:168
No locals.
#21 0x00007f22d19ce22a in llvm::FPPassManager::runOnFunction (this=0xd168f80, 
    F=@0x3b214d0) at /home/oscar/dev/llvm/head/lib/VMCore/PassManager.cpp:1371
        X = {<llvm::PrettyStackTraceEntry> = {
    _vptr.PrettyStackTraceEntry = 0x7f22d212fe90, NextEntry = 0x7fffda7b20b0}, 
  P = 0xd168690, V = 0x3b214d0, M = 0x0}
        FP = (class llvm::FunctionPass *) 0xd168690
        Index = 2
        Changed = false
#22 0x00007f22d19ce448 in llvm::FPPassManager::runOnModule (this=0xd168f80, 
    M=@0x2c6daa0) at /home/oscar/dev/llvm/head/lib/VMCore/PassManager.cpp:1394
        I = {<std::iterator<std::bidirectional_iterator_tag, llvm::Function,
long int, llvm::Function*, llvm::Function&>> = {<No data fields>}, 
  NodePtr = 0x3b214d0}
        E = {<std::iterator<std::bidirectional_iterator_tag, llvm::Function,
long int, llvm::Function*, llvm::Function&>> = {<No data fields>}, 
  NodePtr = 0x2c6da60}
        Changed = false
#23 0x00007f22d19cc93c in llvm::MPPassManager::runOnModule (this=0xd1684b0, 
    M=@0x2c6daa0) at /home/oscar/dev/llvm/head/lib/VMCore/PassManager.cpp:1447
        X = {<llvm::PrettyStackTraceEntry> = {
    _vptr.PrettyStackTraceEntry = 0x7f22d212fe90, NextEntry = 0x0}, 
  P = 0xd168f80, V = 0x0, M = 0x2c6daa0}
        MP = (llvm::ModulePass *) 0xd168f80
        Index = 0
        Changed = false
#24 0x00007f22d19d0221 in llvm::PassManagerImpl::run (this=0xd165ca0, 
    M=@0x2c6daa0) at /home/oscar/dev/llvm/head/lib/VMCore/PassManager.cpp:1528
        Index = 0
        Changed = false
#25 0x00007f22d19d0283 in llvm::PassManager::run (this=0x7fffda7b21f0, 
    M=@0x2c6daa0) at /home/oscar/dev/llvm/head/lib/VMCore/PassManager.cpp:1557
No locals.
#26 0x00007f22d19f7a04 in llvm::verifyModule (M=@0x2c6daa0, 
    action=llvm::AbortProcessAction, ErrorInfo=0x0)
    at /home/oscar/dev/llvm/head/lib/VMCore/Verifier.cpp:1853
        PM = {<llvm::PassManagerBase> = {
    _vptr.PassManagerBase = 0x7f22d212fc10}, PM = 0xd165ca0}
        V = ((anonymous namespace)::Verifier *) 0xd168690
#27 0x00007f22d1089ecb in lp0::LlvmCompile (resultTipo=
      {static tipoBaseCount = 1397, static tipoBaseMask = 32767, static
kindMask = 983040, static isRefMask = 2147483648, static isConstMask =
1073741824, static hasInitializerMask = 536870912, data = 3665503712},
commands=@0x72963c0, 
    source=0x8c0be0) at /home/oscar/dev/idb-llvm-head/lp0/llvm.cpp:1243
        M = (class llvm::Module *) 0x2c6daa0
        coreBe = {
  stack = {<std::_Vector_base<llvm::Value*, std::allocator<llvm::Value*> >> = {
      _M_impl = {<std::allocator<llvm::Value*>> =
{<__gnu_cxx::new_allocator<llvm::Value*>> = {<No data fields>}, <No data
fields>}, _M_start = 0xb5fac00, 
        _M_finish = 0xb5fac00, 
        _M_end_of_storage = 0xb5fb000}}, <No data fields>}, 
  module = 0x2c6daa0, currentFunction = 0xd157390, 
  scheduledFunctions = {<std::_Vector_base<lp0::ScheduledFunction,
std::allocator<lp0::ScheduledFunction> >> = {
      _M_impl = {<std::allocator<lp0::ScheduledFunction>> =
{<__gnu_cxx::new_allocator<lp0::ScheduledFunction>> = {<No data fields>}, <No
data fields>}, 
        _M_start = 0xc12e590, _M_finish = 0xc1893e8, 
        _M_end_of_storage = 0xc1be590}}, <No data fields>}, functionMap = {
    _M_t = {
      _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<lp0::Commands*
const, llvm::Function*> > >> =
{<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<lp0::Commands* const,
llvm::Function*> > >> = {<No data fields>}, <No data fields>}, 
        _M_key_compare = {<std::binary_function<lp0::Commands*, lp0::Commands*,
bool>> = {<No data fields>}, <No data fields>}, _M_header = {
          _M_color = std::_S_red, _M_parent = 0x2a6bed0, _M_left = 0x9365430, 
          _M_right = 0x90b4e90}, _M_node_count = 5171}}}, 
  printFunction = false}
        EE = (class llvm::ExecutionEngine *) 0x3624ed0
        mainF = (class llvm::Function *) 0x3b214d0
        t1 = 24440000
        be = {
  pointerMap = {<std::_Vector_base<lp0::LlvmState::PointerMapItem,
std::allocator<lp0::LlvmState::PointerMapItem> >> = {
      _M_impl = {<std::allocator<lp0::LlvmState::PointerMapItem>> =
{<__gnu_cxx::new_allocator<lp0::LlvmState::PointerMapItem>> = {<No data
fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, 
        _M_end_of_storage = 0x0}}, <No data fields>}, 
  corebe = @0x7fffda7b2370, commands = @0x72963c0, 
  jumped = {<std::_Bvector_base<std::allocator<bool> >> = {
      _M_impl = {<std::allocator<long unsigned int>> =
{<__gnu_cxx::new_allocator<long unsigned int>> = {<No data fields>}, <No data
fields>}, 
        _M_start = {<std::_Bit_iterator_base> =
{<std::iterator<std::random_access_iterator_tag, bool, long int, bool*, bool&>>
= {<No data fields>}, 
            _M_p = 0x2a3f9f0, _M_offset = 0}, <No data fields>}, 
        _M_finish = {<std::_Bit_iterator_base> =
{<std::iterator<std::random_access_iterator_tag, bool, long int, bool*, bool&>>
= {<No data fields>}, 
            _M_p = 0x2a40008, _M_offset = 29}, <No data fields>}, 
        _M_end_of_storage = 0x2a40010}}, <No data fields>}, 
  cmdInfos = {<std::_Vector_base<lp0::CmdInfo, std::allocator<lp0::CmdInfo> >>
= {
      _M_impl = {<std::allocator<lp0::CmdInfo>> =
{<__gnu_cxx::new_allocator<lp0::CmdInfo>> = {<No data fields>}, <No data
fields>}, _M_start = 0x9083200, 
        _M_finish = 0x90b3fd0, 
        _M_end_of_storage = 0x90b3fd0}}, <No data fields>}, bb = 0x0, 
  nextIsReturn = false, bbTerminated = false}
        MP = (llvm::ExistingModuleProvider *) 0x698f450
        error = {static npos = 18446744073709551615, 
  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> =
{<No data fields>}, <No data fields>}, _M_p = 0x8b54b8 ""}}
        mf = (class llvm::Function *) 0x7f22d27b0000
        __PRETTY_FUNCTION__ = "lp0::LLVMFunction* lp0::LlvmCompile(lp0::Tipo,
lp0::Commands&, lp0::Source*)"
        Context = {pImpl = 0x3d72790}
        instructionGenMapReady = true
#28 0x00007f22d10ab7af in LLVMCode (this=0x2a1e390, ee=@0x8c0c20, 
    code=@0x28463c0, s=0x8c0be0)
    at /home/oscar/dev/idb-llvm-head/lp0/api.cpp:691
No locals.


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