Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 313209

Summary: NPE in org.eclipse.wst.common.componentcore.internal.resources.VirtualContainer.findMember(VirtualContainer.java:80)
Product: [WebTools] WTP Common Tools Reporter: Jason Sholl <jsholl>
Component: wst.commonAssignee: Jason Sholl <jsholl>
Status: RESOLVED FIXED QA Contact: Carl Anderson <ccc>
Severity: normal    
Priority: P3 CC: ccc
Version: unspecifiedFlags: ccc: review+
Target Milestone: 3.0.5 P   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 313214    
Attachments:
Description Flags
patch none

Description Jason Sholl CLA 2010-05-17 14:08:31 EDT
An adopter product has observed the following NPE which blows up the stack.  In theory, a NPE such as this should never occur because a StructureEdit should never be null for a VirtualContainer.  However, considering the complexities of eclipse resource notification firings, and the fact that this can not be reliably reproduced, it would be better to guard against this NPE than letting it blow up the stack.

!ENTRY org.eclipse.core.resources 4 2 2010-02-22 13:50:32.289
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.wst.common.componentcore.internal.resources.VirtualContainer.findMember(VirtualContainer.java:80)
	at org.eclipse.wst.common.componentcore.internal.resources.VirtualContainer.findMember(VirtualContainer.java:71)
	at org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities.findFile(ComponentUtilities.java:121)
	at org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities.getManifestFile(J2EEProjectUtilities.java:246)
	at org.eclipse.jst.j2ee.internal.common.J2EEDependencyListener.visit(J2EEDependencyListener.java:122)
	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: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.jst.j2ee.internal.common.J2EEDependencyListener.resourceChanged(J2EEDependencyListener.java:72)
	at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:288)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:272)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:148)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:313)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1022)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1809)
	at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(NotificationManager.java:39)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Jason Sholl CLA 2010-05-17 14:18:51 EDT
Created attachment 168785 [details]
patch
Comment 2 Jason Sholl CLA 2010-05-17 14:23:14 EDT
Using bug 313214 to track for WTP 3.2
Comment 3 Carl Anderson CLA 2010-05-18 21:48:44 EDT
I approve of this change.
Comment 4 Carl Anderson CLA 2010-05-21 08:33:41 EDT
Committed to R3_0_5_patches