Bug 1687745
| Summary: | Java windows that have a preferred width larger than Short.MAX_VALUE are not properly displayed in RHEL7 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Divya <dbasant> | ||||||||
| Component: | mutter | Assignee: | Jonas Ådahl <jadahl> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||||||
| Severity: | high | Docs Contact: | |||||||||
| Priority: | high | ||||||||||
| Version: | 7.6 | CC: | ayadav, fmuellner, jwright, mclasen, modehnal, ofourdan, tpelka | ||||||||
| Target Milestone: | rc | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Linux | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | gtk3-3.22.30-4.el7 | Doc Type: | If docs needed, set a value | ||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2020-03-31 19:39:00 UTC | Type: | Bug | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Bug Depends On: | |||||||||||
| Bug Blocks: | 1727111 | ||||||||||
| Attachments: |
|
||||||||||
Hello Olivier I am sorry I missed your earlier note here. But since issue occurs only in gnome environment and not in KDE, I suspected the issue in mutter and filed this bug accordingly. I see you are referring to the upstream issue at https://gitlab.freedesktop.org/xorg/xserver/issues/661, which explicitly talks about crash in wayland. I don't think, we have having the same problem. Moreover yes, this reproducer can be used publicly as customer has not associated any specific license to it. Please let me know if anything is required from my end. Fix is actually in gtk: https://gitlab.gnome.org/GNOME/gtk/merge_requests/1046 Created attachment 1610731 [details]
Screenshots from reproducing the bug before component update
TEST SETUP 1
Distro: RHEL 7.6 CSB
Component version:
mutter-3.28.3-7.el7_6.x86_64
java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
gtk3-3.22.30-3.el7.x86_64
TEST PROCEDURE 1
1. Install Java compiler:
yum install -y java-1.8.0-openjdk-devel
2. Reproduce the bug.
The bug appears.
Created attachment 1610732 [details]
Screenshots from reproducing the bug after component update
TEST SETUP 2
Distro: RHEL 7.7
Component version:
mutter-3.28.3-10.el7.x86_64
java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64
gtk3-3.22.30-4.el7.x86_64
TEST PROCEDURE 2
1. Install Java compiler:
yum install -y java-1.8.0-openjdk-devel
2. Reproduce the bug.
The bug does NOT appear.
RESULT
Upgrading component: gtk3
from: 3.22.30-3.el7
to: 3.22.30-4.el7
has fixed the bug.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:1021 |
Created attachment 1543127 [details] Reproducer Description of problem: Dialog/window with a preferred width greater than Short.MAX_VALUE, results in a dialog that functions similar to the expected dialog, except that instead of the expected components being displayed, the portion of the screen behind the display is copied into the dialog's panel. The functionality of the dialog is still working (example: copy/pasting cells, clicking buttons and getting dropdown menus, closing the dialog), but the display never gets painted correctly. Some code within the Java libraries is forcing the width to be Short.MAX_VALUE. However, when this is too wide for the window manager (Gnome 3) to process correctly. Based on our testing, the most likely cause of this issue is that the pixel(s) that make up the border around the Java application are not being accounted for, and this is causing the window manager to use an invalid (probably 0 or negative) value when tracking the width of the window. Version-Release number of selected component (if applicable): mutter-3.28.3-5.el7 java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6 How reproducible: Always Steps to Reproduce: 1. Compile the attached reproducer as below: $ javac PrefWidthExceedsShortMaxExample.java 2. Run PrefWidthExceedsShortMaxExample as below to reproduce the issue $ java PrefWidthExceedsShortMaxExample Actual results: With default values of arguments, java window does not show up properly. With other manual arguments passed as below, results are as listed: 5000 a : Bad painting (width = 32767) 4096 a : bad painting (width = 32767) 4095 a : correct behavior (width = 32760) 10000 M : correct behavior (width = 32763) 10000 i : correct behavior (width = 20000) 10000 W : correct behavior (width = 32762) 10000 X : bad behavior (width = 32766) 10000 '&' : bad behavior (width = 32765) Expected results: Java window should always appear from end to end corners on the screen. Additional info: Tried the reproducer in KDE desktop environment and it works fine. So I suspect issue with the GNOME window manager.