Skip to content

JIT Compiler internal error (AST creation) #4037

@LeducNic

Description

@LeducNic

Hello,

 One of my student was able to create an Internal compiler error.  I use Java Language Support v1.41.1 with VSCode 1.98.2 on windows 10. 

[Error - 10:05:50 AM] 2 mai 2025, 10 h 05 min 50 s Exception occurred during problem detection:
----------------------------------- SOURCE BEGIN -------------------------------------
package sandbox;

public class EnvironnementTest {
public static void main(String[] args) {
int[] a = new int[3];
System.out.println(a.equals(4));
}
}

----------------------------------- SOURCE END -------------------------------------
Cannot read field "id" because "type1" is null
java.lang.NullPointerException: Cannot read field "id" because "type1" is null
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.hasEqualsMethodInCommonSuperType(UnlikelyArgumentCheck.java:81)
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.hasEqualsMethodInCommonSuperType(UnlikelyArgumentCheck.java:91)
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.isDangerous(UnlikelyArgumentCheck.java:74)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseCode(MessageSend.java:158)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseCode(MessageSend.java:216)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.analyseCode(MethodDeclaration.java:160)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyseCode(TypeDeclaration.java:1011)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode(TypeDeclaration.java:321)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.analyseCode(CompilationUnitDeclaration.java:127)
at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:978)
at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:1017)
at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:292)
at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:358)
at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:243)
at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:108)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:751)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:816)
at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1430)
at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:338)
at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:301)
at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler$PublishDiagnosticJob.run(BaseDocumentLifeCycleHandler.java:798)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

I also have these two entries in the log:
!ENTRY org.eclipse.jdt.core.manipulation 4 2 2025-05-02 10:10:27.053
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.core.manipulation".
!STACK 0
java.lang.NullPointerException: Cannot read field "id" because "type1" is null
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.hasEqualsMethodInCommonSuperType(UnlikelyArgumentCheck.java:81)
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.hasEqualsMethodInCommonSuperType(UnlikelyArgumentCheck.java:91)
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.isDangerous(UnlikelyArgumentCheck.java:74)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseCode(MessageSend.java:158)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseCode(MessageSend.java:216)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.analyseCode(MethodDeclaration.java:160)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyseCode(TypeDeclaration.java:1011)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode(TypeDeclaration.java:321)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.analyseCode(CompilationUnitDeclaration.java:127)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1312)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:829)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.toCompilationUnit(CompilationUnitResolver.java:1404)
at org.eclipse.jdt.core.dom.CompilationUnitResolver$ECJCompilationUnitResolver.toCompilationUnit(CompilationUnitResolver.java:109)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateASTCached(ASTParser.java:1395)
at org.eclipse.jdt.core.dom.ASTParser.lambda$1(ASTParser.java:1274)
at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5708)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1274)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:918)
at org.eclipse.jdt.core.manipulation.CoreASTProvider$1.run(CoreASTProvider.java:294)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.core.manipulation.CoreASTProvider.createAST(CoreASTProvider.java:286)
at org.eclipse.jdt.core.manipulation.CoreASTProvider.getAST(CoreASTProvider.java:199)
at com.microsoft.java.test.plugin.util.TestSearchUtils.parseToAst(TestSearchUtils.java:639)
at com.microsoft.java.test.plugin.util.TestSearchUtils.findTestTypesAndMethods(TestSearchUtils.java:346)
at com.microsoft.java.test.plugin.handler.TestDelegateCommandHandler.executeCommand(TestDelegateCommandHandler.java:65)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:616)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

!ENTRY org.eclipse.jdt.core.manipulation 4 0 2025-05-02 10:10:27.054
!MESSAGE Error in JDT Core during AST creation
!STACK 0
java.lang.NullPointerException: Cannot read field "id" because "type1" is null
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.hasEqualsMethodInCommonSuperType(UnlikelyArgumentCheck.java:81)
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.hasEqualsMethodInCommonSuperType(UnlikelyArgumentCheck.java:91)
at org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.isDangerous(UnlikelyArgumentCheck.java:74)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseCode(MessageSend.java:158)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseCode(MessageSend.java:216)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.analyseCode(MethodDeclaration.java:160)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyseCode(TypeDeclaration.java:1011)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode(TypeDeclaration.java:321)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.analyseCode(CompilationUnitDeclaration.java:127)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1312)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:829)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.toCompilationUnit(CompilationUnitResolver.java:1404)
at org.eclipse.jdt.core.dom.CompilationUnitResolver$ECJCompilationUnitResolver.toCompilationUnit(CompilationUnitResolver.java:109)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateASTCached(ASTParser.java:1395)
at org.eclipse.jdt.core.dom.ASTParser.lambda$1(ASTParser.java:1274)
at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5708)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1274)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:918)
at org.eclipse.jdt.core.manipulation.CoreASTProvider$1.run(CoreASTProvider.java:294)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.core.manipulation.CoreASTProvider.createAST(CoreASTProvider.java:286)
at org.eclipse.jdt.core.manipulation.CoreASTProvider.getAST(CoreASTProvider.java:199)
at com.microsoft.java.test.plugin.util.TestSearchUtils.parseToAst(TestSearchUtils.java:639)
at com.microsoft.java.test.plugin.util.TestSearchUtils.findTestTypesAndMethods(TestSearchUtils.java:346)
at com.microsoft.java.test.plugin.handler.TestDelegateCommandHandler.executeCommand(TestDelegateCommandHandler.java:65)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:616)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions