-
Bug
-
Resolution: Not an Issue
-
P4
-
None
-
8-pool
-
x86_64
-
windows_10
A DESCRIPTION OF THE PROBLEM :
When compiling the attached source, a NullPointerException is thrown in com.sun.tools.javac.comp.Check. I can only reproduce in compiling in IntelliJ IDEA, calling javac from command line works. If the bug is in the IDE, at least the compiler should provide a
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
an appropriate error message about the syntax error
ACTUAL -
Information:java: An exception has occurred in the compiler (1.8.0_241). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
Information:java: java.lang.NullPointerException
Information:java: at com.sun.tools.javac.comp.Check$1AnnotationValidator.visitAnnotation(Check.java:2657)
Information:java: at com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2317)
Information:java: at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
Information:java: at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
Information:java: at com.sun.tools.javac.tree.TreeScanner.visitAnnotation(TreeScanner.java:320)
Information:java: at com.sun.tools.javac.comp.Check$1AnnotationValidator.visitAnnotation(Check.java:2658)
Information:java: at com.sun.tools.javac.comp.Check.validateAnnotationTree(Check.java:2663)
Information:java: at com.sun.tools.javac.comp.Check.validateAnnotation(Check.java:2730)
Information:java: at com.sun.tools.javac.comp.Check.validateAnnotations(Check.java:2717)
Information:java: at com.sun.tools.javac.comp.MemberEnter$6.run(MemberEnter.java:891)
Information:java: at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:155)
Information:java: at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:129)
Information:java: at com.sun.tools.javac.comp.Enter.complete(Enter.java:512)
Information:java: at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
Information:java: at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
Information:java: at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
Information:java: at com.sun.tools.javac.main.Main.compile(Main.java:523)
Information:java: at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
Information:java: at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
Information:java: at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:207)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:493)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:345)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:270)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:223)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1414)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1092)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1159)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1053)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:882)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:449)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:190)
Information:java: at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
Information:java: at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:297)
Information:java: at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:130)
Information:java: at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:218)
Information:java: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Information:java: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Information:java: at java.lang.Thread.run(Thread.java:748)
Information:java: Errors occurred while compiling module 'ps'
Information:javac 1.8.0_241 was used to compile java sources
---------- BEGIN SOURCE ----------
@A(
@B("reporter"),
@B("defendant")
)
public class Bug {
public static void main(String[] args) {
}
}
@interface A {
B[] value();
}
@interface B {
String value();
}
---------- END SOURCE ----------
When compiling the attached source, a NullPointerException is thrown in com.sun.tools.javac.comp.Check. I can only reproduce in compiling in IntelliJ IDEA, calling javac from command line works. If the bug is in the IDE, at least the compiler should provide a
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
an appropriate error message about the syntax error
ACTUAL -
Information:java: An exception has occurred in the compiler (1.8.0_241). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
Information:java: java.lang.NullPointerException
Information:java: at com.sun.tools.javac.comp.Check$1AnnotationValidator.visitAnnotation(Check.java:2657)
Information:java: at com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2317)
Information:java: at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
Information:java: at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
Information:java: at com.sun.tools.javac.tree.TreeScanner.visitAnnotation(TreeScanner.java:320)
Information:java: at com.sun.tools.javac.comp.Check$1AnnotationValidator.visitAnnotation(Check.java:2658)
Information:java: at com.sun.tools.javac.comp.Check.validateAnnotationTree(Check.java:2663)
Information:java: at com.sun.tools.javac.comp.Check.validateAnnotation(Check.java:2730)
Information:java: at com.sun.tools.javac.comp.Check.validateAnnotations(Check.java:2717)
Information:java: at com.sun.tools.javac.comp.MemberEnter$6.run(MemberEnter.java:891)
Information:java: at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:155)
Information:java: at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:129)
Information:java: at com.sun.tools.javac.comp.Enter.complete(Enter.java:512)
Information:java: at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
Information:java: at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
Information:java: at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
Information:java: at com.sun.tools.javac.main.Main.compile(Main.java:523)
Information:java: at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
Information:java: at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
Information:java: at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:207)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:493)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:345)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:270)
Information:java: at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:223)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1414)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1092)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1159)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1053)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:882)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:449)
Information:java: at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:190)
Information:java: at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
Information:java: at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:297)
Information:java: at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:130)
Information:java: at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:218)
Information:java: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Information:java: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Information:java: at java.lang.Thread.run(Thread.java:748)
Information:java: Errors occurred while compiling module 'ps'
Information:javac 1.8.0_241 was used to compile java sources
---------- BEGIN SOURCE ----------
@A(
@B("reporter"),
@B("defendant")
)
public class Bug {
public static void main(String[] args) {
}
}
@interface A {
B[] value();
}
@interface B {
String value();
}
---------- END SOURCE ----------