Skip to content

NPE because annotation.resolvedType is null #4616

@tiller

Description

@tiller

I updated my eclipse to the latest 4.38.M2 integration and I have the following error:


!ENTRY org.eclipse.core.resources 4 2 2025-11-12 14:07:04.809
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getAnnotationTagBits()" because "annotation.resolvedType" is null
	at org.eclipse.jdt.internal.compiler.ast.Annotation.isTypeUseCompatible(Annotation.java:1378)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1013)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1045)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.components(SourceTypeBinding.java:929)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getField(SourceTypeBinding.java:1395)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.findField(Scope.java:1399)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.findField(Scope.java:1345)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(Scope.java:2084)
	at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getBinding(BlockScope.java:493)
	at org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.resolveType(QualifiedNameReference.java:1007)
	at org.eclipse.jdt.internal.compiler.ast.MemberValuePair.resolveTypeExpecting(MemberValuePair.java:96)
	at org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:923)
	at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:902)
	at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:793)
	at org.eclipse.jdt.internal.compiler.lookup.RecordComponentBinding.getAnnotationTagBits(RecordComponentBinding.java:97)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:947)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1045)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.components(SourceTypeBinding.java:929)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getField(SourceTypeBinding.java:1395)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.findField(Scope.java:1399)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.findField(Scope.java:1345)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(Scope.java:2084)
	at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getBinding(BlockScope.java:493)
	at org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.resolveType(QualifiedNameReference.java:1007)
	at org.eclipse.jdt.internal.compiler.ast.MemberValuePair.resolveTypeExpecting(MemberValuePair.java:96)
	at org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:923)
	at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:902)
	at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:793)
	at org.eclipse.jdt.internal.compiler.lookup.RecordComponentBinding.getAnnotationTagBits(RecordComponentBinding.java:97)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:947)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1045)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.components(SourceTypeBinding.java:929)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getField(SourceTypeBinding.java:1395)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.findField(Scope.java:1399)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.findField(Scope.java:1345)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(Scope.java:2084)
	at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getBinding(BlockScope.java:493)
	at org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.resolveType(QualifiedNameReference.java:1007)
	at org.eclipse.jdt.internal.compiler.ast.MemberValuePair.resolveTypeExpecting(MemberValuePair.java:96)
	at org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:923)
	at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:902)
	at org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:793)
	at org.eclipse.jdt.internal.compiler.lookup.RecordComponentBinding.getAnnotationTagBits(RecordComponentBinding.java:97)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:947)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1045)
	at org.eclipse.jdt.internal.compiler.apt.dispatch.AnnotationDiscoveryVisitor.visit(AnnotationDiscoveryVisitor.java:126)
	at org.eclipse.jdt.internal.compiler.ast.RecordComponent.traverse(RecordComponent.java:105)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1655)
	at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:816)
	at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:777)
	at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundEnvImpl.<init>(RoundEnvImpl.java:62)
	at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:168)
	at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:132)
	at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:859)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:333)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:309)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:486)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:253)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:377)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:118)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:312)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:224)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1109)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:299)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:355)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:449)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:452)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:564)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:512)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:594)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:208)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:309)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

This seems related to the fix done for #4551 by @srikanth-sankaran, but I might be wrong

I don't really have any code snippet to share, as my project is not public and I don't have a lot of clues regarding what causes the issue

jdt.core 3.44.0.v20251111-1922

Metadata

Metadata

Labels

bugSomething isn't workingcompilerEclipse Java Compiler (ecj) related issues

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions