Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
Qt Creator 1.3.1, Qt Creator 1.3.81 (2.0.0-alpha)
-
None
-
Gentoo Linux
Qt 4.6.1
X11
-
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
(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 ?? ()