It could be that not sending _NET_WM_FRAME_DRAWN is also a collateral bug rather than the root cause.
The message is not sent because there is nothing to synchronize. Em ter., 18 de ago. de 2026 às 17:11, Martin Fox <[email protected]> escreveu: > That’s a good point. In that case we would have two separate bugs with > similar behavior (I keep forgetting that my emulated system uses the > software renderer). Certainly on my machine I’m certain that it’s due to > _NET_WM_FRAME_DRAWN, I added debugging code to gdk and verified it. And the > logs I got with xtrace match up. > > On my system pixels are being uploaded to Glass and then passed to cairo > to be painted (WindowContextBase::paint). If that’s not happening on your > system then you’ve got a different bug. Or perhaps the same bug; the > synchronization mechanism could be failing somewhere in the X11 stack in a > way that affects both OpenGL and the sync messages. We’re also failing to > get _NET_WM_FRAME_TIMINGS. > > On my system gdk_x11_window_set_frame_sync_enabled doesn’t seem to do > anything either. I didn’t dig into the code to figure out why. > > Even if this doesn’t explain the loss of graphics when using OpenGL > there’s still a problem if _NET_WM_FRAME_DRAWN doesn’t arrive. While the > frame lock is frozen mouse move events don’t work. Gdk seems to be using > the frame synch mechanism to consolidate move events before posting them. > > Martin > > On Aug 18, 2026, at 11:10 AM, Thiago Milczarek Sayão < > [email protected]> wrote: > > Hi, > > I'm not saying that it isn't related to _NET_WM_FRAME_DRAWN, but I don't > think it should be for the following reasons: > > - I would expect it to affect only software rendering, since with ES2 > the rendering is handled by OpenGL and does not rely on GDK/GTK for > rendering. > - Disabling frame synchronization with > gdk_x11_window_set_frame_sync_enabled() does not change the behavior. > - Popups are override-redirect windows, so theoretically the window > manager/compositor should not manage or otherwise interfere with them. > > -- Thiago > > Em ter., 18 de ago. de 2026 às 13:57, Martin Fox <[email protected]> > escreveu: > >> I was able to reproduce this bug while using xtrace and confirmed that >> the _NET_WM_FRAME_DRAWN message is not being sent. BTW it takes a lot >> longer to reproduce this with xtrace. >> >> I’ve written a standalone GTK 3.0 application that demonstrates the >> problem. I’ll attach it to the JBS ticket. >> >> So far I’ve only been able to reproduce this on Ubuntu 24 LTS with Xorg >> as the backend. When I run Ubuntu 24 under Wayland I can’t get it to >> reproduce. In Ubuntu 26 Wayland is the only option so I can’t reproduce the >> bug there, either. >> >> The frame lock freezing and thawing is internal to GDK and looking at the >> sources I don’t see any way to thaw it externally. >> >> Martin >> >> > On Aug 16, 2026, at 3:19 PM, Thiago Milczarek Sayão < >> [email protected]> wrote: >> > >> > The issue cannot be reproduced when running with GDK_SYNCHRONIZE=1 (not >> > recommended; used for testing purposes only). >> > >> > I've tried a few workarounds, but so far, none of them have been >> successful. >> > >> > >> > >> > Em dom., 16 de ago. de 2026 às 02:41, Christopher Schnick < >> > [email protected]> escreveu: >> > >> >> Would there be any way to guard against the bug from the JavaFX-side so >> >> that an invisible popup won't be shown when it happens? Doesn't have to >> >> be pretty, just to avoid the most glaring issue >> >> >> >> On 16/08/2026 02:56, Thiago Milczarek Sayão wrote: >> >>> Hi, >> >>> >> >>> It seems that this is a bug in Mutter. >> >>> >> >>> I tried disabling frame synchronization using >> >>> gdk_x11_window_set_frame_sync_enabled(), but the issue still occurs. >> >>> >> >>> I also tried forcing an Expose event after the popup was mapped, but >> that >> >>> did not solve the problem either. >> >>> >> >>> The popup window is mapped correctly, but occasionally it is not >> rendered >> >>> on screen. >> >>> >> >>> >> >>> See (the video shows one run, but i did many with the same result): >> >>> >> >>> youtube.com/watch?v=1LB2OLrYex8&feature=youtu.be >> >>> >> >>> Xephyr :100 >> >>> >> >>> DISPLAY=:100 java @/home/tsayao/jfx/build/run.args AutoPopupTest.java >> >>> >> >>> Test 1: >> >>> No window manager - bug does not happen >> >>> >> >>> Test 2: >> >>> kwin - bug does not happen >> >>> DISPLAY=:100 dbus-run-session kwin_x11 --replace >> >>> >> >>> Test 3: >> >>> mutter - bug happens >> >>> DISPLAY=:100 dbus-run-session -- mutter --x11 >> >>> >> >>> -- Thiago. >> >>> >> >>> >> >>> >> >>> Em ter., 11 de ago. de 2026 às 20:18, Martin Fox < >> [email protected] >> >>> >> >>> escreveu: >> >>> >> >>>> For those of you who haven’t looked at the bug report, it has to do >> with >> >>>> GDK expecting the windowing system to send it a _NET_WM_FRAME_DRAWN >> >> message >> >>>> but the message never arrives. If this is something you have any >> >> experience >> >>>> with feel free to jump in and investigate (because I’m at a loss). >> >>>> >> >>>> It looks like we’re not the only one seeing this. I ran across a >> thread >> >>>> detailing how GVim sometimes freezes (vim/vim repository on GitHub, >> >> issue >> >>>> #12671) and they also concluded it was due to GDK not receiving this >> >>>> message. The Discourse discussion contains more information (link in >> the >> >>>> JBS ticket). They were not able to resolve the problem. >> >>>> >> >>>> Martin >> >>>> >> >>>>> On Aug 10, 2026, at 11:59 AM, Andy Goryachev < >> >> [email protected]> >> >>>> wrote: >> >>>>> I think this scenario warrants bumping the issue to P3. >> >>>>> >> >>>>> -andy >> >>>>> >> >>>>> >> >>>>> From: PavelTurk <[email protected]> >> >>>>> Date: Sunday, August 9, 2026 at 23:55 >> >>>>> To: [email protected] <[email protected]> >> >>>>> Subject: [External] : Using JavaFX on Linux can be dangerous >> >>>>> >> >>>>> Hi everyone, >> >>>>> >> >>>>> I would like to warn everyone and provide some feedback regarding >> the >> >>>>> use of JavaFX on Linux. We developed a small application and gave >> it to >> >>>>> a small number of the customer’s employees for testing. The >> application >> >>>>> was tested on both Linux and Windows. >> >>>>> >> >>>>> We encountered serious problems on Linux. Due to bug JDK-8371781, >> popup >> >>>>> windows are not displayed to the user, but they are still present in >> >> the >> >>>>> scene. As a result, a user can click on elements in these popups >> >> without >> >>>>> being able to see them, potentially triggering actions that they >> >>>>> absolutely should not be able to perform. >> >>>>> >> >>>>> Therefore, I decided to bring this issue to the attention of the >> JavaFX >> >>>>> developers and warn others about the potential safety implications >> of >> >>>>> using JavaFX on Linux. >> >>>>> >> >>>>> Best regards, Pavel >> >>>> >> >> >> >> >
