Bug 43236

Summary: NPE in DeltaProcessor
Product: [Eclipse Project] JDT Reporter: Jean-Michel Lemieux <jean-michel_lemieux>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3    
Version: 3.0   
Target Milestone: 3.0 M4   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Jean-Michel Lemieux CLA 2003-09-17 13:29:16 EDT
3.0 I20030916

Was replacing a project with the contents from the server. During the change
notification the following NPE occured in JDT Core. I don't have background
build enabled.

Thread [ModalContext] (Suspended (exception NullPointerException))
	DeltaProcessor.traverseDelta(IResourceDelta, int, DeltaProcessor$RootInfo,
DeltaProcessor$OutputsInfo) line: 1963
	DeltaProcessor.traverseDelta(IResourceDelta, int, DeltaProcessor$RootInfo,
DeltaProcessor$OutputsInfo) line: 1954
	DeltaProcessor.traverseDelta(IResourceDelta, int, DeltaProcessor$RootInfo,
DeltaProcessor$OutputsInfo) line: 1954
	DeltaProcessor.traverseDelta(IResourceDelta, int, DeltaProcessor$RootInfo,
DeltaProcessor$OutputsInfo) line: 1954
	DeltaProcessor.traverseDelta(IResourceDelta, int, DeltaProcessor$RootInfo,
DeltaProcessor$OutputsInfo) line: 1954
	DeltaProcessor.traverseDelta(IResourceDelta, int, DeltaProcessor$RootInfo,
DeltaProcessor$OutputsInfo) line: 1954
	DeltaProcessor.traverseDelta(IResourceDelta, int, DeltaProcessor$RootInfo,
DeltaProcessor$OutputsInfo) line: 1954
	DeltaProcessor.processResourceDelta(IResourceDelta) line: 1608
	DeltaProcessor.resourceChanged(IResourceChangeEvent) line: 1839
	DeltaProcessingState.resourceChanged(IResourceChangeEvent) line: 210
	NotificationManager$1.run() line: 179
	InternalPlatform.run(ISafeRunnable) line: 1016
	Platform.run(ISafeRunnable) line: 420
	NotificationManager.notify(ResourceChangeListenerList$ListenerEntry[],
IResourceChangeEvent, boolean) line: 173
	NotificationManager.broadcastChanges(ElementTree, int, boolean) line: 77
	Workspace.broadcastChanges(int, boolean) line: 161
	Workspace.endOperation(ISchedulingRule, boolean, IProgressMonitor) line: 878
	Workspace.run(IWorkspaceRunnable, ISchedulingRule, IProgressMonitor) line: 1593
	Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1603
	ReplaceWithRemoteAction$1(WorkspaceModifyOperation).run(IProgressMonitor) line: 85
	RepositoryManager.run(IRunnableWithProgress, IProgressMonitor) line: 802
	CVSAction$1.run(IProgressMonitor) line: 241
	ModalContext$ModalContextThread.run() line: 101
Comment 1 Jerome Lanneluc CLA 2003-09-24 07:01:09 EDT
I20030916 corresponds to v_370 of JDT/Core. Taking v_370 of 
DeltaProcessor.java, line 1963 cannot throw a NPE. It is not even executing any 
Java code:

...
// compute child type
int childType = 
	this.elementType(
		childRes, 
		childKind,
		elementType, 
		rootInfo == null ? childRootInfo : rootInfo
	); // <==== line 1963
...

Jean-Michel, which VM are you using? This sounds like a JIT bug.
Comment 2 Jean-Michel Lemieux CLA 2003-09-24 09:10:57 EDT
Sun jdk1.4.1_01

I haven't seen this exception since though.
Comment 3 Jerome Lanneluc CLA 2003-09-24 09:30:41 EDT
Ack. Please reopen if you see it again.