On Fri, 16 Sep 2022 08:26:00 GMT, Matthias Baesken <mbaes...@openjdk.org> wrote:
> We noticed that with certain jar file input, jdeps runs into the following > exception, this happens with jdk11, 17 and 20. > > jdeps.exe --multi-release 11 --module-path . --inverse --package > com.sap.nw.performance.supa.client test.jar > > Inverse transitive dependences matching packages > [com.sap.nw.performance.supa.client] > Exception in thread "main" java.util.NoSuchElementException: No value present > at java.base/java.util.Optional.get(Optional.java:148) > at > jdk.jdeps/com.sun.tools.jdeps.InverseDepsAnalyzer.lambda$inverseDependences$2(InverseDepsAnalyzer.java:150) > at > java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) > at > java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) > at > java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) > at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) > at > java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) > at > java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) > at > java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) > > So an additional check might be a good idea. Hi Alan, Mandy so far I unfortunately do not have the sources. Here are as far as I can see the most important jars, with module descriptions. I wondered about the com.sap.nw.performance.commons requires - I did not notice and export for this one, looked a bit strange to me (this should have been in performance-commons.jar at least the authors told me so ... supa_jdeps/SUPA/lib> jdk/images/jdk/bin/jar --file=supa-client.jar --describe-module com.sap.nw.performance.supa.client jar:file:///supa_jdeps/SUPA/lib/supa-client.jar!/module-info.class exports com.sap.nw.performance.supa.automation requires com.sap.nw.performance.commons transitive requires com.sap.nw.performance.supa.api transitive requires com.sap.nw.performance.supa.base transitive requires java.base mandated requires java.logging transitive qualified exports com.sap.nw.performance.supa.automation.implementation to supa.tests opens com.sap.nw.performance.supa.automation supa_jdeps/SUPA/lib> jdk/images/jdk/bin/jar --file=supa-base.jar --describe-module com.sap.nw.performance.supa.base jar:file:///test/SUPA/lib/supa-base.jar!/module-info.class exports com.sap.nw.performance.supa.base exports com.sap.nw.performance.supa.base.command exports com.sap.nw.performance.supa.base.config exports com.sap.nw.performance.supa.base.cpuinfo exports com.sap.nw.performance.supa.base.http exports com.sap.nw.performance.supa.base.io exports com.sap.nw.performance.supa.base.processinfo exports com.sap.nw.performance.supa.base.processinfo.os exports com.sap.nw.performance.supa.base.system exports com.sap.nw.performance.supa.base.time exports com.sap.nw.performance.supa.base.utils exports com.sap.nw.performance.supa.base.utils.file requires JNativeHook transitive requires com.github.spotbugs.annotations static requires com.google.common transitive requires com.google.gson transitive requires com.sap.nw.performance.commons transitive requires com.sap.nw.performance.supa.api transitive requires ecs transitive requires java.base mandated requires java.desktop transitive requires java.net.http transitive requires org.apache.commons.collections4 transitive requires org.apache.commons.text transitive requires org.apache.httpcomponents.httpclient transitive requires org.apache.httpcomponents.httpcore transitive requires org.apache.httpcomponents.httpmime transitive qualified exports com.sap.nw.performance.supa.base.cpuinfo.os to supa.tests supa_jdeps/SUPA/lib> jdk/images/jdk/bin/jar --file=supa-api.jar --describe-module com.sap.nw.performance.supa.api jar:file:///supa_jdeps/SUPA/lib/supa-api.jar!/module-info.class exports com.sap.nw.performance.supa.api exports com.sap.nw.performance.supa.api.config exports com.sap.nw.performance.supa.api.manager.state exports com.sap.nw.performance.supa.api.processinfo exports com.sap.nw.performance.supa.api.processprofiler requires com.sap.nw.performance.commons transitive requires java.base mandated supa_jdeps/SUPA/lib> jdk/images/jdk/bin/jar --file=performance-commons.jar --describe-module com.sap.nw.performance.commons jar:file:///supa_jdeps/SUPA/lib/performance-commons.jar!/module-info.class exports com.sap.nw.performance.commons.command exports com.sap.nw.performance.commons.config exports com.sap.nw.performance.commons.exceptions exports com.sap.nw.performance.commons.outlier exports com.sap.nw.performance.commons.remote exports com.sap.nw.performance.commons.remote.command exports com.sap.nw.performance.commons.results exports com.sap.nw.performance.commons.utils exports com.sap.nw.performance.commons.utils.html exports com.sap.nw.performance.commons.utils.http exports com.sap.nw.performance.commons.utils.jdsr exports com.sap.nw.performance.commons.utils.net exports com.sap.nw.performance.commons.utils.path exports com.sap.nw.performance.commons.utils.zip exports com.sap.nw.performance.limits exports com.sap.nw.performance.measrules exports com.sap.nw.performance.measrules.rule requires client.combined requires com.github.spotbugs.annotations static requires com.google.gson requires commons.cli transitive requires commons.configuration transitive requires commons.lang transitive requires java.base mandated requires java.desktop requires java.management requires java.scripting requires java.sql transitive requires junit static requires mustache.compiler requires opencsv requires org.apache.commons.io transitive requires org.apache.commons.lang3 requires org.apache.commons.text requires org.apache.derby.client static requires org.apache.derby.engine static requires org.apache.derby.tools static requires org.objectweb.asm requires org.objectweb.asm.commons requires org.objectweb.asm.tree requires org.objectweb.asm.tree.analysis requires org.objectweb.asm.util requires org.openjdk.nashorn opens com.sap.nw.performance.measrules ------------- PR: https://git.openjdk.org/jdk/pull/10300