Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 313209 - NPE in org.eclipse.wst.common.componentcore.internal.resources.VirtualContainer.findMember(VirtualContainer.java:80)
Summary: NPE in org.eclipse.wst.common.componentcore.internal.resources.VirtualContain...
Status: RESOLVED FIXED
Alias: None
Product: WTP Common Tools
Classification: WebTools
Component: wst.common (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0.5 P   Edit
Assignee: Jason Sholl CLA
QA Contact: Carl Anderson CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 313214
  Show dependency tree
 
Reported: 2010-05-17 14:08 EDT by Jason Sholl CLA
Modified: 2010-05-21 08:33 EDT (History)
1 user (show)

See Also:
ccc: review+


Attachments
patch (3.26 KB, patch)
2010-05-17 14:18 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 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