Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Problems with indexing/searching

I haven't seen any discussionon this for a while, so I'll ask: has this been addressed in the new 4.0 RC? It would really be nice to have a functional indexer to use on my code base. Right now, eclipse for C++ is not much better than vi because it has none of the navigational or reference searching available due to a busted indexer.

Sorry to vent, but it's been very frustrating.

If it's been addressed and I missed the message (I've been watching cdt-dev ever since I posted this), I apologize.

Thanks,
Larry.

Sergey Prigogin wrote:
Exactly my experience. See bugzilla 155324 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=155324>.

-sergey

On 10/12/06, *James Hawkins* <truiken@xxxxxxxxx <mailto:truiken@xxxxxxxxx>> wrote:

    On 10/12/06, Larry Streepy <larry@xxxxxxxxxxxxxx
    <mailto:larry@xxxxxxxxxxxxxx>> wrote:
     > I've updated to the latest versions of the CDT and I'm still having
     > trouble with the indexer.
     >
     > Here's some environmental data:
     > Running on CentOs (Linux variant)
     >
     > Eclipse version 3.2.1
     > CDT version 3.1.1.2006092708
     >
     > My project is big, but not massive (roughly 250,000 lines of C++
    code).
     >
     > First, I just couldn't seem to get it to index my code properly
    at all.
     >   The indexer would run for less than a minute and emit no
    messages, so
     > I thought things were just fine.
     >
     > Then I would try to do a navigate to a type (Navigate->Open Type) and
     > I'd start typing in the name of *any* of the classes defined in
    my code
     > and none of them are present.  The only things present seemed to be
     > coming from some of my system includes, but nothing from my code
    base.
     > I tweaked a lot of settings and then told the indexer to run and
    off it
     > went (and has been going for more than an hour now).
     >
     > I looked in the eclipse .log file and I'm seeing several
     > StackOverflowError messages being emitted, so something is definitely
     > off with the indexer.  Here's a portion of one of the stack traces:
     >
     > java.lang.StackOverflowError
     >
    org.eclipse.cdt.internal.core.pdom.db.ShortString.compare(ShortString.java:202)
     >
    org.eclipse.cdt.internal.core.pdom.dom.PDOMNamedNode$NodeFinder.compare(PDOMNamedNode.java
    :85)
     > org.eclipse.cdt.internal.core.pdom.db.BTree.accept(BTree.java:226)
     > org.eclipse.cdt.internal.core.pdom.db.BTree.accept(BTree.java:229)
     > org.eclipse.cdt.internal.core.pdom.db.BTree.accept(BTree.java :229)
     > org.eclipse.cdt.internal.core.pdom.db.BTree.accept(BTree.java:195)
     >
    org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.adaptBinding(PDOMCPPLinkage.java:292)
     >
    org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.resolveBinding
    (PDOMCPPLinkage.java:316)
     > org.eclipse.cdt.internal.core.pdom.PDOM.resolveBinding(PDOM.java:248)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPScope.getBinding(CPPScope.java:134)
     > org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.lookup
    (CPPSemantics.java:1019)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveBinding(CPPSemantics.java:613)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java
    :164)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:52)
     >
    org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPNamespace.getBinding(PDOMCPPNamespace.java:146)
     > org.eclipse.cdt.internal.core.dom.parser.cpp.CPPScope.getBinding
    (CPPScope.java:136)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:350)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:191)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:52)
     >
    org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPNamespace.getBinding(PDOMCPPNamespace.java:146)
     > org.eclipse.cdt.internal.core.dom.parser.cpp.CPPScope.getBinding
    (CPPScope.java:136)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:350)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:191)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:52)
     >
    org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPNamespace.getBinding(PDOMCPPNamespace.java:146)
     > org.eclipse.cdt.internal.core.dom.parser.cpp.CPPScope.getBinding
    (CPPScope.java:136)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:350)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:191)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:52)
     > ...
     >
     >
     > There are two basic forms of stack overflow that have been occuring,
     > here's a sample of the other:
     >
     > java.lang.StackOverflowError
     >
    org.eclipse.cdt.internal.core.dom.parser.ASTNode.getTranslationUnit(ASTNode.java:108)
     >
    org.eclipse.cdt.internal.core.dom.parser.ASTNode.getTranslationUnit(ASTNode.java
    :108)
     >
    org.eclipse.cdt.internal.core.dom.parser.ASTNode.getTranslationUnit(ASTNode.java:108)
     >
    org.eclipse.cdt.internal.core.dom.parser.ASTNode.getTranslationUnit(ASTNode.java:108)
     > org.eclipse.cdt.internal.core.dom.parser.cpp.CPPScope.getBinding
    (CPPScope.java:128)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassScope.getBinding(CPPClassScope.java:238)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.lookup(CPPSemantics.java:1019)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.postResolution(CPPSemantics.java:665)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveBinding(CPPSemantics.java:629)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding
    (CPPVisitor.java:297)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:191)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:52)
     >
    org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPNamespace.getBinding(PDOMCPPNamespace.java:146)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:350)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding
    (CPPVisitor.java:191)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:52)
     >
    org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPNamespace.getBinding(PDOMCPPNamespace.java
    :146)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:350)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:191)
     >
    org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding
    (CPPASTName.java:52)
     > ...
     >
     >
     > I have increased the heap size and thread stack size considerably
    (with
     > -vmargs -Xmx2048M -Xss512M) so I don't think it's mu configuration.
     >
     > Any ideas on what might be wrong?  Has this behavior been seen
    before?
     > I did search the archives and other blogs, but I didn't find anything
     > directly relevant.
     >

    I run into this problem when trying to index the source of the Wine
    code base.  The indexer either doesn't run at all, runs but stops
    because of stack overflow, or it runs to completion (or so it says)
    but only recognizes some (a very limited amount) of my information.

    --
    James Hawkins
    _______________________________________________
    cdt-dev mailing list
    cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>
    https://dev.eclipse.org/mailman/listinfo/cdt-dev



------------------------------------------------------------------------

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top