Bug 5320

Summary: NPE during catchup
Product: [Eclipse Project] JDT Reporter: Dani Megert <daniel_megert>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P3    
Version: 2.0   
Target Milestone: 2.0 M1   
Hardware: PC   
OS: Windows NT   
Whiteboard:

Description Dani Megert CLA 2001-10-29 03:54:35 EST
Build: 20011025

1. Self hosting setup
2. Selected all projects in Packages view
3. Synchronized
4. Tried to catched up with all
==> Dialog
      Title: Problems During Synchronization
      Message: Errors during build.
      Details: java.lang.NullPointerException encountered while running 
org.eclipse.jdt.internal.core.builder.impl.JavaBuilder.

Log: Mon Oct 29 09:13:00 GMT+01:00 2001
2 org.eclipse.core.resources 2 Problems occurred when invoking code from 
plug-in: org.eclipse.core.resources.
java.lang.NullPointerException
	at 
org.eclipse.jdt.internal.core.builder.impl.StateImpl.forceBinaryType(StateImpl.j
ava(Compiled Code))
	at 
org.eclipse.jdt.internal.core.builder.impl.StateImpl.getBinaryType(StateImpl.jav
a:695)
	at 
org.eclipse.jdt.internal.core.builder.impl.BuilderType.getNewBinaryType(BuilderT
ype.java:104)
	at 
org.eclipse.jdt.internal.core.builder.impl.BuilderType.hasSuperInterface(Builder
Type.java:161)
	at 
org.eclipse.jdt.internal.core.builder.impl.BuilderType.hasSuperInterface(Builder
Type.java:167)
	at 
org.eclipse.jdt.internal.core.builder.impl.BuilderType.hasSuperType(BuilderType.
java:179)
	at 
org.eclipse.jdt.internal.core.builder.impl.IncrementalImageBuilder.tryMethodDecl
arations(IncrementalImageBuilder.java:1552)
	at 
org.eclipse.jdt.internal.core.builder.impl.IncrementalImageBuilder.tryUnit(Incre
mentalImageBuilder.java:1599)
	at 
org.eclipse.jdt.internal.core.builder.impl.IncrementalImageBuilder.issueIndictme
nts(IncrementalImageBuilder.java:1183)
	at 
org.eclipse.jdt.internal.core.builder.impl.IncrementalImageBuilder.issueIndictme
nts(IncrementalImageBuilder.java:1160)
	at 
org.eclipse.jdt.internal.core.builder.impl.IncrementalImageBuilder.updateState(I
ncrementalImageBuilder.java:1873)
	at 
org.eclipse.jdt.internal.core.builder.impl.AbstractImageBuilder.compile(Abstract
ImageBuilder.java(Compiled Code))
	at 
org.eclipse.jdt.internal.core.builder.impl.IncrementalImageBuilder.applySourceDe
lta(IncrementalImageBuilder.java:263)
	at 
org.eclipse.jdt.internal.core.builder.impl.JavaBuilder.incrementalBuild(JavaBuil
der.java:208)
	at 
org.eclipse.jdt.internal.core.builder.impl.JavaBuilder.build(JavaBuilder.java:54
)
	at 
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:332)
	at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:812
)
	at org.eclipse.core.runtime.Platform.run(Platform.java:395)
	at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:88)
	at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:153)
	at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:163)
	at 
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:112)
	at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:812
)
	at org.eclipse.core.runtime.Platform.run(Platform.java:395)
	at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:126)
	at 
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:188)
	at 
org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:693)
	at 
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1193)
	at 
org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.jav
a:78)
	at 
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.jav
a:98)
Comment 1 Philipe Mulet CLA 2001-10-29 06:15:48 EST
Unclear what is happening. It probably has to do with a resource file being out 
of date or corrupted at the point we are trying to retrieve it.

But the builder should be more tolerant to such errors and silently absorb the 
shock (and pretend the offending file wasn't there).

Need to investigate.
Comment 2 Kent Johnson CLA 2001-12-10 17:08:50 EST
The new builder catches resource out of sync problems & converts them into 
markers so the user knows to refresh then rebuild the project.