Bug 75889 - [1.5] NPE in TypeVariableBinding.boundCheck
Summary: [1.5] NPE in TypeVariableBinding.boundCheck
Status: CLOSED INVALID
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2004-10-08 09:00 EDT by Johan Walles CLA
Modified: 2009-08-30 02:08 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johan Walles CLA 2004-10-08 09:00:16 EDT
Using 3.1M2.  The code probably doesn't have any build errors.

java.lang.NullPointerException
	at
org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.boundCheck(Lorg.eclipse.jdt.internal.compiler.lookup.Substitution;Lorg.eclipse.jdt.internal.compiler.lookup.TypeBinding;)Z(TypeVariableBinding.java:52)
	at
org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.resolve()Lorg.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;(ParameterizedTypeBinding.java:528)
	at
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(Lorg.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;Lorg.eclipse.jdt.internal.compiler.lookup.LookupEnvironment;Z)Lorg.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;(BinaryTypeBinding.java:51)
	at
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.superclass()Lorg.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;(BinaryTypeBinding.java:722)
	at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectCycle(Lorg.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding;Lorg.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;Lorg.eclipse.jdt.internal.compiler.ast.TypeReference;)Z(ClassScope.java:865)
	at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectCycle(Lorg.eclipse.jdt.internal.compiler.lookup.TypeBinding;Lorg.eclipse.jdt.internal.compiler.ast.TypeReference;[Lorg.eclipse.jdt.internal.compiler.lookup.TypeBinding;)Z(ClassScope.java:827)
	at
org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.getTypeBinding(Lorg.eclipse.jdt.internal.compiler.lookup.Scope;)Lorg.eclipse.jdt.internal.compiler.lookup.TypeBinding;(QualifiedTypeReference.java:75)
	at
org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(Lorg.eclipse.jdt.internal.compiler.lookup.ClassScope;)Lorg.eclipse.jdt.internal.compiler.lookup.TypeBinding;(TypeReference.java:136)
	at
org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(Lorg.eclipse.jdt.internal.compiler.lookup.ClassScope;)Lorg.eclipse.jdt.internal.compiler.lookup.TypeBinding;(TypeReference.java:104)
	at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(Lorg.eclipse.jdt.internal.compiler.ast.TypeReference;)Lorg.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;(ClassScope.java:959)
	at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass()Z(ClassScope.java:662)
	at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy()V(ClassScope.java:765)
	at
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy()V(CompilationUnitScope.java:239)
	at
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings()V(LookupEnvironment.java:183)
	at
org.eclipse.jdt.internal.compiler.Compiler.beginToCompile([Lorg.eclipse.jdt.internal.compiler.env.ICompilationUnit;)V(Compiler.java:307)
	at
org.eclipse.jdt.internal.compiler.Compiler.compile([Lorg.eclipse.jdt.internal.compiler.env.ICompilationUnit;)V(Compiler.java:321)
	at
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile([Lorg.eclipse.jdt.internal.core.builder.SourceFile;[Lorg.eclipse.jdt.internal.core.builder.SourceFile;)V(AbstractImageBuilder.java:209)
	at
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile([Lorg.eclipse.jdt.internal.core.builder.SourceFile;)V(AbstractImageBuilder.java:159)
	at
org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build()V(BatchImageBuilder.java:49)
	at
org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll()V(JavaBuilder.java:212)
	at
org.eclipse.jdt.internal.core.builder.JavaBuilder.build(ILjava.util.Map;Lorg.eclipse.core.runtime.IProgressMonitor;)[Lorg.eclipse.core.resources.IProject;(JavaBuilder.java:144)
	at org.eclipse.core.internal.events.BuildManager$2.run()V(BuildManager.java:574)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(Lorg.eclipse.core.runtime.ISafeRunnable;)V(Optimized
Method)
	at
org.eclipse.core.runtime.Platform.run(Lorg.eclipse.core.runtime.ISafeRunnable;)V(Optimized
Method)
	at
org.eclipse.core.internal.events.BuildManager.basicBuild(ILorg.eclipse.core.resources.IncrementalProjectBuilder;Ljava.util.Map;Lorg.eclipse.core.runtime.MultiStatus;Lorg.eclipse.core.runtime.IProgressMonitor;)V(BuildManager.java:158)
	at
org.eclipse.core.internal.events.BuildManager.basicBuild(Lorg.eclipse.core.resources.IProject;I[Lorg.eclipse.core.resources.ICommand;Lorg.eclipse.core.runtime.MultiStatus;Lorg.eclipse.core.runtime.IProgressMonitor;)V(BuildManager.java:192)
	at org.eclipse.core.internal.events.BuildManager$1.run()V(BuildManager.java:221)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(Lorg.eclipse.core.runtime.ISafeRunnable;)V(Optimized
Method)
	at
org.eclipse.core.runtime.Platform.run(Lorg.eclipse.core.runtime.ISafeRunnable;)V(Optimized
Method)
	at
org.eclipse.core.internal.events.BuildManager.basicBuild(Lorg.eclipse.core.resources.IProject;ILorg.eclipse.core.runtime.MultiStatus;Lorg.eclipse.core.runtime.IProgressMonitor;)V(BuildManager.java:224)
	at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop([Lorg.eclipse.core.resources.IProject;[Lorg.eclipse.core.resources.IProject;ILorg.eclipse.core.runtime.MultiStatus;Lorg.eclipse.core.runtime.IProgressMonitor;)V(BuildManager.java:243)
	at
org.eclipse.core.internal.events.BuildManager.build(ILorg.eclipse.core.runtime.IProgressMonitor;)V(BuildManager.java:272)
	TitledTopBorder.java	Eminem/src/ext/wlwplaf/com/bea/ide/swing	line 0	den 8
oktober 2004 14:37:32
Comment 1 Kent Johnson CLA 2004-10-12 11:06:55 EDT
Is this repeatable? If so, can you provide us with a testcase?
Comment 2 Johan Walles CLA 2004-10-12 16:22:34 EDT
I hate to say this, but:

Repeatable: Don't know
Test case: No

This was in a big project.  Some of the classes needed for building were
provided by .jar files.  I had sources for those classes, and I had informed
Eclipse about those sources.  Then I decided I needed to change some of those
sources, and added the source path to the project's source paths.

During the following re-build, this happened.

I don't think I'm able to re-trace my steps.

I do realize however that this might be hard for you to track down without a
repro case, so if you can't do anything about this with the provided information
you'll have to close this as INVALID or WORKSFORME.
Comment 3 Kent Johnson CLA 2004-10-13 11:31:45 EDT
Please reopen if you can reproduce.

There have been several changes affecting cycle detection released since 
3.1M2, so your case may already be fixed.
Comment 4 Frederic Fusier CLA 2005-02-17 09:59:13 EST
Closing as never reproduced in a long time
Comment 5 Trevor Robinson CLA 2005-02-23 17:38:05 EST
I've hit this bug numerous times recently refactoring a large project in M4 -
M5a. The last time I hit it I was using the Move Member Type to New File
refactoring on a static class within a generic class. The nested class did not
reference the type variable of the outer class. Here's the stack trace:

java.lang.NullPointerException
at
org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.boundCheck(TypeVariableBinding.java:73)
at
org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.resolve(ParameterizedTypeBinding.java:632)
at
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:53)
at
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.superclass(BinaryTypeBinding.java:774)
at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectHierarchyCycle(ClassScope.java:957)
at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectHierarchyCycle(ClassScope.java:919)
at
org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internalResolveType(ParameterizedSingleTypeReference.java:143)
at
org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveType(ParameterizedSingleTypeReference.java:208)
at
org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:104)
at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1051)
at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:710)
at
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:846)
at
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:243)
at
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:195)
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:225)
at
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:175)
at
org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:113)
at
org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:223)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:151)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:581)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1015)
at org.eclipse.core.runtime.Platform.run(Platform.java:757)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:160)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:198)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:227)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1015)
at org.eclipse.core.runtime.Platform.run(Platform.java:757)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:230)
at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:249)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:278)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:138)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:199)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:67)
Comment 6 Denis Roy CLA 2009-08-30 02:08:48 EDT
As of now 'LATER' and 'REMIND' resolutions are no longer supported.
Please reopen this bug if it is still valid for you.