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

Creator crash when saving a file while performing a "Find Usages" operation

    XMLWordPrintable

Details

    • 417a1c9f284fd4a8c66177eb9f2e65b36b910c15

    Description

      Steps to reproduce:
      1. Edit an open document.
      2. Perform a Find Usages operation on a symbol in that document (should be a fairly large project so this takes some time).
      3. Press Ctrl + S.

      This reproduces reliably for me. Call Stack:

      Program terminated with signal 11, Segmentation fault.
      #0 begin (this=<value optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/include/g++-v4/bits/stl_vector.h:387
      387

      { return const_iterator(this->_M_impl._M_start); }


      (gdb) bt
      #0 begin (this=<value optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/include/g++-v4/bits/stl_vector.h:387
      #1 CPlusPlus::TranslationUnit::findLineNumber (this=<value optimized out>) at ../../shared/cplusplus/TranslationUnit.cpp:315
      #2 0x00007f3b3f006ea5 in CPlusPlus::TranslationUnit::getPosition (this=0x0, tokenOffset=25044, line=0x7f3b3319332c,
      column=0x7f3b33193328, fileName=0x7f3b33193320) at ../../shared/cplusplus/TranslationUnit.cpp:363
      #3 0x00007f3b3f00161c in CPlusPlus::Symbol::line (this=<value optimized out>) at ../../shared/cplusplus/Symbol.cpp:231
      #4 0x00007f3b3f036a7d in CPlusPlus::FindUsages::checkSymbol (this=0x7f3b33193cc0, symbol=0x7f3b04da8e30) at FindUsages.cpp:176
      #5 0x00007f3b3f0379d3 in CPlusPlus::FindUsages::reportResult (this=0x7f3b33193cc0, tokenIndex=64612, candidates=...)
      at FindUsages.cpp:99
      #6 0x00007f3b3f038d70 in CPlusPlus::FindUsages::visit (this=0x7f3b33193cc0, ast=0x7f3b04f8dfc0) at FindUsages.cpp:369
      #7 0x00007f3b3efcfea3 in CPlusPlus::SimpleNameAST::accept0 (this=0x7f3b04f8dfc0, visitor=0x7f3b33193cc0)
      at ../../shared/cplusplus/ASTVisit.cpp:618
      #8 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8dfc0, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #9 0x00007f3b3efd259a in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #10 CPlusPlus::PostfixExpressionAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:835
      #11 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8e038, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #12 0x00007f3b3efd2e31 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #13 CPlusPlus::ExpressionListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:106
      #14 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8e050, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #15 0x00007f3b3efd0903 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #16 CPlusPlus::CallAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:761
      #17 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8df98, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #18 0x00007f3b3efd25b3 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #19 CPlusPlus::PostfixExpressionAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:837
      #20 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8e070, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #21 0x00007f3b3efd1a9a in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #22 CPlusPlus::BinaryExpressionAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      --Type <return> to continue, or q <return> to quit--
      at ../../shared/cplusplus/ASTVisit.cpp:186
      #23 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8e088, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #24 0x00007f3b3efd3431 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #25 CPlusPlus::ExpressionStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:457
      #26 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8e0a8, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #27 0x00007f3b3efd1c02 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #28 CPlusPlus::IfStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:510
      #29 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8de40, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #30 0x00007f3b3efd2dc1 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #31 CPlusPlus::StatementListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:234
      #32 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8e0c0, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #33 0x00007f3b3efd0d2b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #34 CPlusPlus::CompoundStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:244
      #35 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8dca0, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #36 0x00007f3b3efd1c02 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #37 CPlusPlus::IfStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:510
      #38 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8db68, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #39 0x00007f3b3efd2dc1 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #40 CPlusPlus::StatementListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:234
      #41 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8e5b8, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #42 0x00007f3b3efd0d2b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #43 CPlusPlus::CompoundStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:244
      #44 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8b828, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      --Type <return> to continue, or q <return> to quit--
      #45 0x00007f3b3efd1c02 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #46 CPlusPlus::IfStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:510
      #47 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8b7a0, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #48 0x00007f3b3efd2dc1 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #49 CPlusPlus::StatementListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:234
      #50 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f91850, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #51 0x00007f3b3efd0d2b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #52 CPlusPlus::CompoundStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:244
      #53 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8b2e8, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #54 0x00007f3b3efd1c02 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #55 CPlusPlus::IfStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:510
      #56 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8b128, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #57 0x00007f3b3efd2dc1 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #58 CPlusPlus::StatementListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:234
      #59 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f91868, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #60 0x00007f3b3efd0d2b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #61 CPlusPlus::CompoundStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:244
      #62 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8afb8, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #63 0x00007f3b3efd38f4 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #64 CPlusPlus::ForStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:499
      #65 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8ad28, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #66 0x00007f3b3efd2dc1 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #67 CPlusPlus::StatementListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      --Type <return> to continue, or q <return> to quit--
      at ../../shared/cplusplus/ASTVisit.cpp:234
      #68 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f91880, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #69 0x00007f3b3efd0d2b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #70 CPlusPlus::CompoundStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:244
      #71 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8a980, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #72 0x00007f3b3efd1c02 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #73 CPlusPlus::IfStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:510
      #74 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8a818, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #75 0x00007f3b3efd2dc1 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #76 CPlusPlus::StatementListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:234
      #77 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f91ab0, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #78 0x00007f3b3efd0d2b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #79 CPlusPlus::CompoundStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:244
      #80 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8a550, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #81 0x00007f3b3efd1c02 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #82 CPlusPlus::IfStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:510
      #83 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8a420, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #84 0x00007f3b3efd2dc1 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #85 CPlusPlus::StatementListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:234
      #86 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f91ac8, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #87 0x00007f3b3efd0d2b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #88 CPlusPlus::CompoundStatementAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:244
      #89 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8a3f8, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      --Type <return> to continue, or q <return> to quit--
      #90 0x00007f3b3efd120a in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #91 CPlusPlus::FunctionDefinitionAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:471
      #92 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f8a3c0, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #93 0x00007f3b3efd2f11 in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #94 CPlusPlus::DeclarationListAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:79
      #95 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b04f91ae0, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #96 0x00007f3b3efd074b in accept (visitor=<value optimized out>, ast=<value optimized out>) at ../../shared/cplusplus/AST.h:86
      #97 CPlusPlus::TranslationUnitAST::accept0 (visitor=<value optimized out>, ast=<value optimized out>)
      at ../../shared/cplusplus/ASTVisit.cpp:1016
      #98 0x00007f3b3efc4594 in CPlusPlus::AST::accept (this=0x7f3b050b4100, visitor=0x7f3b33193cc0) at ../../shared/cplusplus/AST.cpp:68
      #99 0x00007f3b3f037029 in CPlusPlus::FindUsages::operator() (this=0x7f3b33193cc0, symbol=<value optimized out>,
      id=<value optimized out>, ast=0x7f3b050b4100) at FindUsages.cpp:68
      #100 0x00007f3b3f32353a in find_helper (future=..., wl=..., snapshot=..., symbol=0x7f3b2c6c9440) at cppfindreferences.cpp:184
      #101 0x00007f3b3f326f9c in QtConcurrent::StoredInterfaceFunctionCall3<CPlusPlus::Usage, void (QFutureInterface<CPlusPlus::Usage>&, QMap<QString, QString>, CPlusPlus::Snapshot, CPlusPlus::Symbol*), QMap<QString, QString>, CPlusPlus::Snapshot, CPlusPlus::Symbol*>::run (this=0x765aed0) at ../../libs/qtconcurrent/runextensions.h:214
      #102 0x00007f3b4b9fb7cc in ?? () from /usr/lib64/qt4/libQtCore.so.4
      #103 0x00007f3b4ba04431 in ?? () from /usr/lib64/qt4/libQtCore.so.4
      #104 0x00007f3b4b0922a7 in start_thread () from /lib/libpthread.so.0
      #105 0x00007f3b4a6686ad in clone () from /lib/libc.so.6
      #106 0x0000000000000000 in ?? ()

      Attachments

        Activity

          People

            erikv Erik Verbruggen
            wongk Kris Wong
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: