Bug 139137

Summary: Increment build failure
Product: [Eclipse Project] JDT Reporter: Ed Seymour <edward.seymour>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, philippe_mulet
Version: 3.2   
Target Milestone: 3.2 RC3   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Fix for NPE none

Description Ed Seymour CLA 2006-04-28 09:32:22 EDT
The incremental build is failing to record its state resulting in a full workspace build each time code is changed regardless of how minor. 

I'm afraid I did try to create a simple project to replicate but in this case it worked, hopefully the stack trace can provide enough clues to the cause. I have tried compiling with different compiler options and JDKs to no avail. 

The following exceptions are shown in the .log

!SESSION 2006-04-27 16:37:18.300 -----------------------------------------------
eclipse.buildId=I20060419-1640
java.version=1.5.0_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.core.resources 4 2 2006-04-27 17:14:26.534
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.builder.StringSet.add(StringSet.java:31)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.addAffectedSourceFiles(IncrementalImageBuilder.java:180)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.rebuildTypesAffectedByMissingSecondaryTypes(BatchImageBuilder.java:333)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:59)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:249)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:174)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:603)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:167)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:230)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:233)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:252)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:285)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:145)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:208)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

!ENTRY org.eclipse.core.resources 2 75 2006-04-27 17:14:26.745
!MESSAGE Errors during build.
!SUBENTRY 1 org.eclipse.jdt.core 2 75 2006-04-27 17:14:26.745
!MESSAGE Errors running builder "Java Builder" on project ePerformance.
!SUBENTRY 1 org.eclipse.jdt.core 2 75 2006-04-27 17:14:26.745
!MESSAGE java.lang.NullPointerException encountered while running Java Builder.
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.builder.StringSet.add(StringSet.java:31)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.addAffectedSourceFiles(IncrementalImageBuilder.java:180)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.rebuildTypesAffectedByMissingSecondaryTypes(BatchImageBuilder.java:333)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:59)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:249)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:174)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:603)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:167)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:230)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:233)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:252)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:285)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:145)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:208)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Comment 1 Kent Johnson CLA 2006-04-28 14:59:28 EDT
Philippe - we should fix this for RC3.

Its a simple 1 line change
Comment 2 Kent Johnson CLA 2006-05-01 12:47:41 EDT
Created attachment 39959 [details]
Fix for NPE
Comment 3 Philipe Mulet CLA 2006-05-01 17:23:41 EDT
+1 for 3.2RC3
Comment 4 Philipe Mulet CLA 2006-05-01 17:24:12 EDT
Dani - pls cast your vote. Trivial fix for a NPE.
Comment 5 Dani Megert CLA 2006-05-02 09:43:17 EDT
Patch looks good - approving for 3.2 RC3.
Comment 6 Kent Johnson CLA 2006-05-02 14:01:31 EDT
Added IncrementalTests.testSecondaryType()
Comment 7 Olivier Thomann CLA 2006-05-03 11:02:16 EDT
Verified using N20060503-0010 for 3.2RC3
Comment 8 Frederic Fusier CLA 2006-05-04 10:28:16 EDT
Double-checked using N20060504-0010 + JDT/Core v_663