RFR: 8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04

Phil Race prr at openjdk.org
Wed Dec 6 16:48:43 UTC 2023


On Mon, 4 Dec 2023 23:27:23 GMT, Alexander Zvegintsev <azvegint at openjdk.org> wrote:

>> The root of this issue is the incorrect calculation of window decoration insets.
>> 
>> Previously we got non-zero window insets in the first PropertyNotify with [_NET_FRAME_EXTENTS](https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#idm45771211302000) atom, save them and never change them again.
>> 
>> This changed starting with Ubuntu 23.04:
>> Now we can get several such notifications with zero window insets, and only then the correct value.
>> 
>> Our code is not ready for this. It affects all our JDK. As a result, many tests fail on Ubuntu 23.04 and 23.10.
>> 
>> The solution is to change these insets on the fly, for now only for Mutter window manager. 
>> The guessInsets for it have also been updated.
>> 
>> 
>> This also means that some tests need some stabilization as they are not ready for such late arrival of window insets.
>> 
>> Testing looks good.
>
> test/jdk/ProblemList.txt line 461:
> 
>> 459: java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.java 8302787 windows-all
>> 460: java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.java 8302787 windows-all
>> 461: java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.java 8321303 linux-all
> 
> This intermittent issue is more reproducible after the fix, however it was there before. 
> I am able to reproduce it with various JDK 11, 17, 19, 21, 22 (more info and a reproducer is available [here](https://bugs.openjdk.org/browse/JDK-8321303))

This test has been problematic in the past.
Eg https://bugs.openjdk.org/browse/JDK-8283896

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16960#discussion_r1417650935


More information about the client-libs-dev mailing list