Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-1521

Crash in Editor in CPlusPlus::TemplateNameId::isEqualTo

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • Qt Creator 2.1.0
    • None
    • C/C++/Obj-C++ Support
    • None
    • Current master on Linux 64 bits (Ubuntu 8.04)
    • 1c078ec2a3685d4760aa38fe305dde1a3d40579b

    Description

      Moving the cursor on "iterator" will crash qt creator in this code:

      #include <string>
      #include <map>
      #include <set>
      
      int NIProperties::serialize(NIArchive &archive)
      {
          for(std::map<const char*, int, ltstr>::iterator it = _map.begin(); it != _map.end(); it++)
          {
              existingKeys.insert(it->first);
          }
          for(std::map<std::string, NIVariable*>::iterator it = map.begin(); it != map.end(); it++)
          {
              std::pair<std::set<std::string>::iterator,bool> r = _str.insert(key);
          }
          return 0;
      }
      

      Backtrace:

      Program received signal SIGSEGV, Segmentation fault.
      0x00007fae0b1eee16 in CPlusPlus::TemplateNameId::isEqualTo (this=0x15a8b60, other=0x156e4f0) at ../../shared/cplusplus/Names.cpp:175
      175	    const TemplateNameId *t = other->asTemplateNameId();
      
      #0  0x00007fae0b1eee16 in CPlusPlus::TemplateNameId::isEqualTo (
          this=0x15a8b60, other=0x156e4f0) at ../../shared/cplusplus/Names.cpp:175
      #1  0x00007fae0b22e4c2 in CPlusPlus::ClassOrNamespace::nestedType (
          this=0x156e620, name=0x15a8b60) at LookupContext.cpp:525
      #2  0x00007fae0b22edf3 in CPlusPlus::ClassOrNamespace::lookupType_helper (
          this=0x156e620, name=0x15a8b60, processed=0x7fff24fd7de0, 
          searchInEnclosingScope=false) at LookupContext.cpp:481
      #3  0x00007fae0b22f4f1 in CPlusPlus::ClassOrNamespace::findType (
          this=0x156e4f0, name=0x156e4f0) at LookupContext.cpp:455
      #4  0x00007fae0b230355 in CPlusPlus::ClassOrNamespace::lookup_helper (
          this=0x13cdc30, name=<value optimized out>, 
          searchInEnclosingScope=<value optimized out>) at LookupContext.cpp:344
      #5  0x00007fae0b2305be in CPlusPlus::ClassOrNamespace::lookup (this=0x156e4f0, 
          name=0x1590ad0) at LookupContext.cpp:324
      #6  0x00007fae0b233828 in CPlusPlus::LookupContext::lookup (
          this=0x7fff24fd81a8, name=0x15a8c20, scope=0x7fadf43fc6b0)
          at LookupContext.cpp:258
      #7  0x00007fae0b228b42 in CPlusPlus::ResolveExpression::visit (
          this=0x7fff24fd8190, ast=<value optimized out>)
          at ResolveExpression.cpp:408
      #8  0x00007fae0b1c2889 in CPlusPlus::QualifiedNameAST::accept0 (
          this=0x156e4f0, visitor=0x7fff24fd8190)
          at ../../shared/cplusplus/ASTVisit.cpp:547
      #9  0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x15a6928, 
          visitor=0x7fff24fd8190) at ../../shared/cplusplus/AST.cpp:68
      #10 0x00007fae0b228d7e in CPlusPlus::ResolveExpression::resolve (
          this=0x7fff24fd8190, ast=0x15a6928) at ResolveExpression.cpp:102
      #11 0x00007fae0b2295f4 in CPlusPlus::ResolveExpression::resolve (
          this=0x7fff24fd8190, ast=0x15a6928, scope=0x7fadf40aab80)
          at ResolveExpression.cpp:94
      #12 0x00007fae0b229649 in CPlusPlus::ResolveExpression::operator() (
          this=0x156e4f0, ast=0x1590ad0, scope=0xffffffff)
          at ResolveExpression.cpp:86
      #13 0x00007fae0b2246db in CPlusPlus::TypeOfExpression::operator() (
          this=0x7fff24fd8748, expression=<value optimized out>, 
          scope=0x7fadf40aab80, mode=<value optimized out>)
          at TypeOfExpression.cpp:90
      #14 0x00007fae0b23a9d4 in CPlusPlus::FindUsages::checkExpression (
          this=0x7fff24fd8680, startToken=59, endToken=71) at FindUsages.cpp:225
      #15 0x00007fae0b23ae83 in CPlusPlus::FindUsages::visit (this=0x7fff24fd8680, 
          ast=0x7fadf4539b70) at FindUsages.cpp:291
      #16 0x00007fae0b1c2889 in CPlusPlus::QualifiedNameAST::accept0 (
          this=0x156e4f0, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/ASTVisit.cpp:547
      #17 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf4539b70, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #18 0x00007fae0b1c1bf8 in CPlusPlus::NamedTypeSpecifierAST::accept0 (
          this=0x7fadf4539b98, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/AST.h:121
      #19 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf4539b98, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #20 0x00007fae0b23998f in CPlusPlus::FindUsages::visit (this=0x7fff24fd8680, 
          ast=0x7fadf4539cf8) at FindUsages.cpp:396
      #21 0x00007fae0b1c31a9 in CPlusPlus::SimpleDeclarationAST::accept0 (
          this=0x156e4f0, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/ASTVisit.cpp:105
      #22 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf4539cf8, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #23 0x00007fae0b1c1e38 in CPlusPlus::DeclarationStatementAST::accept0 (
          this=0x7fadf4539d28, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/AST.h:121
      #24 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf4539d28, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #25 0x00007fae0b1c19d0 in CPlusPlus::ForStatementAST::accept0 (
          this=0x7fadf4539a70, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/AST.h:121
      #26 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf4539a70, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #27 0x00007fae0b1c0d98 in CPlusPlus::CompoundStatementAST::accept0 (
          this=0x7fadf45384e8, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/AST.h:121
      #28 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf45384e8, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #29 0x00007fae0b1c3667 in CPlusPlus::FunctionDefinitionAST::accept0 (
          this=0x7fadf45384b0, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/AST.h:121
      #30 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf45384b0, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #31 0x00007fae0b1c2db8 in CPlusPlus::TranslationUnitAST::accept0 (
          this=0x7fadf4538130, visitor=0x7fff24fd8680)
          at ../../shared/cplusplus/AST.h:121
      #32 0x00007fae0b1b9dc4 in CPlusPlus::AST::accept (this=0x7fadf4538130, 
          visitor=0x7fff24fd8680) at ../../shared/cplusplus/AST.cpp:68
      #33 0x00007fae0b23b2ab in CPlusPlus::FindUsages::operator() (
          this=0x7fff24fd8680, symbol=0x8) at FindUsages.cpp:80
      #34 0x00007fae0b53c09d in CppTools::Internal::CppFindReferences::references (
          this=0xc7e340, symbol=0x7fadf45955a0, doc=@0x7fff24fd8850, 
          snapshot=@0x7fff24fd88b8) at cppfindreferences.cpp:177
      #35 0x00007fae0b50e7ac in CppTools::Internal::CppModelManager::references (
          this=0xc7e0c0, symbol=0x7fadf45955a0, doc=@0x7fff24fd8940, 
          snapshot=@0x7fff24fd88b8) at cppmodelmanager.cpp:792
      #36 0x00007fae0ae5a5e5 in CppEditor::Internal::CPPEditor::markSymbols (
          this=0x14ca700) at cppeditor.cpp:951
      #37 0x00007fae0ae5b292 in CppEditor::Internal::CPPEditor::updateSemanticInfo (
          this=0x14ca700, semanticInfo=@0x7fadf459d060) at cppeditor.cpp:1942
      #38 0x00007fae0ae82e40 in CppEditor::Internal::CPPEditor::qt_metacall (
          this=0x14ca700, _c=QMetaObject::InvokeMetaMethod, _id=19, 
          _a=0x7fadf40b1e90) at .moc/debug-shared/moc_cppeditor.cpp:247
      #39 0x00007fae1b357322 in QObject::event (this=0x14ca700, e=0x156e4f0)
          at kernel/qobject.cpp:1211
      #40 0x00007fae1bc402e3 in QWidget::event (this=0x14ca700, event=0x7fadf427daa0)
          at kernel/qwidget.cpp:8554
      #41 0x00007fae1c019d8b in QFrame::event (this=0x14ca700, e=0x7fadf427daa0)
          at widgets/qframe.cpp:557
      #42 0x00007fae1c0a9d1b in QAbstractScrollArea::event (this=0x14ca700, 
          e=0x7fadf427daa0) at widgets/qabstractscrollarea.cpp:990
      #43 0x00007fae1c0cb941 in QPlainTextEdit::event (this=0x14ca700, 
          e=0x7fadf427daa0) at widgets/qplaintextedit.cpp:1502
      #44 0x00007fae0c085e78 in TextEditor::BaseTextEditor::event (this=0x14ca700, 
          e=0x7fadf427daa0) at basetexteditor.cpp:1565
      #45 0x00007fae0ae55ed6 in CppEditor::Internal::CPPEditor::event (
          this=0x14ca700, e=0x7fadf427daa0) at cppeditor.cpp:1599
      #46 0x00007fae1bbe3adf in QApplicationPrivate::notify_helper (this=0x6140b0, 
          receiver=0x14ca700, e=0x7fadf427daa0) at kernel/qapplication.cpp:4358
      #47 0x00007fae1bbea72b in QApplication::notify (this=0x7fff24fd9c40, 
          receiver=0x14ca700, e=0x7fadf427daa0) at kernel/qapplication.cpp:4241
      #48 0x00007fae1b345214 in QCoreApplication::notifyInternal (
          this=0x7fff24fd9c40, receiver=0x14ca700, event=0x7fadf427daa0)
          at kernel/qcoreapplication.cpp:732
      #49 0x00007fae1b346371 in QCoreApplicationPrivate::sendPostedEvents (
          receiver=0x0, event_type=0, data=0x614250)
          at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
      #50 0x00007fae1b372a43 in postEventSourceDispatch (s=<value optimized out>)
          at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
      #51 0x00007fae19c03384 in g_main_context_dispatch ()
         from /usr/lib/libglib-2.0.so.0
      #52 0x00007fae19c06695 in ?? () from /usr/lib/libglib-2.0.so.0
      #53 0x00007fae19c06b7b in g_main_context_iteration ()
         from /usr/lib/libglib-2.0.so.0
      #54 0x00007fae1b372cac in QEventDispatcherGlib::processEvents (this=0x61de00, 
          flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
      #55 0x00007fae1bc93fbf in QGuiEventDispatcherGlib::processEvents (
          this=0x156e4f0, flags=<value optimized out>)
          at kernel/qguieventdispatcher_glib.cpp:204
      #56 0x00007fae1b3444c5 in QEventLoop::processEvents (
          this=<value optimized out>, flags=@0x7fff24fd9aa0)
          at kernel/qeventloop.cpp:149
      #57 0x00007fae1b3447e6 in QEventLoop::exec (this=0x7fff24fd9ae0, 
          flags=@0x7fff24fd9af0) at kernel/qeventloop.cpp:201
      #58 0x00007fae1b346624 in QCoreApplication::exec ()
          at kernel/qcoreapplication.cpp:1009
      #59 0x000000000040bbd6 in main (argc=1, argv=0x7fff24fda3f8) at main.cpp:319
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            raggi Roberto Raggi
            maxun Laurent Desmecht
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes