Community
Participate
Working Groups
For our test case, one jar file is called over 170 times during build. This jar file is a plugin that contributes xml catalog. In the plugin.xml in the jar file, there are 25 TLD contributers. All calls are from JSPELValidator and JSPDirectiveValidator. Here first 6 of the call stacks. ===== 1 ===== 29 sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:153) 28 org.eclipse.jst.jsp.core.taglib.ProjectDescription.createCatalogRecord(ProjectDescription.java:645) 27 org.eclipse.jst.jsp.core.taglib.ProjectDescription.resolve(ProjectDescription.java:1311) 26 org.eclipse.jst.jsp.core.taglib.TaglibIndex.internalResolve(TaglibIndex.java:759) 25 org.eclipse.jst.jsp.core.taglib.TaglibIndex.resolve(TaglibIndex.java:455) 24 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCacheKey(TLDCMDocumentManager.java:835) 23 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCMDocument(TLDCMDocumentManager.java:866) 22 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.enableTaglibFromURI(TLDCMDocumentManager.java:114) 21 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:425) 20 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:370) 19 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.nodeParsed(TLDCMDocumentManager.java:193) 18 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.fireNodeParsed(XMLSourceParser.java:125) 17 org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser.parseNodes(JSPSourceParser.java:296) 16 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.getDocumentRegions(XMLSourceParser.java:162) 15 org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.reparse(BasicStructuredDocument.java:2329) 14 org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController$FileBufferListener.bufferCreated(TaglibController.java:121) 13 org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:536) 12 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 11 org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:534) 10 org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:123) 9 org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:541) 8 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:322) 7 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:308) 6 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForRead(ModelManagerImpl.java:1068) 5 org.eclipse.jst.jsp.core.internal.validation.JSPELValidator.validateFile(JSPELValidator.java:42) 4 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:208) 3 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validateInJob(JSPValidator.java:384) 2 org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:70) 1 org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) ===== 2 ===== 29 sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:153) 28 org.eclipse.jst.jsp.core.taglib.ProjectDescription.createCatalogRecord(ProjectDescription.java:645) 27 org.eclipse.jst.jsp.core.taglib.ProjectDescription.resolve(ProjectDescription.java:1311) 26 org.eclipse.jst.jsp.core.taglib.TaglibIndex.internalResolve(TaglibIndex.java:759) 25 org.eclipse.jst.jsp.core.taglib.TaglibIndex.resolve(TaglibIndex.java:455) 24 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.loadTaglib(TLDCMDocumentManager.java:1159) 23 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCMDocument(TLDCMDocumentManager.java:900) 22 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.enableTaglibFromURI(TLDCMDocumentManager.java:114) 21 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:425) 20 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:370) 19 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.nodeParsed(TLDCMDocumentManager.java:193) 18 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.fireNodeParsed(XMLSourceParser.java:125) 17 org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser.parseNodes(JSPSourceParser.java:296) 16 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.getDocumentRegions(XMLSourceParser.java:162) 15 org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.reparse(BasicStructuredDocument.java:2329) 14 org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController$FileBufferListener.bufferCreated(TaglibController.java:121) 13 org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:536) 12 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 11 org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:534) 10 org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:123) 9 org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:541) 8 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:322) 7 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:308) 6 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForRead(ModelManagerImpl.java:1068) 5 org.eclipse.jst.jsp.core.internal.validation.JSPELValidator.validateFile(JSPELValidator.java:42) 4 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:208) 3 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validateInJob(JSPValidator.java:384) 2 org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:70) 1 org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) ===== 3 ===== 26 sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:153) 25 org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD.createCMDocument(CMDocumentFactoryTLD.java:647) 24 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.loadTaglib(TLDCMDocumentManager.java:1161) 23 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCMDocument(TLDCMDocumentManager.java:900) 22 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.enableTaglibFromURI(TLDCMDocumentManager.java:114) 21 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:425) 20 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:370) 19 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.nodeParsed(TLDCMDocumentManager.java:193) 18 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.fireNodeParsed(XMLSourceParser.java:125) 17 org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser.parseNodes(JSPSourceParser.java:296) 16 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.getDocumentRegions(XMLSourceParser.java:162) 15 org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.reparse(BasicStructuredDocument.java:2329) 14 org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController$FileBufferListener.bufferCreated(TaglibController.java:121) 13 org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:536) 12 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 11 org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:534) 10 org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:123) 9 org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:541) 8 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:322) 7 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:308) 6 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForRead(ModelManagerImpl.java:1068) 5 org.eclipse.jst.jsp.core.internal.validation.JSPELValidator.validateFile(JSPELValidator.java:42) 4 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:208) 3 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validateInJob(JSPValidator.java:384) 2 org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:70) 1 org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) ===== 4 ===== 29 sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:153) 28 org.eclipse.jst.jsp.core.taglib.ProjectDescription.createCatalogRecord(ProjectDescription.java:645) 27 org.eclipse.jst.jsp.core.taglib.ProjectDescription.resolve(ProjectDescription.java:1311) 26 org.eclipse.jst.jsp.core.taglib.TaglibIndex.internalResolve(TaglibIndex.java:759) 25 org.eclipse.jst.jsp.core.taglib.TaglibIndex.resolve(TaglibIndex.java:455) 24 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCacheKey(TLDCMDocumentManager.java:835) 23 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCMDocument(TLDCMDocumentManager.java:866) 22 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.enableTaglibFromURI(TLDCMDocumentManager.java:114) 21 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:425) 20 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:370) 19 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.nodeParsed(TLDCMDocumentManager.java:193) 18 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.fireNodeParsed(XMLSourceParser.java:125) 17 org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser.parseNodes(JSPSourceParser.java:296) 16 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.getDocumentRegions(XMLSourceParser.java:162) 15 org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.reparse(BasicStructuredDocument.java:2329) 14 org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController$FileBufferListener.bufferCreated(TaglibController.java:121) 13 org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:536) 12 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 11 org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:534) 10 org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:123) 9 org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:541) 8 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:322) 7 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:308) 6 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForRead(ModelManagerImpl.java:1068) 5 org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator.validateFile(JSPDirectiveValidator.java:58) 4 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:208) 3 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validateInJob(JSPValidator.java:384) 2 org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:70) 1 org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) ===== 5 ===== 29 sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:153) 28 org.eclipse.jst.jsp.core.taglib.ProjectDescription.createCatalogRecord(ProjectDescription.java:645) 27 org.eclipse.jst.jsp.core.taglib.ProjectDescription.resolve(ProjectDescription.java:1311) 26 org.eclipse.jst.jsp.core.taglib.TaglibIndex.internalResolve(TaglibIndex.java:759) 25 org.eclipse.jst.jsp.core.taglib.TaglibIndex.resolve(TaglibIndex.java:455) 24 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCacheKey(TLDCMDocumentManager.java:835) 23 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCMDocument(TLDCMDocumentManager.java:866) 22 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.enableTaglibFromURI(TLDCMDocumentManager.java:114) 21 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:425) 20 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:370) 19 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.nodeParsed(TLDCMDocumentManager.java:193) 18 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.fireNodeParsed(XMLSourceParser.java:125) 17 org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser.parseNodes(JSPSourceParser.java:296) 16 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.getDocumentRegions(XMLSourceParser.java:162) 15 org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.reparse(BasicStructuredDocument.java:2329) 14 org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController$FileBufferListener.bufferCreated(TaglibController.java:121) 13 org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:536) 12 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 11 org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:534) 10 org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:123) 9 org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:541) 8 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:322) 7 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:308) 6 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForRead(ModelManagerImpl.java:1068) 5 org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator.validateFile(JSPDirectiveValidator.java:58) 4 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:208) 3 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validateInJob(JSPValidator.java:384) 2 org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:70) 1 org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) ====== 6 ====== 29 sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:153) 28 org.eclipse.jst.jsp.core.taglib.ProjectDescription.createCatalogRecord(ProjectDescription.java:645) 27 org.eclipse.jst.jsp.core.taglib.ProjectDescription.resolve(ProjectDescription.java:1311) 26 org.eclipse.jst.jsp.core.taglib.TaglibIndex.internalResolve(TaglibIndex.java:759) 25 org.eclipse.jst.jsp.core.taglib.TaglibIndex.resolve(TaglibIndex.java:455) 24 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCacheKey(TLDCMDocumentManager.java:835) 23 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager.getCMDocument(TLDCMDocumentManager.java:866) 22 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.enableTaglibFromURI(TLDCMDocumentManager.java:114) 21 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:425) 20 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.processTaglib(TLDCMDocumentManager.java:370) 19 org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager$DirectiveStructuredDocumentRegionHandler.nodeParsed(TLDCMDocumentManager.java:193) 18 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.fireNodeParsed(XMLSourceParser.java:125) 17 org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser.parseNodes(JSPSourceParser.java:296) 16 org.eclipse.wst.xml.core.internal.parser.XMLSourceParser.getDocumentRegions(XMLSourceParser.java:162) 15 org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.reparse(BasicStructuredDocument.java:2329) 14 org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController$FileBufferListener.bufferCreated(TaglibController.java:121) 13 org.eclipse.core.internal.filebuffers.TextFileBufferManager$11.run(TextFileBufferManager.java:536) 12 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 11 org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireBufferCreated(TextFileBufferManager.java:534) 10 org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:123) 9 org.eclipse.wst.sse.core.internal.FileBufferModelManager.getModel(FileBufferModelManager.java:541) 8 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:322) 7 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl._commonGetModel(ModelManagerImpl.java:308) 6 org.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForRead(ModelManagerImpl.java:1068) 5 org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator.validateFile(JSPDirectiveValidator.java:58) 4 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:208) 3 org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validateInJob(JSPValidator.java:384) 2 org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:70) 1 org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Naomi, unless this causes crashes, a loss of data, or a severe memory leak, please lower the severity to Major. How much of a slowdown is this causing (presumably the plugin jar is already cached by the OS)?
I noticed this is already reported in 157098. https://bugs.eclipse.org/bugs/show_bug.cgi?id=157098
Actually, it's not. That concerns rereading JSP fragments repeatedly, this one's more about poor performance when scanning the XML Catalog-contributed TLDs.
As Nitin said, "Critical" means "crashes, loss of data, severe memory leak". See https://bugs.eclipse.org/bugs/page.cgi?id=fields.html#bug_severity So, I've changed to major. Thanks for reporting.
This bug has not been touched in 4 years. In that time there has been no other complaints on the subject and there has been work that has gone into the TLDs in that time. It is my vote that this bug be closed out.
I think it's still valid. Could this be that the fCatalogRecords are never quite utilized properly ?
I think we had a serious impact on this when fixing Bug 327028.