Community
Participate
Working Groups
Build Identifier: 3.2.1 !ENTRY org.eclipse.wst.sse.ui 4 4 2011-03-24 11:41:50.268 !MESSAGE null !STACK 0 java.lang.NullPointerException at org.eclipse.jst.jsp.core.internal.java.JSPTranslator.translate(JSPTranslator.java:1114) at org.eclipse.jst.jsp.core.internal.java.JSPTranslation.retranslate(JSPTranslation.java:527) at org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter.getJSPTranslation(JSPTranslationAdapter.java:167) at org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator.performValidation(JSPJavaValidator.java:309) at org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator.validateFile(JSPJavaValidator.java:406) at org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:196) at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:292) at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:258) at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95) at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:267) at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:303) at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:248) at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor.run(DirtyRegionProcessor.java:667) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) !ENTRY org.eclipse.wst.validation 4 0 2011-03-24 11:41:50.283 !MESSAGE Validator JSP Syntax Validator finished validating: file:/C:/IDE/runtime-EclipseApplication(1)/testa/WebContent/test.jsp !ENTRY org.eclipse.wst.validation 4 0 2011-03-24 11:41:50.283 !MESSAGE !STACK 0 java.lang.NullPointerException at org.eclipse.jst.jsp.core.internal.java.JSPTranslator.translate(JSPTranslator.java:1114) at org.eclipse.jst.jsp.core.internal.java.JSPTranslation.retranslate(JSPTranslation.java:527) at org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter.getJSPTranslation(JSPTranslationAdapter.java:167) at org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator.performValidation(JSPJavaValidator.java:309) at org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator.performValidation(JSPBatchValidator.java:386) at org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator.validateFile(JSPBatchValidator.java:443) at org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator$2.run(JSPBatchValidator.java:519) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4777) at org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator.validate(JSPBatchValidator.java:532) at org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159) at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704) at org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665) at org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:783) at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669) at org.eclipse.wst.validation.internal.ValBuilderJob$Visitor.visit(ValBuilderJob.java:321) at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68) at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79) at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79) at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48) at org.eclipse.wst.validation.internal.ValBuilderJob.deltaBuild(ValBuilderJob.java:211) at org.eclipse.wst.validation.internal.ValBuilderJob.run(ValBuilderJob.java:179) at org.eclipse.wst.validation.internal.ValBuilderJob.runInWorkspace(ValBuilderJob.java:126) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Reproducible: Always Steps to Reproduce: 1. Create Dynamic Project 2. Create empty jsp file in web content folder 3. Paste the following line into the editor: <% NPE %> 4. Save 5. NPE.
Created attachment 191853 [details] patch The problem seems to have arisen from the fact that the actual translator reference changes if a document goes from empty to non-empty and vice versa. For a translator with an empty document, the structured document reference was null, so re-translation was failing and throwing an NPE while trying to iterate through the structured document regions. Also, it seems like the previous fix would always create a new JSPTranslationExtension, which we were intending to avoid. This fix corrects both issues.
Also wanted to point out that Bug 327934 likely caused this.
Code released