Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 319033 - AbstractIndexerTask.extractFiles(...) uses PossibleTranslationUnit concrete class, breaks standalone indexing
Summary: AbstractIndexerTask.extractFiles(...) uses PossibleTranslationUnit concrete c...
Status: VERIFIED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-indexer (show other bugs)
Version: 7.0   Edit
Hardware: All All
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Markus Schorn CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-06 13:51 EDT by Chris Recoskie CLA
Modified: 2010-07-08 11:12 EDT (History)
0 users

See Also:


Attachments
fix (4.20 KB, patch)
2010-07-07 02:52 EDT, Markus Schorn CLA
mschorn.eclipse: iplog-
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Recoskie CLA 2010-07-06 13:51:06 EDT
Stacktrace below.

A possible solution would be to create a protected method in AbstractIndexerTask to allow for concrete implementations to override the behaviour of determining how a given translation unit is only a "potential" translation unit.  E.g., boolean isPossibleTranslationUnit(ITranslationUnit tu)


Exception in thread "Remote Indexer" java.lang.NoClassDefFoundError: org.eclipse.cdt.internal.core.model.TranslationUnit
        at java.lang.ClassLoader.defineClassImpl(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:266)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:600)
        at java.net.URLClassLoader.access$400(URLClassLoader.java:124)
        at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1055)
        at java.security.AccessController.doPrivileged(AccessController.java:274)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:492)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:639)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:605)
        at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.extractFiles(AbstractIndexerTask.java:388)
        at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:336)
        at org.eclipse.cdt.internal.core.indexer.StandaloneIndexerTask.run(StandaloneIndexerTask.java:131)
        at org.eclipse.cdt.internal.core.indexer.StandaloneIndexer.handleDelta(StandaloneIndexer.java:432)
        at org.eclipse.ptp.internal.rdt.core.miners.IndexerThread$2.runIndexer(IndexerThread.java:56)
        at org.eclipse.ptp.internal.rdt.core.miners.IndexerThread.run(IndexerThread.java:71)
Caused by: java.lang.ClassNotFoundException: org.eclipse.cdt.internal.core.model.TranslationUnit
        at java.net.URLClassLoader.findClass(URLClassLoader.java:497)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:639)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:605)
        ... 17 more
Comment 1 Markus Schorn CLA 2010-07-07 02:52:56 EDT
Created attachment 173620 [details]
fix

The patch introduces a new test in the indexer input adapter. This moves the usage of PotentialTranslationUnit into ProjectIndexerInputAdapter.

   IndexerInputAdapter.isIndexedOnlyIfIncluded(Object tu)
Comment 2 Markus Schorn CLA 2010-07-07 05:17:56 EDT
Fixed in 7.0.1 and 8.0 > 20100707.
Comment 3 CDT Genie CLA 2010-07-07 05:23:06 EDT
*** cdt cvs genie on behalf of mschorn ***
Bug 319033: Exception in stand-alone indexer.

[*] ProjectIndexerInputAdapter.java 1.17 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/ProjectIndexerInputAdapter.java?root=Tools_Project&r1=1.16&r2=1.17

[*] AbstractIndexerTask.java 1.52 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/AbstractIndexerTask.java?root=Tools_Project&r1=1.51&r2=1.52
[*] IndexerInputAdapter.java 1.5 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/IndexerInputAdapter.java?root=Tools_Project&r1=1.4&r2=1.5

[*] StandaloneIndexerInputAdapter.java 1.14 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/indexer/StandaloneIndexerInputAdapter.java?root=Tools_Project&r1=1.13&r2=1.14

[*] CPreprocessor.java 1.65 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/CPreprocessor.java?root=Tools_Project&r1=1.64&r2=1.65

[*] AbstractIndexerTask.java 1.49.2.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/AbstractIndexerTask.java?root=Tools_Project&r1=1.49.2.1&r2=1.49.2.2
[*] IndexerInputAdapter.java 1.3.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/IndexerInputAdapter.java?root=Tools_Project&r1=1.3&r2=1.3.2.1

[*] ProjectIndexerInputAdapter.java 1.13.2.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/ProjectIndexerInputAdapter.java?root=Tools_Project&r1=1.13.2.1&r2=1.13.2.2

[*] StandaloneIndexerInputAdapter.java 1.12.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/indexer/StandaloneIndexerInputAdapter.java?root=Tools_Project&r1=1.12&r2=1.12.2.1