Hi Martin,

Thank you very much! If it’s not too much trouble, could you please add my 
popup test GIF to the issue? It would be very helpful for the developers who 
will work on it. The issue is quite serious and difficult, as it is hard to 
explain and reproduce.

Best regards, Pavel

On 11/28/25 20:36, Martin Fox wrote:
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

Reply via email to