Thanks Alan,
You found the bug !

java.lang.module.ResolutionException: Error reading module: 
mlib/asm-util-6.0.jar
        at java.lang.module.Resolver.findAll(java.base@9-ea/Resolver.java:768)
        at 
java.lang.module.Resolver.resolveUses(java.base@9-ea/Resolver.java:174)
        at 
java.lang.module.Configuration.resolveRequiresAndUses(java.base@9-ea/Configuration.java:370)
        at 
java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base@9-ea/ModuleDescriptor.java:2011)
        at 
jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:263)
        at java.lang.System.initPhase2(java.base@9-ea/System.java:1928)
Caused by: java.lang.module.InvalidModuleDescriptorException: bad #super_class
        at 
java.lang.module.ModuleInfo.invalidModuleDescriptor(java.base@9-ea/ModuleInfo.java:780)
        at 
java.lang.module.ModuleInfo.doRead(java.base@9-ea/ModuleInfo.java:176)
        at java.lang.module.ModuleInfo.read(java.base@9-ea/ModuleInfo.java:88)
        at 
java.lang.module.ModuleDescriptor.read(java.base@9-ea/ModuleDescriptor.java:1803)
        at 
java.lang.module.ModulePath.readJar(java.base@9-ea/ModulePath.java:517)
        at 
java.lang.module.ModulePath.readModule(java.base@9-ea/ModulePath.java:274)
        at 
java.lang.module.ModulePath.scanDirectory(java.base@9-ea/ModulePath.java:234)
        at java.lang.module.ModulePath.scan(java.base@9-ea/ModulePath.java:188)
        at 
java.lang.module.ModulePath.scanNextEntry(java.base@9-ea/ModulePath.java:145)
        at 
java.lang.module.ModulePath.findAll(java.base@9-ea/ModulePath.java:121)
        at 
java.lang.module.ModuleFinder$2.lambda$findAll$2(java.base@9-ea/ModuleFinder.java:365)
        at 
java.util.stream.ReferencePipeline$7$1.accept(java.base@9-ea/ReferencePipeline.java:269)
        at 
java.util.Spliterators$ArraySpliterator.forEachRemaining(java.base@9-ea/Spliterators.java:948)
        at 
java.util.stream.AbstractPipeline.copyInto(java.base@9-ea/AbstractPipeline.java:484)
        at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@9-ea/AbstractPipeline.java:474)
        at 
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(java.base@9-ea/ForEachOps.java:151)
        at 
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(java.base@9-ea/ForEachOps.java:174)
        at 
java.util.stream.AbstractPipeline.evaluate(java.base@9-ea/AbstractPipeline.java:234)
        at 
java.util.stream.ReferencePipeline.forEach(java.base@9-ea/ReferencePipeline.java:430)
        at 
java.lang.module.ModuleFinder$2.findAll(java.base@9-ea/ModuleFinder.java:366)
        at java.lang.module.Resolver.findAll(java.base@9-ea/Resolver.java:747)
        at 
java.lang.module.Resolver.resolveUses(java.base@9-ea/Resolver.java:174)
        at 
java.lang.module.Configuration.resolveRequiresAndUses(java.base@9-ea/Configuration.java:370)
        at 
java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base@9-ea/ModuleDescriptor.java:2011)
        at 
jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:263)
        at java.lang.System.initPhase2(java.base@9-ea/System.java:1928)

I use "java/lang/Object" as super class instead of null (0 as constant pool 
index) as the spec says.

regards,
Rémi

----- Mail original -----
> De: "Alan Bateman" <alan.bate...@oracle.com>
> À: "Remi Forax" <fo...@univ-mlv.fr>, "jigsaw-dev" 
> <jigsaw-dev@openjdk.java.net>
> Envoyé: Mardi 14 Juin 2016 12:09:58
> Objet: Re: Oops javac throw a NPE
> 
> 
> 
> On 13/06/2016 18:03, 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.
> Does `java -mp mlib -listmods` list the modules?
> 
> -Alan
> 

Reply via email to