[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[Subclipse-users] 100% CPU in Eclipse - seems due to Subclipse with overlapping projects

From: Alan Kent <ALAN.J.KENT_at_saic.com>
Date: 2007-06-25 01:55:27 CEST

I am experiencing Eclipse 3.2.2 going to 100% CPU with Subclipse 1.2.2.
This is under Windows XP. Task Manager shows lots of system time going
on (say 70% red 30% in the 'performance' tab). Progress monitor often
reported SVNStatusSubscriber running very slowly. I tried both JavaHL
and SVNKit - both fail in same way. I have bumped up memory for Eclipse
(some people were getting 100% CPU due to lack of memory). I don't
think its memory limit related.

I now think I know the situation in which I create it. I have a Maven
product with multiple modules. I was using m2eclipse, but it frequently
plays up (does not work out dependencies correctly) and after spending
up to an hour a day hitting F5 and restarting Eclipse until it suddenly
starts working for no apparent reason, I read another way of doing Maven
with Eclipse was to svn check out all the code under a tree outside the
Eclipse Workspace and then run mvn eclipse:eclipse to create .project
files for each module. I can then import all these modules. This means
I have projects in the workspace, but which refer to the source code off
in another directory tree. Things seem to work fine, but I lose the
Subclipse branch/tag/switch etc capability for the whole directory
tree. So on the web I read a suggestion to import each module as a
project *AND* import the root directory as a project as well. This is
possible with the newer versions of Eclipse. That is, the directory
trees of the source code overlap. I can then use the root project for
doing svn branch/tag etc commands. I can also use the individual
projects with their individual classpaths set up by mvn eclipse:eclipse
- no more need for the m2eclipse plugin.

HOWEVER, it appears that as soon as I create the root project in Eclipse
that overlaps the existing projects for all the modules, subclipse goes
insane. I suspect it gets confused by the projects with overlapping
source trees. As soon as I delete the root project, Eclipse CPU shortly
after drops to 0% again. Sometimes the delete comes up with an error
also talking about SVNStatusSubscriber errors (but does delete).

Any help greatly appreciated!

Alan

PS: I have a number of errors in the Eclipse log file
(workspace/.metadata/.log). Here is the last entry.

!SUBENTRY 1 org.eclipse.core.resources 4 566 2007-06-25 09:39:46.283
!MESSAGE An error occurred while traversing resources.
!STACK 0
java.lang.NullPointerException
    at
org.eclipse.jst.jsp.core.taglib.ProjectDescription.createJARRecord(ProjectDescription.java:702)
    at
org.eclipse.jst.jsp.core.taglib.ProjectDescription.updateJAR(ProjectDescription.java:1712)
    at
org.eclipse.jst.jsp.core.taglib.ProjectDescription$Indexer.visit(ProjectDescription.java:133)
    at
org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:57)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
    at
org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126)
    at org.eclipse.core.internal.resources.Resource.accept(Resource.java:67)
    at
org.eclipse.jst.jsp.core.taglib.ProjectDescription.index(ProjectDescription.java:1062)
    at
org.eclipse.jst.jsp.core.taglib.ProjectDescription.restoreReferences(ProjectDescription.java:1364)
    at
org.eclipse.jst.jsp.core.taglib.ProjectDescription.<init>(ProjectDescription.java:502)
    at
org.eclipse.jst.jsp.core.taglib.TaglibIndex.createDescription(TaglibIndex.java:625)
    at
org.eclipse.jst.jsp.core.taglib.TaglibIndex.internalResolve(TaglibIndex.java:758)
    at
org.eclipse.jst.jsp.core.taglib.TaglibIndex.resolve(TaglibIndex.java:453)
    at
org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCacheKey(TLDCMDocumentManager.java:835)
    at
org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCMDocument(TLDCMDocumentManager.java:866)
    at
org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.enableTaglibFromURI(TLDCMDocumentManager.java:114)
    at
org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:425)
    at
org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:370)
    at
org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.nodeParsed(TLDCMDocumentManager.java:193)
    at
org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.fireNodeParsed(XMLSourceParser.java:125)
    at
org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser.parseNodes(JSPSourceParser.java:296)
    at
org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.getDocumentRegions(XMLSourceParser.java:162)
    at
org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.reparse(BasicStructuredDocument.java:2329)
    at
org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController$FileBufferListener.bufferCreated(TaglibController.java:121)
    at
org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:536)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at
org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:534)
    at
org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:123)
    at
org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:541)
    at
org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:322)
    at
org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:308)
    at
org.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForRead(ModelManagerImpl.java:1068)
    at
org.eclipse.jst.jsp.core.internal.java.search.JSPSearchDocument.getJSPTranslation(JSPSearchDocument.java:115)
    at
org.eclipse.jst.jsp.core.internal.java.search.JSPSearchDocument.getPath(JSPSearchDocument.java:163)
    at
org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate.<init>(JavaSearchDocumentDelegate.java:30)
    at
org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport.createSearchDocument(JSPSearchSupport.java:401)
    at
org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport.addJspFile(JSPSearchSupport.java:295)
    at
org.eclipse.jst.jsp.core.internal.java.search.JSPIndexManager$ProcessFilesJob.run(JSPIndexManager.java:262)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subclipse.tigris.org
For additional commands, e-mail: users-help@subclipse.tigris.org
Received on Mon Jun 25 02:02:06 2007

This is an archived mail posted to the Subclipse Users mailing list.