Several GTK issues on latest Ubuntu release

Philip Race philip.race at oracle.com
Mon Oct 23 16:18:03 UTC 2023


There are several open bug reports of problems in AWT on ubuntu 23.10 
(and some on 23.04)

https://bugs.openjdk.org/issues/?jql=project%20%3D%20JDK%20AND%20component%20%3D%20client-libs%20AND%20labels%20in%20(ubuntu23.04%2C%20ubuntu23.10)

Note that GTK is not used to the same extent as it is by FX.
In fact it is used for only 2 things and only one of those can matter in 
your app,
and that is that the Swing GTK L&F uses it to get the rendering of GTK 
themes.
So if you weren't using the GTK L&F then a Swing app would likely not 
even load GTK.
But for a mixed FX + Swing app then of course it will still be loaded by FX.

-phil.



On 10/23/23 7:48 AM, Christopher Schnick wrote:
>
> That is good to know that this issue is already being worked on. From 
> the description of https://bugs.openjdk.org/browse/JDK-8316423, this 
> issue is only tracked as affecting secondary stages? At least in our 
> case it affects the primary stage as well, i.e. the one that is 
> supplied via Application.start. Also, in this case it's not really 
> about the scene dimensions, the stage doesn't even apply its own 
> dimensions that were explicitly set before.
>
> On 10/23/2023 4:39 PM, Thiago Milczarek Sayão wrote:
>> Forgot to mention: except for the system tray, I'm not looking into that.
>>
>> Em seg., 23 de out. de 2023 11:36, Thiago Milczarek Sayão 
>> <thiago.sayao at gmail.com> escreveu:
>>
>>     Hi Cristopher,
>>
>>     https://github.com/openjdk/jfx/pull/1249
>>
>>     We noticed it and I'm working on a fix.
>>
>>     There's one issue that is probably a mutter bug:
>>
>>     https://gitlab.gnome.org/GNOME/mutter/-/issues/3092
>>
>>     -- Thiago
>>
>>     Em seg., 23 de out. de 2023 10:05, Christopher Schnick
>>     <crschnick at xpipe.io> escreveu:
>>
>>         Hello,
>>
>>         a user of our application xpipe
>>         <https://github.com/xpipe-io/xpipe> reported several issues
>>         after upgrading their Ubuntu version and I investigated them
>>         myself. I want to note here that these issues are exclusive
>>         to new Ubuntu versions. I did not observe any of them on
>>         slightly older Ubuntu versions or other Gnome-based desktop
>>         environments. I don't know exactly which versions are
>>         affected, but 22.04 works fine and Ubuntu 23.10 does not.
>>
>>         I'm sorry that I'm not able to create fully reproducible
>>         examples or dig deeper into the causes here, but I'm very
>>         constrained on time right now. For reproduction, I just
>>         installed a new default Ubuntu 23.10 VM and launched the
>>         JavaFX 21 application straight out of the box.
>>
>>         The first issue is that windows do not retain their
>>         information when being hidden and then shown again. I.e.
>>         after being shown for the second time, they will have tiny
>>         dimensions and an GTK error is printed to stderr about height
>>         < 0. For now I temporarily resolve this by doing the
>>         following, which somehow fixes the issue:
>>
>>                 stage.show();
>>
>>                 // Due to some weird GTK bug, we have to set these
>>         sizes every time we show a window again even though they have
>>         been previously set
>>                 stage.setX(stage.getX());
>>                 stage.setY(stage.getY());
>>                 stage.setWidth(stage.getWidth());
>>                 stage.setHeight(stage.getHeight());
>>
>>         Furthermore, while this is technically not purely JavaFX
>>         related, there is also a total freeze of the platform thread
>>         when it calls javax.swing.UIManager.setLookAndFeel as it gets
>>         stuck in some GTK implementation method. This is called by
>>         the fxtrayicon library, which calls this method here
>>         <https://github.com/dustinkredmond/FXTrayIcon/blob/81c99a7357d8f48d9547c0bdb54b848041ce67c6/src/main/java/com/dustinredmond/fxtrayicon/FXTrayIcon.java#L923>.
>>         Since there is no native JavaFX tray integration, calling
>>         these awt/swing related methods is quite important for
>>         applications trying to use the system tray. This was a very
>>         unfortunate issue for us as it caused applications to not
>>         start up at all on affected systems.
>>         I wasn't able to compare the behavior to Ubuntu 22.04 as
>>         SystemTray.isSupported() returns false on Ubuntu 22.04 but
>>         returns true on Ubuntu 23.10. Should this even return true on
>>         Ubuntu now or is this a bug?
>>
>>         Again, these issues only occur on the very latest Ubuntu
>>         release. I have tested on a lot of other different distros,
>>         old and new, and they all worked flawlessly.
>>
>>         Best regards, Christopher
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20231023/78b9fb6a/attachment.htm>


More information about the openjfx-dev mailing list