Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Stack overflow when pre-building an Index with Ganymede

Hello!

I wrote a plug-in which uses the Extension Point org.eclipse.cdt.core.CIndex to create a pre-built index.

Hence i supplied an implementation of IExportProjectProvider in which a project is created programatically (quite similar to the way the New Project wizard does)  and afterwards include paths, symbols,indexer settings and languae mappings are set programatically.

With this setup i am indexing a quite large project (over 2000 files in 500 folders with different include paths set for every folder!) which worked fine using Eclipse Europa. To be more precisely an index was generated but there were still many errors  from the indexer on the output - but the index worked quite fine.

Everything went well with Ganymede until RC3. (With RC2 i still recognized i great improment in the indexer resulting in much less error messages).
I suppose the indexer job is finished as i see the following after 2 hours:

C/C++ Indexer: Project 'GeneratePDOMProject_1214563951872' (2123 sources, 3486 headers)
    Options: indexer='PDOMFastIndexer', parseAllFiles=true, skipReferences=false, skipTypeReferences=false, skipMacroReferences=false.
    Database: 170553344 bytes
    Timings: 2488935 total, 313868 parser, 148572 resolution, 116782 index update.
    Errors: 1 internal, 1846 include, 139 scanner, 1210 syntax errors.
    Names: 365914 declarations, 1765947 references, 221919(9.43%) unresolved.
    Cache[51mb]: 317807612 hits, 38898(0.01%) misses.
Indexer: completed PDOMRebuildTask[2521783ms]
Command exited with non-zero status 13

A short time after a message box pops up showing an Eclipse error (i don't remember the specific text at the moment but i also think it was crucial, if needed i will run a indexing job again and note it).
Looking into the .log it can be seen that there was a stack overflow:


!ENTRY org.eclipse.osgi 4 0 2008-06-27 14:11:29.534
!MESSAGE Application error
!STACK 1
java.lang.StackOverflowError
        at org.eclipse.core.filesystem.URIUtil.toURI(URIUtil.java:133)
        at org.eclipse.core.filesystem.URIUtil.toURI(URIUtil.java:95)
        at org.eclipse.core.internal.filesystem.local.LocalFile.toURI(LocalFile.java:425)
        at org.eclipse.core.internal.localstore.FileStoreRoot.computeURI(FileStoreRoot.java:71)
        at org.eclipse.core.internal.localstore.FileSystemResourceManager.locationURIFor(FileSystemResourceManager.java:579)
        at org.eclipse.core.internal.resources.Resource.getLocationURI(Resource.java:996)
        at org.eclipse.cdt.internal.core.pdom.dom.PDOMProjectIndexLocationConverter.fromInternalFormat(PDOMProjectIndexLocationConverter.java:52)
        at org.eclipse.cdt.internal.core.pdom.dom.PDOMFile.getLocation(PDOMFile.java:592)
        at org.eclipse.cdt.internal.core.pdom.dom.PDOMInclude.getIncludesLocation(PDOMInclude.java:196)
        at org.eclipse.cdt.internal.core.index.CIndex.findIncludes(CIndex.java:306)
        at org.eclipse.cdt.internal.core.index.CIndex.findIncludes(CIndex.java:295)
        at org.eclipse.cdt.internal.core.index.CIndex.findIncludes(CIndex.java:290)
        at org.eclipse.cdt.internal.core.pdom.PDOMManager.areSynchronized(PDOMManager.java:1446)
        at org.eclipse.cdt.internal.core.pdom.PDOMManager.areSynchronized(PDOMManager.java:1453)
        at org.eclipse.cdt.internal.core.pdom.PDOMManager.areSynchronized(PDOMManager.java:1453)
       ------------------------------------------------------------------------ shortened------------------------------------------------------------------------------
 at org.eclipse.cdt.internal.core.pdom.PDOMManager.areSynchronized(PDOMManager.java:1453)
        at org.eclipse.cdt.internal.core.pdom.PDOMManager.isProjectContentSynced(PDOMManager.java:1411)
        at org.eclipse.cdt.internal.core.pdom.export.GeneratePDOM.run(GeneratePDOM.java:102)
        at org.eclipse.cdt.internal.core.pdom.export.GeneratePDOMApplication.startImpl(GeneratePDOMApplication.java:125)
        at org.eclipse.cdt.internal.core.pdom.export.GeneratePDOMApplication.start(GeneratePDOMApplication.java:66)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

!ENTRY org.eclipse.osgi 2 0 2008-06-27 14:11:30.439
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2008-06-27 14:11:30.439
!MESSAGE Bundle reference:file:plugins/org.eclipse.jdt.apt.pluggable.core_1.0.100.v20080407-1345.jar [204] was not resolved.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2008-06-27 14:11:30.439
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.tool_0.0.0.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2008-06-27 14:11:30.439
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.apt.dispatch_0.0.0.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2008-06-27 14:11:30.439
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.apt.model_0.0.0.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2008-06-27 14:11:30.439
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.apt.util_0.0.0.
!SUBENTRY 1 org.eclipse.osgi 2 0 2008-06-27 14:11:30.439
!MESSAGE Bundle reference:file:plugins/org.eclipse.jdt.compiler.apt_1.0.100.v20080513-1235.jar [206] was not resolved.
!SUBENTRY 2 org.eclipse.jdt.compiler.apt 2 0 2008-06-27 14:11:30.439
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.tool_0.0.0.
!SUBENTRY 1 org.eclipse.osgi 2 0 2008-06-27 14:11:30.439
!MESSAGE Bundle reference:file:plugins/org.eclipse.jdt.compiler.tool_1.0.100.v_874.jar [207] was not resolved.


As i said above everything was fine on Eclipse Europa times :-)

So my question is:
Is it possible that i did something wrong in my implementation to which Europa showed mercy and Ganymede not?
Or is this an indexer bug?

I already took a glimpse to bugzilla and another indexer stack overflow bug is reported there but the trace looks different. I did not file a bug myself since i do not now where exactly the problem is and how to reproduce the error.
Maybe you can give me some hints how i can provide you the information you need to fix the bug.

Thanks,
Florian
-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger


Back to the top