On Tue, 5 Mar 2024 17:40:01 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:

>> The implementation of `Win32ShellFolder2.compareTo` is inconsistent: there 
>> are cases where  
>> `a < b & b < c but a == c`  
>> which *violates its general contract*.
>> 
>> In particular, it happens for the personal folder (*Documents*) if it is 
>> listed *twice*: as a special and as a regular folder.
>> 
>> The evaluation performed by the submitter of the bug provided enough details 
>> to create a test, reproduce the problem and finally resolve it.
>> 
>> Without the fix, the regression test always fails:
>> 
>> a < b & b < c but a >= c
>> where
>>   a = C:\Users<user>\Documents(true)
>>   b = C:\Users<user>(false)
>>   c = C:\Users<user>\Documents(false)
>> 
>> as well as for the reverse case: `a > b & b > c`.
>> 
>> How it is possible to have the same folder in a list of files twice remains 
>> unknown. I believe it is another bug in JDK, however, no one has been able 
>> to reproduce it so far.
>
> Alexey Ivanov has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Handle fakePersonal on Windows 10
>   
>   The desktop folder on Windows 10 does not include
>   the Personal (Documents) folder.

Marked as reviewed by prr (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/18126#pullrequestreview-1961661797

Reply via email to