Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 322783 - Null Pointer error on startup
Summary: Null Pointer error on startup
Status: RESOLVED FIXED
Alias: None
Product: WTP Java EE Tools
Classification: WebTools
Component: jst.j2ee (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2.2   Edit
Assignee: Jason Sholl CLA
QA Contact: Chuck Bridgham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-16 08:53 EDT by Russell Loane CLA
Modified: 2010-08-19 15:28 EDT (History)
1 user (show)

See Also:
cbridgha: review+


Attachments
patch for 3.2.2 (1.67 KB, patch)
2010-08-18 15:16 EDT, Jason Sholl CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Russell Loane CLA 2010-08-16 08:53:28 EDT
Build Identifier: 20100617-1415

I'm actually running 64-bit Windows XP.

When I start up eclipse, I get the Problem Occurred dialog containing:

  An internal error occurred during: "Initializing Java Tooling".
    java.lang.NullPointerException

Eclipse does open, and seems to work, but I'd like to get rid of the error.
I suspect I have pieces of an old corrupted project lying around somewhere.

Error copied from .metadata/.log:

!ENTRY org.eclipse.ui 4 4 2010-08-16 08:21:39.311
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jst.j2ee.internal.web.classpath.WebAppLibrariesContainer.computeClasspathEntries(WebAppLibrariesContainer.java:124)
	at org.eclipse.jst.common.jdt.internal.classpath.FlexibleProjectContainer.<init>(FlexibleProjectContainer.java:120)
	at org.eclipse.jst.j2ee.internal.web.classpath.WebAppLibrariesContainer.<init>(WebAppLibrariesContainer.java:58)
	at org.eclipse.jst.j2ee.internal.web.classpath.WebAppLibrariesContainerInitializer.initialize(WebAppLibrariesContainerInitializer.java:35)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2707)
	at org.eclipse.jdt.internal.core.JavaModelManager$11.run(JavaModelManager.java:2613)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2653)
	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1845)
	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2705)
	at org.eclipse.jst.common.internal.modulecore.ClasspathContainerVirtualComponent.<init>(ClasspathContainerVirtualComponent.java:47)
	at org.eclipse.jst.common.internal.modulecore.ClasspathContainerReferenceResolver.resolve(ClasspathContainerReferenceResolver.java:43)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.createVirtualReference(StructureEdit.java:289)
	at org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent.getReferences(VirtualComponent.java:393)
	at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getHardReferences(J2EEModuleVirtualComponent.java:100)
	at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:145)
	at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:133)
	at org.eclipse.jst.j2ee.internal.web.classpath.WebAppLibrariesContainer.computeReferences(WebAppLibrariesContainer.java:100)
	at org.eclipse.jst.common.jdt.internal.classpath.FlexibleProjectContainer.computeClasspathEntries(FlexibleProjectContainer.java:183)
	at org.eclipse.jst.j2ee.internal.web.classpath.WebAppLibrariesContainer.computeClasspathEntries(WebAppLibrariesContainer.java:119)
	at org.eclipse.jst.common.jdt.internal.classpath.FlexibleProjectContainer.<init>(FlexibleProjectContainer.java:120)
	at org.eclipse.jst.j2ee.internal.web.classpath.WebAppLibrariesContainer.<init>(WebAppLibrariesContainer.java:58)
	at org.eclipse.jst.j2ee.internal.web.classpath.WebAppLibrariesContainerInitializer.initialize(WebAppLibrariesContainerInitializer.java:35)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2707)
	at org.eclipse.jdt.internal.core.JavaModelManager$11.run(JavaModelManager.java:2613)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2653)
	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1845)
	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2705)
	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2645)
	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2783)
	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1915)
	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2193)
	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:47)
	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:34)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:269)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:81)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:365)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:347)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:371)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:331)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)



Reproducible: Always

Steps to Reproduce:
1. Start Eclipse
Comment 1 Carl Anderson CLA 2010-08-16 15:12:01 EDT
Assigning to Jason for initial investigation, but this appears to need a simple null check, since getClasspathEntries() can return null.
Comment 2 Jason Sholl CLA 2010-08-18 15:16:23 EDT
Created attachment 176933 [details]
patch for 3.2.2

This code may be going away with the fixes for classpath tagging currently in progress for 3.2.2, but until then, here is a simple NPE check to fix this.
Comment 3 Jason Sholl CLA 2010-08-18 15:17:25 EDT
checked into head for 3.2.2
Comment 4 Chuck Bridgham CLA 2010-08-19 15:28:31 EDT
approved