Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8251339

IntelliJ IDEA-NullPointerException in javac when missing curly braces around annotation array

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P4 P4
    • None
    • 8-pool
    • tools
    • 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 ----------

            adev Anupam Dev
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: