RFR: 8357390: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java Test failing on Ubuntu 24.04 Vm Hosts used by Oracle's internal CI system
Anass Baya
abaya at openjdk.org
Thu Oct 16 13:51:29 UTC 2025
On Thu, 16 Oct 2025 01:18:13 GMT, Harshitha Onkar <honkar at openjdk.org> wrote:
>> **Issue:**
>> The bottom inset is different from the expected value by 2 pixels.
>>
>> **Analysis:**
>> In [JDK-8349351](https://bugs.openjdk.org/browse/JDK-8349351), we agreed that a small difference between the expected and actual inset values could happen due to scaling. So, we accepted a small margin of error. Harshita suggested allowing a margin of 2 or 3 pixels. However, we decided to accept only a 1-pixel margin since it was enough for scaling loss and the test was passing consistently on CI.
>>
>> But here we have a different origin of the error. On our OCI Ubuntu 24.04 hosts with X11, the _NET_WORKAREA most of the time returns a value that is 2px greater than the actual working area. We have verified that the source of the issue is not from our code. It seems to be related to the window manager.
>>
>> When the issue occurs, running xprop -root | grep _NET_WORKAREA returns a value that is 2px larger than expected. In a system with a bottom inset of 30px, a top inset of 32px, and a screen resolution of 1920x1080, when the issue occurs, the _NET_WORKAREA value is as follows:
>>
>>> _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1020, 0, 32, 1920, 10**20**
>>
>> However, it should be:
>>
>>> _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1020, 0, 32, 1920, 10**18**
>>
>> Wich is the output of the command when the issue doest not occur.
>>
>> after discution with @aivanov-jdk a 2 pixels margin error is acceptibe
>>
>> **Proposed Fix:**
>> Increase the allowed margin to 2 pixels.
>
> I see that we are using `_NET_WORKAREA` in Xtoolkit.java to fetch screen insets. You may want to check getScreenInsetsImpl() method to check why different values are returned in the 2 cases.
Hello @honkar-jdk,
Thank you for your follow-up.
Both our source code and the command use the same property, _NET_WORKAREA. When I noticed the issue, I thought that maybe we are misusing the _NET_WORKAREA in getScreenInsetsImpl(). However, as you can see in the traces in [JDK-8357390](https://bugs.openjdk.org/browse/JDK-8357390) , it returns the same values as the xprop command does.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25521#issuecomment-3410981990
More information about the client-libs-dev
mailing list