Community
Participate
Working Groups
Build Identifier: 3.2.0RC1-20100513125036 The third exception is caused by the second. Reproducible: Always Steps to Reproduce: 1. Import the attached project 2. Restart the workspace After a while, will the following three exceptions in the error log: !ENTRY org.eclipse.jst.jsf.core 4 0 2010-06-03 08:47:03.781 !MESSAGE While trying to locate JSF resources in the workspace !STACK 0 org.eclipse.jst.jsf.designtime.internal.resources.ResourceIdentifierFactory$InvalidIdentifierException at org.eclipse.jst.jsf.designtime.internal.resources.ResourceIdentifierFactory.createLibraryResource(ResourceIdentifierFactory.java:56) at org.eclipse.jst.jsf.designtime.internal.resources.WorkspaceResourceManager.track(WorkspaceResourceManager.java:126) at org.eclipse.jst.jsf.designtime.internal.resources.WorkspaceResourceManager.trackAllInFolder(WorkspaceResourceManager.java:104) at org.eclipse.jst.jsf.designtime.internal.resources.WorkspaceResourceManager.initResources(WorkspaceResourceManager.java:86) at org.eclipse.jst.jsf.designtime.internal.resources.WorkspaceJSFResourceLocator.start(WorkspaceJSFResourceLocator.java:68) at org.eclipse.jst.jsf.designtime.internal.resources.WorkspaceJSFResourceLocator.start(WorkspaceJSFResourceLocator.java:1) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.CompositeComponentTaglibLocator.start(CompositeComponentTaglibLocator.java:169) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.CompositeComponentTaglibLocator.start(CompositeComponentTaglibLocator.java:1) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor$1.run(ProjectTaglibDescriptor.java:79) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.initialize(ProjectTaglibDescriptor.java:68) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.getTagLibraries(ProjectTaglibDescriptor.java:90) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.initialize(FaceletTagRegistry.java:155) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getAllTagLibraries(FaceletTagRegistry.java:110) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getTagLibrary(FaceletTagRegistry.java:201) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.getOrCreateCMDocument(FaceletDocumentFactory.java:160) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.createCMDocumentForContext(FaceletDocumentFactory.java:56) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.createCMElementDeclaration(FaceletDocumentFactory.java:78) at org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover$MyHTMLTagInfoHoverProcessor.getCMElementDeclaration(FaceletHover.java:132) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeTagNameHelp(XMLTagInfoHoverProcessor.java:143) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeRegionHelp(XMLTagInfoHoverProcessor.java:105) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeHoverHelp(XMLTagInfoHoverProcessor.java:86) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.getHoverInfo(XMLTagInfoHoverProcessor.java:257) at org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover.getHoverInfo(FaceletHover.java:58) at org.eclipse.wst.sse.ui.internal.taginfo.BestMatchHover.getHoverInfo(BestMatchHover.java:90) at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168) !ENTRY org.eclipse.jst.jsf.facelet.core 4 2 2010-06-03 08:47:04.125 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jst.jsf.facelet.core". !STACK 0 java.lang.NullPointerException at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.CompositeComponentTaglibLocator.start(CompositeComponentTaglibLocator.java:180) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.CompositeComponentTaglibLocator.start(CompositeComponentTaglibLocator.java:1) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor$1.run(ProjectTaglibDescriptor.java:79) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.initialize(ProjectTaglibDescriptor.java:68) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.getTagLibraries(ProjectTaglibDescriptor.java:90) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.initialize(FaceletTagRegistry.java:155) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getAllTagLibraries(FaceletTagRegistry.java:110) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getTagLibrary(FaceletTagRegistry.java:201) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.getOrCreateCMDocument(FaceletDocumentFactory.java:160) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.createCMDocumentForContext(FaceletDocumentFactory.java:56) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.createCMElementDeclaration(FaceletDocumentFactory.java:78) at org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover$MyHTMLTagInfoHoverProcessor.getCMElementDeclaration(FaceletHover.java:132) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeTagNameHelp(XMLTagInfoHoverProcessor.java:143) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeRegionHelp(XMLTagInfoHoverProcessor.java:105) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeHoverHelp(XMLTagInfoHoverProcessor.java:86) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.getHoverInfo(XMLTagInfoHoverProcessor.java:257) at org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover.getHoverInfo(FaceletHover.java:58) at org.eclipse.wst.sse.ui.internal.taginfo.BestMatchHover.getHoverInfo(BestMatchHover.java:90) at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168) !ENTRY org.eclipse.jst.jsf.facelet.core 4 0 2010-06-03 08:47:04.140 !MESSAGE While locating facelet libraries on project: Test !STACK 0 java.lang.Exception: java.lang.NullPointerException at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor$1.handleException(ProjectTaglibDescriptor.java:74) at org.eclipse.core.runtime.SafeRunner.handleException(SafeRunner.java:75) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:44) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.initialize(ProjectTaglibDescriptor.java:68) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.getTagLibraries(ProjectTaglibDescriptor.java:90) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.initialize(FaceletTagRegistry.java:155) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getAllTagLibraries(FaceletTagRegistry.java:110) at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getTagLibrary(FaceletTagRegistry.java:201) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.getOrCreateCMDocument(FaceletDocumentFactory.java:160) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.createCMDocumentForContext(FaceletDocumentFactory.java:56) at org.eclipse.jst.jsf.facelet.core.internal.cm.FaceletDocumentFactory.createCMElementDeclaration(FaceletDocumentFactory.java:78) at org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover$MyHTMLTagInfoHoverProcessor.getCMElementDeclaration(FaceletHover.java:132) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeTagNameHelp(XMLTagInfoHoverProcessor.java:143) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeRegionHelp(XMLTagInfoHoverProcessor.java:105) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.computeHoverHelp(XMLTagInfoHoverProcessor.java:86) at org.eclipse.wst.xml.ui.internal.taginfo.XMLTagInfoHoverProcessor.getHoverInfo(XMLTagInfoHoverProcessor.java:257) at org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover.getHoverInfo(FaceletHover.java:58) at org.eclipse.wst.sse.ui.internal.taginfo.BestMatchHover.getHoverInfo(BestMatchHover.java:90) at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168) Caused by: java.lang.NullPointerException at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.CompositeComponentTaglibLocator.start(CompositeComponentTaglibLocator.java:180) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.CompositeComponentTaglibLocator.start(CompositeComponentTaglibLocator.java:1) at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor$1.run(ProjectTaglibDescriptor.java:79) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) ... 16 more
Created attachment 170946 [details] the test project to reproduce the problem
Created attachment 171026 [details] Fixes the issue by narrowing the exception catching so resource location isn't prematurely terminated by a bad resource id
Created attachment 171027 [details] Regression coverage
Deferring since it is due to an invalid user data case that can be worked around, so isn't stop-ship.
Is anything preventing the patch from being applied to 3.2.3? Any other assistance we can offer to help resolve this bug?
Mass update: The JSF Tools team is currently focused on performance and deadlock issues in the product. We plan to address other WTP bugs later this month and will review and checkin the patches soon. Thanks for your contribution and understanding. -Raghu
This appears to have been fixed on 2010/08/24, but not marked fixed. I am now seeing the "invalid resource" message as info in the log, without a thrown exception.