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
>> >>>>
>> >>
>>
>>
>

Reply via email to