On Fri, 12 Jun 2026 09:54:55 GMT, Dusan Balek <[email protected]> wrote:

> When used with the `--system` option to target a different modular JDK image, 
> `JdepsTask` keeps both `lib/jrt-fs.jar` and `lib/modules` open after it 
> completes. This is the `jdeps` counterpart of the issue previously seen with 
> `JavacTask` in JDK-8357249.
> 
> For an alternate `java.home`, `JdepsConfiguration.SystemModuleFinder` creates 
> a new `jrt:/` file system using the target image. That file system and the 
> URL class loader used by its provider, are not closed when the jdeps 
> configuration is closed.
> 
> The proposal is to modify `JdepsConfiguration.close()` to also close the 
> associated `SystemModuleFinder`, ensuring that these resources are released 
> after the task finishes.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsConfiguration.java line 
330:

> 328:                 closeables.add(fileSystem);
> 329:                 ClassLoader cl = 
> fileSystem.provider().getClass().getClassLoader();
> 330:                 if (cl != JdepsConfiguration.class.getClassLoader()

The jdk.jdeps module is mapped to the application class loader so this will 
never be true. I think should be okay to test if cl is a URLClassLoader.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/31498#discussion_r3404366869

Reply via email to