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

javap crashes with NPE on preview class file

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 25
    • 25
    • tools
    • None
    • b26

      After JDK-8297271 and JDK-8355956, javap fails to print class files with a minor class file version != 0. It can be simply reproduced with a file that uses preview features, e.g.,

      void main() {
          assert 5 instanceof byte b;
      }


      Stacktrace:
      Error: A serious internal error has occurred: java.lang.NullPointerException
      Please file a bug report, and include the following information:
      java.lang.NullPointerException
              at java.base/java.util.Objects.requireNonNull(Objects.java:220)
              at java.base/java.lang.reflect.AccessFlag$Location.findInHistory(AccessFlag.java:636)
              at java.base/java.lang.reflect.AccessFlag$Location.flagsMask(AccessFlag.java:672)
              at java.base/java.lang.reflect.AccessFlag.maskToAccessFlags(AccessFlag.java:408)
              at jdk.jdeps/com.sun.tools.javap.BasicWriter.maskToAccessFlagsReportUnknown(BasicWriter.java:63)
              at jdk.jdeps/com.sun.tools.javap.BasicWriter.flagsReportUnknown(BasicWriter.java:58)
              at jdk.jdeps/com.sun.tools.javap.ClassWriter.getClassModifiers(ClassWriter.java:802)
              at jdk.jdeps/com.sun.tools.javap.ClassWriter.write(ClassWriter.java:167)
              at jdk.jdeps/com.sun.tools.javap.JavapTask.write(JavapTask.java:859)
              at jdk.jdeps/com.sun.tools.javap.JavapTask.writeClass(JavapTask.java:684)
              at jdk.jdeps/com.sun.tools.javap.JavapTask.run(JavapTask.java:628)
              at jdk.jdeps/com.sun.tools.javap.JavapTask.run(JavapTask.java:474)
              at jdk.jdeps/com.sun.tools.javap.Main.main(Main.java:48)


      The null is caused by https://github.com/openjdk/jdk/blob/79aff26c2880922b92863911d8a5a035ba9a1e75/src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java#L123

            hgreule Hannes Greule
            hgreule Hannes Greule
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: