JDK-8371781 Popup for ComboBox, Menu, and Tooltip is not shown sometimes in JavaFX
PavelTurk
pavelturk2000 at gmail.com
Fri Nov 28 18:53:32 UTC 2025
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 <pavelturk2000 at gmail.com> 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
More information about the openjfx-dev
mailing list