RFR: 8290310: ChangeListener events are incorrect or misleading when a nested change occurs [v7]
John Hendrikx
jhendrikx at openjdk.org
Thu Mar 6 09:48:06 UTC 2025
On Thu, 6 Mar 2025 03:08:58 GMT, Nir Lisker <nlisker at openjdk.org> wrote:
>> John Hendrikx has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fix docs
>
> I tested the new convergence check. If listener A and listener B fight over a value, it works, but if I add after then listener C that just prints what it sees without changing the value, it completes without an error.
>
> Is it not possible to let the SOE be thrown naturally (by infinite recursion)?
>
>> Note that the non-convergence detection logic is pretty smart, as the test case where multiple listeners are trying to agree upon a value that is divisible by 3, 5, 7 and 11 still works fine
>
> And what about non-integer values, like custom objects or strings?
@nlisker I've fixed the edge case you found -- thanks very much for finding it; the extra listener would overwrite the progress value and so the aborted nested loop would go undetected. I added an additional test case to cover this.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1081#issuecomment-2703325887
More information about the openjfx-dev
mailing list