Oops javac throw a NPE

forax at univ-mlv.fr forax at univ-mlv.fr
Tue Jun 14 10:29:39 UTC 2016


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 at 9-ea/Resolver.java:768)
	at java.lang.module.Resolver.resolveUses(java.base at 9-ea/Resolver.java:174)
	at java.lang.module.Configuration.resolveRequiresAndUses(java.base at 9-ea/Configuration.java:370)
	at java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base at 9-ea/ModuleDescriptor.java:2011)
	at jdk.internal.module.ModuleBootstrap.boot(java.base at 9-ea/ModuleBootstrap.java:263)
	at java.lang.System.initPhase2(java.base at 9-ea/System.java:1928)
Caused by: java.lang.module.InvalidModuleDescriptorException: bad #super_class
	at java.lang.module.ModuleInfo.invalidModuleDescriptor(java.base at 9-ea/ModuleInfo.java:780)
	at java.lang.module.ModuleInfo.doRead(java.base at 9-ea/ModuleInfo.java:176)
	at java.lang.module.ModuleInfo.read(java.base at 9-ea/ModuleInfo.java:88)
	at java.lang.module.ModuleDescriptor.read(java.base at 9-ea/ModuleDescriptor.java:1803)
	at java.lang.module.ModulePath.readJar(java.base at 9-ea/ModulePath.java:517)
	at java.lang.module.ModulePath.readModule(java.base at 9-ea/ModulePath.java:274)
	at java.lang.module.ModulePath.scanDirectory(java.base at 9-ea/ModulePath.java:234)
	at java.lang.module.ModulePath.scan(java.base at 9-ea/ModulePath.java:188)
	at java.lang.module.ModulePath.scanNextEntry(java.base at 9-ea/ModulePath.java:145)
	at java.lang.module.ModulePath.findAll(java.base at 9-ea/ModulePath.java:121)
	at java.lang.module.ModuleFinder$2.lambda$findAll$2(java.base at 9-ea/ModuleFinder.java:365)
	at java.util.stream.ReferencePipeline$7$1.accept(java.base at 9-ea/ReferencePipeline.java:269)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(java.base at 9-ea/Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(java.base at 9-ea/AbstractPipeline.java:484)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base at 9-ea/AbstractPipeline.java:474)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(java.base at 9-ea/ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(java.base at 9-ea/ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(java.base at 9-ea/AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(java.base at 9-ea/ReferencePipeline.java:430)
	at java.lang.module.ModuleFinder$2.findAll(java.base at 9-ea/ModuleFinder.java:366)
	at java.lang.module.Resolver.findAll(java.base at 9-ea/Resolver.java:747)
	at java.lang.module.Resolver.resolveUses(java.base at 9-ea/Resolver.java:174)
	at java.lang.module.Configuration.resolveRequiresAndUses(java.base at 9-ea/Configuration.java:370)
	at java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base at 9-ea/ModuleDescriptor.java:2011)
	at jdk.internal.module.ModuleBootstrap.boot(java.base at 9-ea/ModuleBootstrap.java:263)
	at java.lang.System.initPhase2(java.base at 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.Bateman at oracle.com>
> À: "Remi Forax" <forax at univ-mlv.fr>, "jigsaw-dev" <jigsaw-dev at 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
> 


More information about the jigsaw-dev mailing list