Bug 31903

Summary: Null pointer exception loading from respository
Product: [Eclipse Project] JDT Reporter: Tod Creasey <Tod_Creasey>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3    
Version: 2.1   
Target Milestone: 2.1 RC1   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Tod Creasey CLA 2003-02-14 14:41:08 EST
20030214

When I loaded the platform-ui module from the repository I got the NPE below.  
I am not sure what the condition was to make this happen as I have been 
loading successfully all day.

java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.builder.BuildNotifier.aboutToCompile
(BuildNotifier.java:49)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:175)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:168)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build
(IncrementalImageBuilder.java:108)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas
(JavaBuilder.java:201)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build
(JavaBuilder.java:129)
	at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:424)
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:125)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:181)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:191)
	at org.eclipse.core.internal.events.BuildManager$1.run
(BuildManager.java:151)
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:165)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop
(BuildManager.java:243)
	at org.eclipse.core.internal.events.BuildManager.build
(BuildManager.java:212)
	at org.eclipse.core.internal.resources.Workspace.endOperation
(Workspace.java(Compiled Code))
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java
(Compiled Code))
	at 
org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot.checkout
(CVSWorkspaceRoot.java:214)
	at org.eclipse.team.internal.ccvs.ui.actions.CheckoutAction$2.run
(CheckoutAction.java:77)
	at org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager.run
(RepositoryManager.java:786)
	at org.eclipse.team.internal.ccvs.ui.actions.CVSAction$1.run
(CVSAction.java:242)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run
(ModalContext.java:95)
!ENTRY org.eclipse.jdt.core 2 75 Feb 14, 2003 14:36:53.641
!MESSAGE java.lang.NullPointerException encountered while running 
org.eclipse.jdt.internal.core.builder.JavaBuilder.
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.builder.BuildNotifier.aboutToCompile
(BuildNotifier.java:49)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:175)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:168)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build
(IncrementalImageBuilder.java:108)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas
(JavaBuilder.java:201)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build
(JavaBuilder.java:129)
	at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:424)
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:125)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:181)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:191)
	at org.eclipse.core.internal.events.BuildManager$1.run
(BuildManager.java:151)
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:165)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop
(BuildManager.java:243)
	at org.eclipse.core.internal.events.BuildManager.build
(BuildManager.java:212)
	at org.eclipse.core.internal.resources.Workspace.endOperation
(Workspace.java(Compiled Code))
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java
(Compiled Code))
	at 
org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot.checkout
(CVSWorkspaceRoot.java:214)
	at org.eclipse.team.internal.ccvs.ui.actions.CheckoutAction$2.run
(CheckoutAction.java:77)
	at org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager.run
(RepositoryManager.java:786)
	at org.eclipse.team.internal.ccvs.ui.actions.CVSAction$1.run
(CVSAction.java:242)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run
(ModalContext.java:95)
Comment 1 Philipe Mulet CLA 2003-02-17 05:25:18 EST
Offending line was 'message' variable declaration.

public void aboutToCompile(SourceFile unit) {
	String message = Util.bind("build.compiling", unit.resource.getFullPath
().removeLastSegments(1).makeRelative().toString()); //$NON-NLS-1$
	subTask(message);
}
Comment 2 Kent Johnson CLA 2003-02-17 14:44:59 EST
unit.resource.getFullPath().removeLastSegments(1).makeRelative().toString()

The resource field of a sourceFile is initialized in the constructor and never 
changed so it cannot be null. None of the methods sent afterwards ever answer 
null.

Tod was running the problematic VM from last spring which produced numerous non-
reproduceable NPE.

Closing.