RFR: 8293792: runtime/Dictionary/ProtectionDomainCacheTest.java fails with FileAlreadyExistsException: /tmp

Jaikiran Pai jpai at openjdk.org
Wed Sep 14 10:50:21 UTC 2022


On Wed, 14 Sep 2022 09:42:37 GMT, Jie Fu <jiefu at openjdk.org> wrote:

> Hi all,
> 
> runtime/Dictionary/ProtectionDomainCacheTest.java fails on Linux if `/tmp` is a symbolic link directory.
> The root cause is that `JarUtils.createJarFile` [1] will throw `FileAlreadyExistsException` if `parent` is a symbolic directory.
> So it seems better to test the existance of `parent` before creation.
> 
> Testing:
> - tier1~3 on Linux/x64 in progress, seems fine until now
> 
> Thanks.
> Best regards,
> Jie
> 
> 
> [1] https://github.com/openjdk/jdk/blob/master/test/lib/jdk/test/lib/util/JarUtils.java#L72

I could reproduce the issue with `Files.createDirectories` on a macos with a trivial program. It appears to be because of the use of `NOFOLLOW_LINKS` here https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/nio/file/Files.java#L808. To me this appears to be something that either needs to be clarified in the the `Files.createDirectories` API or addressed/fixed there. I have asked for inputs on this from others who have more knowledge of this area.

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

PR: https://git.openjdk.org/jdk/pull/10266


More information about the core-libs-dev mailing list