RFR: 8315034 : File.mkdirs() occasionally fails to create folders on Windows shared folder

Brian Burkhalter bpb at openjdk.org
Thu Nov 30 14:20:32 UTC 2023


On Sun, 5 Nov 2023 09:40:00 GMT, Alan Bateman <alanb at 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?

It seems likely. I don't recall having been able to replicate these problems however.

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

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


More information about the core-libs-dev mailing list