RFR: JDK-8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
Alan Bateman
alanb at openjdk.org
Fri Sep 16 08:41:48 UTC 2022
On Fri, 16 Sep 2022 08:26:00 GMT, Matthias Baesken <mbaesken at 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.
Do you think it would be possible to create a small test case that demonstrates the issue? A number of the fixes to jdeps in recent releases have be due to some unusual scenarios and I think it would be useful to build up more test cases for this scenarios, otherwise they could easily break again if there are no tests.
-------------
PR: https://git.openjdk.org/jdk/pull/10300
More information about the core-libs-dev
mailing list