On Wed, 21 Sep 2022 14:38:50 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. > > One additional comment about the jdeps --help output > https://github.com/openjdk/jdk/blob/master/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties#L139 > > > main.opt.I=\ > \ -I\n\ > \ --inverse Analyzes the dependences per other given > options\n\ > \ and then find all artifacts that directly\n\ > \ and indirectly depend on the matching > nodes.\n\ > \ This is equivalent to the inverse of\n\ > \ compile-time view analysis and print\n\ > \ dependency summary. This option must use\n\ > \ with --require, --package or --regex option. > > Should this be better 'This option must be used . . .' ? And what about a > sentence explaining what 'nodes' you are talking about ? > > Btw is there some trace mode telling me more where exactly the jdeps tool > fails in this particular case ? @MBaesken I move the debugging discussion to the JBS issue (https://bugs.openjdk.org/browse/JDK-8293701). We should resume this PR once the cause of the problem is understood. ------------- PR: https://git.openjdk.org/jdk/pull/10300