Oops javac throw a NPE

Vicente-Arturo Romero-Zaldivar vicente.romero at oracle.com
Mon Jun 27 19:49:44 UTC 2016


Hi Remi,

Thanks for reporting this bug [1]. It has already been fixed, the fix 
can be accessed at [2],

Thanks,
Vicente

[1] https://bugs.openjdk.java.net/browse/JDK-8159439
[2] http://hg.openjdk.java.net/jdk9/dev/langtools/rev/d213ecfb98b2

On 06/13/2016 01:03 PM, Remi Forax wrote:
> 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