Bug 323785

Summary: [builder] NPE when adding 'package-info.java' to default package
Product: [Eclipse Project] JDT Reporter: Dani Megert <daniel_megert>
Component: CoreAssignee: Srikanth Sankaran <srikanth_sankaran>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: amj87.iitr, Olivier_Thomann
Version: 3.5Flags: amj87.iitr: review+
Target Milestone: 3.7 M2   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Proposed patch none

Description Dani Megert CLA 2010-08-27 02:58:26 EDT
N20100825-2000, broken since 3.5.

1. start new workspace
2. add Java project
3. add new file named 'package-info.java' to default package
==>
!ENTRY org.eclipse.core.resources 4 2 2010-08-27 08:54:51.417
!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.addDependentsOf(IncrementalImageBuilder.java:241)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.addDependentsOf(IncrementalImageBuilder.java:224)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.findSourceFiles(IncrementalImageBuilder.java:595)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.findSourceFiles(IncrementalImageBuilder.java:488)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:96)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:627)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Frederic Fusier CLA 2010-08-27 06:04:05 EDT
Srikanth, could you investigate?
Thanks
Comment 2 Srikanth Sankaran CLA 2010-08-31 04:36:32 EDT
Since package-info.java file in the default package cannot
contain a package declaration, there cannot be any package
level annotations or documentation that can have a bearing
on any other elements of the package. So really there are
no dependants to add. (Any secondary type in package info
tracks its own dependants).

Patch to avoid NPE will follow shortly.
Comment 3 Srikanth Sankaran CLA 2010-08-31 04:47:32 EDT
Created attachment 177816 [details]
Proposed patch

Passes all tests.
Comment 4 Srikanth Sankaran CLA 2010-08-31 04:48:04 EDT
Ayush, please review, TIA.
Comment 5 Ayushman Jain CLA 2010-09-03 02:32:47 EDT
Patch looks good.
Comment 6 Srikanth Sankaran CLA 2010-09-03 02:40:21 EDT
Released in HEAD for 3.7 M2
Comment 7 Dani Megert CLA 2010-09-14 07:35:23 EDT
Verified in I20100914-0100.
Comment 8 Olivier Thomann CLA 2010-09-14 10:24:41 EDT
Verified for 3.7M2 using I20100914-0100.
Adjusted copyright in test.