Oops javac throw a NPE
    Remi Forax 
    forax at univ-mlv.fr
       
    Mon Jun 13 17:03:26 UTC 2016
    
    
  
Hi Jon,
i've got an exception trying to reference in a module-info.java some modular jars generated by ASM,
i suppose there is a bug in the module-info generated by ASM but i'm not able to find it (javap is ok with the code ?)
Given that this exception is thrown by javac, it's likely that you can also harden the code of javac to avoid it. Again,
i suppose that the modular jars are rotten.
Here is the exception:
An exception has occurred in the compiler (9-ea). 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.
java.lang.NullPointerException
	at com.sun.tools.javac.code.Symtab.lookupPackage(jdk.compiler at 9-ea/Symtab.java:622)
	at com.sun.tools.javac.code.Symtab.enterClass(jdk.compiler at 9-ea/Symtab.java:685)
	at com.sun.tools.javac.jvm.ClassReader.enterClass(jdk.compiler at 9-ea/ClassReader.java:2356)
	at com.sun.tools.javac.jvm.ClassReader.readClassOrType(jdk.compiler at 9-ea/ClassReader.java:502)
	at com.sun.tools.javac.jvm.ClassReader.readPool(jdk.compiler at 9-ea/ClassReader.java:432)
	at com.sun.tools.javac.jvm.ClassReader.readClassSymbol(jdk.compiler at 9-ea/ClassReader.java:516)
	at com.sun.tools.javac.jvm.ClassReader.readClass(jdk.compiler at 9-ea/ClassReader.java:2423)
	at com.sun.tools.javac.jvm.ClassReader.readClassBuffer(jdk.compiler at 9-ea/ClassReader.java:2501)
	at com.sun.tools.javac.jvm.ClassReader.readClassFile(jdk.compiler at 9-ea/ClassReader.java:2514)
	at com.sun.tools.javac.code.ClassFinder.fillIn(jdk.compiler at 9-ea/ClassFinder.java:358)
	at com.sun.tools.javac.code.ModuleFinder$1.complete(jdk.compiler at 9-ea/ModuleFinder.java:311)
	at com.sun.tools.javac.code.Symbol.complete(jdk.compiler at 9-ea/Symbol.java:602)
	at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(jdk.compiler at 9-ea/Symbol.java:1219)
	at com.sun.tools.javac.comp.Modules$2.complete(jdk.compiler at 9-ea/Modules.java:461)
	at com.sun.tools.javac.code.Symtab.lambda$enterModule$10(jdk.compiler at 9-ea/Symtab.java:748)
	at com.sun.tools.javac.code.Symbol.complete(jdk.compiler at 9-ea/Symbol.java:602)
	at com.sun.tools.javac.comp.Modules.computeTransitiveClosure(jdk.compiler at 9-ea/Modules.java:926)
	at com.sun.tools.javac.comp.Modules.allModules(jdk.compiler at 9-ea/Modules.java:889)
	at com.sun.tools.javac.comp.Modules.completeModule(jdk.compiler at 9-ea/Modules.java:978)
	at com.sun.tools.javac.comp.Modules.access$000(jdk.compiler at 9-ea/Modules.java:118)
	at com.sun.tools.javac.comp.Modules$3.complete(jdk.compiler at 9-ea/Modules.java:536)
	at com.sun.tools.javac.code.Symbol.complete(jdk.compiler at 9-ea/Symbol.java:602)
	at com.sun.tools.javac.comp.Modules.computeTransitiveClosure(jdk.compiler at 9-ea/Modules.java:926)
	at com.sun.tools.javac.comp.Modules.allModules(jdk.compiler at 9-ea/Modules.java:889)
	at com.sun.tools.javac.comp.Modules.enter(jdk.compiler at 9-ea/Modules.java:214)
	at com.sun.tools.javac.main.JavaCompiler.initModules(jdk.compiler at 9-ea/JavaCompiler.java:1020)
	at com.sun.tools.javac.main.JavaCompiler.initModules(jdk.compiler at 9-ea/JavaCompiler.java:1012)
	at com.sun.tools.javac.main.JavaCompiler.compile(jdk.compiler at 9-ea/JavaCompiler.java:906)
	at com.sun.tools.javac.main.Main.compile(jdk.compiler at 9-ea/Main.java:280)
	at com.sun.tools.javac.main.Main.compile(jdk.compiler at 9-ea/Main.java:144)
	at com.sun.tools.javac.Main.compile(jdk.compiler at 9-ea/Main.java:55)
	at com.sun.tools.javac.Main.main(jdk.compiler at 9-ea/Main.java:41)
Step to reproduce, download that jar
  https://www.dropbox.com/s/3ieqah6wpawpsw0/jigsaw.zip?dl=0
and run:
  javac -modulesourcepath src -d classes -modulepath mlib/ src/fr.umlv.asm.test/module-info.java 
cheers,
Rémi
    
    
More information about the jigsaw-dev
mailing list