Hi Pavel, Thanks for the test case. I can reproduce this on an Ubuntu 24 system. I’ve verified that JavaFX is passing valid pixels off to GDK but somehow they’re being dropped. There’s nothing obvious going wrong on the JavaFX side and GDK isn’t issuing any error messages.
I took a quick look at the GDK source code and it seems to be making OpenGL calls which worries me. Unfortunately I'm not set up to debug the internals of GDK so I’m not sure I can take this any further. Martin > On Nov 26, 2025, at 11:24 AM, PavelTurk <[email protected]> wrote: > > Hello, everyone > > I opened JDK-8371781, but it was closed as “cannot reproduce.” Since the > issue is very serious, I am providing a complete example along with a GIF > file showing how to reproduce it. I want to emphasize that the problem does > not occur consistently, but intermittently. Sometimes you need to perform the > same action 30–40 times to reproduce it. > > GIF (about 15 seconds) - https://ibb.co/n8Y42bNy > > Test code: > > public class Test1 extends Application { > > private final Label label = new Label("Miracles don’t happen."); > > @Override > public void start(Stage stage) { > MenuItem item = new MenuItem("Click me!"); > item.setOnAction(e -> { > label.setText("It’s a miracle!"); > }); > Menu menu = new Menu("Menu"); > menu.getItems().add(item); > MenuBar bar = new MenuBar(menu); > > var stackPane = new StackPane(label); > VBox.setVgrow(stackPane, Priority.ALWAYS); > label.setStyle("-fx-font-size: 30"); > VBox root = new VBox(bar, stackPane); > > Scene scene = new Scene(root, 400, 400); > stage.setScene(scene); > stage.setTitle("JDK-8371781"); > stage.show(); > } > > public static void main(String[] args) { > launch(); > } > } > > Best regards, Pavel
