Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 104751 - ClassCastException in parser
Summary: ClassCastException in parser
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-core (show other bugs)
Version: 3.0   Edit
Hardware: Macintosh All
: P3 normal with 1 vote (vote)
Target Milestone: 4.0   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-21 20:03 EDT by Chris Wiebe CLA
Modified: 2007-06-22 07:48 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Wiebe CLA 2005-07-21 20:03:53 EDT
java.lang.ClassCastException: org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTQualifiedName
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPFunctionTemplate.takesVarArgs
(CPPFunctionTemplate.java:369)
	at org.eclipse.cdt.internal.core.index.domsourceindexer.IndexVisitorUtil.getParameters
(IndexVisitorUtil.java:231)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.CPPGenerateIndexVisitor.processNameBinding
(CPPGenerateIndexVisitor.java:316)
	at org.eclipse.cdt.internal.core.index.domsourceindexer.CPPGenerateIndexVisitor.processName
(CPPGenerateIndexVisitor.java:169)
	at org.eclipse.cdt.internal.core.index.domsourceindexer.CPPGenerateIndexVisitor.visit
(CPPGenerateIndexVisitor.java:112)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.accept(CPPASTName.java:90)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTQualifiedName.accept
(CPPASTQualifiedName.java:175)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator.accept(CPPASTDeclarator.java:
126)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept
(CPPASTFunctionDefinition.java:92)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateDeclaration.accept
(CPPASTTemplateDeclaration.java:95)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateDeclaration.accept
(CPPASTTemplateDeclaration.java:95)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition.accept
(CPPASTNamespaceDefinition.java:87)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition.accept
(CPPASTNamespaceDefinition.java:87)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition.accept
(CPPASTNamespaceDefinition.java:87)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit.accept
(CPPASTTranslationUnit.java:520)
	at org.eclipse.cdt.internal.core.index.domsourceindexer.DOMSourceIndexerRunner.indexFile
(DOMSourceIndexerRunner.java:133)
	at org.eclipse.cdt.internal.core.index.domsourceindexer.AbstractIndexerRunner.index
(AbstractIndexerRunner.java:76)
	at org.eclipse.cdt.internal.core.index.cindexstorage.Index.add(Index.java:110)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.DOMAddCompilationUnitToIndex.indexDocument
(DOMAddCompilationUnitToIndex.java:29)
	at org.eclipse.cdt.internal.core.index.domsourceindexer.DOMAddFileToIndex.execute
(DOMAddFileToIndex.java:60)
	at org.eclipse.cdt.internal.core.search.processing.JobManager.run(JobManager.java:466)
	at java.lang.Thread.run(Thread.java:552)
Comment 1 Doug Schaefer CLA 2005-07-21 20:47:29 EDT
Hey Chris, toss us a bone here. What was the source that was being parsed?
Comment 2 Chris Wiebe CLA 2005-07-21 20:59:08 EDT
Sorry for the terse description.  This was dumped to my console, no idea what was being parsed.  Haven't 
been able to reproduce this yet.  I usually just let the indexer churn away while I do something else.  I 
check back in an hour (yes it is still indexing after an hour) and sometimes I will see various exceptions in 
the console.
Comment 3 John Camelon CLA 2005-07-21 22:26:24 EDT
CPPFunctionTemplate assumes that the IASTName getDefinition() returns is a
ICPPASTFunctionDeclarator.  
Comment 4 John Camelon CLA 2005-07-21 22:33:11 EDT
I meant
> CPPFunctionTemplate assumes that the IASTName getDefinition() returns is
_owned_ > by a  ICPPASTFunctionDeclarator.  

Comment 5 Marc Herbert CLA 2005-08-29 16:10:41 EDT
I have a very similar cast exception and stack trace, and a way
to reproduce the bug each time.
I check out lipqxx using the CVS wizard, then the C++ wizard.
  <http://gborg.postgresql.org/project/libpqxx/projdisplay.php>

Then I run ./autogen.sh in a shell (at this step you must have
"libpq" foundable somewhere, I use the Ubuntu package).
Then the indexer eats all my CPU
for several minutes, dumping the following stacktrace a few tens of times.
I use the latest Ubuntu, JDK 1.4.2, eclipse 3.1, CDT 3.0. Just ask for
more details.

Adding the missing ./include path does not seem to change anything.


java.lang.ClassCastException
        at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPFunctionTemplate.
takesVarArgs(CPPFunctionTemplate.java:369)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
IndexVisitorUtil.getParameters(IndexVisitorUtil.java:231)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
CPPGenerateIndexVisitor.processNameBinding(CPPGenerateIndexVisitor.java:316)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
CPPGenerateIndexVisitor.processName(CPPGenerateIndexVisitor.java:169)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
CPPGenerateIndexVisitor.visit(CPPGenerateIndexVisitor.java:112)
        at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.
accept(CPPASTName.java:90)
        at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTQualifiedName.
accept(CPPASTQualifiedName.java:175)
        at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator.
accept(CPPASTDeclarator.java:126)
        at org.eclipse.cdt.internal.core.dom.parser.cpp.
CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:92)
        at org.eclipse.cdt.internal.core.dom.parser.cpp.
CPPASTTemplateDeclaration.accept(CPPASTTemplateDeclaration.java:95)
        at org.eclipse.cdt.internal.core.dom.parser.cpp.
CPPASTNamespaceDefinition.accept(CPPASTNamespaceDefinition.java:87)
        at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit.
accept(CPPASTTranslationUnit.java:520)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
DOMSourceIndexerRunner.indexFile(DOMSourceIndexerRunner.java:133)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
AbstractIndexerRunner.index(AbstractIndexerRunner.java:76)
        at org.eclipse.cdt.internal.core.index.cindexstorage.Index.add(Index.
java:110)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
DOMAddCompilationUnitToIndex.indexDocument(DOMAddCompilationUnitToIndex.java:29)
        at org.eclipse.cdt.internal.core.index.domsourceindexer.
DOMAddFileToIndex.execute(DOMAddFileToIndex.java:60)
        at org.eclipse.cdt.internal.core.search.processing.JobManager.
run(JobManager.java:466)
        at java.lang.Thread.run(Thread.java:534)
Comment 6 Markus Schorn CLA 2007-06-22 07:48:45 EDT
This was fixed together with bug 190241.