On Fri, 3 Nov 2023 18:11:10 GMT, Weibing Xiao <d...@openjdk.org> wrote:

> File.mkdirs() occasionally fails to create folders on Windows shared folders. 
> It turned out that Windows API FindFirstFileW created the error 
> ERROR_NO_MORE_FILES. In some of the cases with a valid file path, this error 
> still returns this error code, which supposedly should not.
> 
> Adding this error code into the method of lastErrorReportable in the native 
> code will be handled by JDK.
> 
> To test the fix, it needs to run three Java processes to create the folders 
> on a remote file server.

src/java.base/windows/native/libjava/canonicalize_md.c line 142:

> 140:         || (errval == ERROR_NETWORK_UNREACHABLE)
> 141:         || (errval == ERROR_NETWORK_ACCESS_DENIED)
> 142:         || (errval == ERROR_NO_MORE_FILES)) {

@bplb Is this the same thing as JDK-8234363? Does this also need to be handled 
in the FindFirstFile usage in WindowsDirectoryStream?

test/jdk/java/io/File/WindowsFileCreation.java line 34:

> 32:  *  needs to run three Java processes simultaneously to verify the fix.
> 33:  *  This test requires to run manually and the parent folder as Windows 
> shared folder should be existing already.
> 34:  */

There's no `@test` tag so this test won't run, not even as a manual test. I 
would be inclined to just drop this test and add the "noreg-hard" label to the 
issue.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16502#discussion_r1382531676
PR Review Comment: https://git.openjdk.org/jdk/pull/16502#discussion_r1382384469

Reply via email to