Bug 72083 - [1.5] NPE while compiling FindBugs
Summary: [1.5] NPE while compiling FindBugs
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 major with 1 vote (vote)
Target Milestone: 3.1 M2   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-17 06:25 EDT by Thomas Klaeger CLA
Modified: 2004-09-23 07:30 EDT (History)
0 users

See Also:


Attachments
This class provokes the bug (4.63 KB, text/plain)
2004-08-17 09:12 EDT, Thomas Klaeger CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Klaeger CLA 2004-08-17 06:25:56 EDT
I was trying to compile FindBugs 0.8.4 with the new Eclipse 3.1M1. I created a 
new project and copied the files from {findbugs-0.8.4-src.zip}/findbugs-0.8.4/
src/java into the source folder of the project. The compiler setting was changed 
to 1.5

If I do a full rebuild, I get the following error message:

java.lang.NullPointerException
    at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.
implementsInterface(ReferenceBinding.java:446)
    at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.
isCompatibleWith(ReferenceBinding.java:510)
    at org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.
boundCheck(TypeVariableBinding.java:56)
    at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.
internalResolveType(ParameterizedSingleTypeReference.java:144)
    at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.
resolveType(ParameterizedSingleTypeReference.java:183)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.
connectTypeVariables(Scope.java:195)
    at org.eclipse.jdt.internal.compiler.lookup.ClassScope.
connectTypeHierarchyWithoutMembers(ClassScope.java:770)
    at org.eclipse.jdt.internal.compiler.lookup.ClassScope.
detectCycle(ClassScope.java:799)
    at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.
internalResolveType(ParameterizedSingleTypeReference.java:122)
    at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.
resolveType(ParameterizedSingleTypeReference.java:183)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.
connectTypeVariables(Scope.java:195)
    at org.eclipse.jdt.internal.compiler.lookup.ClassScope.
connectTypeHierarchy(ClassScope.java:737)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.
connectTypeHierarchy(CompilationUnitScope.java:239)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.
completeTypeBindings(LookupEnvironment.java:183)
    at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:
307)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:321)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.
compile(AbstractImageBuilder.java:209)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.
compile(AbstractImageBuilder.java:159)
    at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.
build(BatchImageBuilder.java:49)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.
java:212)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:
140)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:
564)
    at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.
java:615)
    at org.eclipse.core.runtime.Platform.run(Platform.java:747)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.
java:157)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.
java:249)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.
java:202)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:
229)
    at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.
java:615)
    at org.eclipse.core.runtime.Platform.run(Platform.java:747)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.
java:232)
    at org.eclipse.core.internal.events.BuildManager.
basicBuildLoop(BuildManager.java:268)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:
297)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:
155)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:212)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

for the file FindBugs/src/edu/umd/cs/findbugs/AbstractBugReporter.java
Comment 1 Kent Johnson CLA 2004-08-17 08:23:02 EDT
Can you please attach the source for AbstractBugReporter.
Comment 2 Thomas Klaeger CLA 2004-08-17 09:12:17 EDT
Created attachment 14001 [details]
This class provokes the bug

The whole findbugs package can be downloaded from sourceforge:

http://sourceforge.net/project/showfiles.php?group_id=96405
Comment 3 Kent Johnson CLA 2004-08-27 13:09:49 EDT
Added testcase284 for mutual references:

class A <T1 extends B<T1, T2>, T2 extends A<T1, T2>> {}
class B <T3 extends B<T3, T4>, T4 extends A<T3, T4>> {}

Fixed in HEAD. Needed to delay bounds checks until just before member type 
resolution.

Now having problems with the same issue as bug 72644, but we'll close this bug 
& continue in 72644.
Comment 4 David Audel CLA 2004-09-23 07:30:50 EDT
Verified in I200409240100.