FULL PRODUCT VERSION :
Java 9-ea+167
and
Java 1.8.0_121-b13
ADDITIONAL OS VERSION INFORMATION :
Windows 7 version 5.1.7601
Windows 10 version 10.0.14393
EXTRA RELEVANT SYSTEM CONFIGURATION :
Both systems are laptops with integrated Intel HD Graphics 4000
A DESCRIPTION OF THE PROBLEM :
If a Windows Display Driver recovers from a crash OR is restarted JavaFX applications will no longer render the UI.
While this doesn't seem like it would occur frequently it occurs quite often on Windows laptops being docked/undocked or being plugged into external monitors. The display drivers tend to restart after every display change.
This is directly related to issue JDK-8098527, but was resolved as incomplete, so opening a new bug.
https://bugs.openjdk.java.net/browse/JDK-8098527
I enabled some extra JavaFX logging for when this situation occurs and I see a TON of 'PC.addDirtyScene' log message go by (extraordinary amount) if that helps.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) Run the demo code attached to this bug (it just creates a stage with a label).
2) Open up the windows start menu and search for "Device Manager", click on it
3) Look for "Display adapters" in the list and open the tree item
4) You should have some display adapter visible to you. In my case it is "Intel(R) HD Graphics 4000". Right click on the display adapter and select "disable"
5) Your system will change resolution, once this has finished right click the display adapter again and choose "enable"
6) At this point the JavaFX application is essentially dead and must be restarted. Try resizing the application stage and notice the UI rendering will not be correct.
- again, this happens frequently when docking/undocking laptops or plugging into external displays.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The JavaFX application should continue rendering the UI whenever a Display driver goes through a restart/recovery.
ACTUAL -
The JavaFX application can no longer render the UI once a display driver restart/recovery has occurred.
REPRODUCIBILITY :
This bug can be reproduced occasionally.
---------- BEGIN SOURCE ----------
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class Demo extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Scene(new Label("primary stage"), 800, 600));
primaryStage.show();
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
None known.
Java 9-ea+167
and
Java 1.8.0_121-b13
ADDITIONAL OS VERSION INFORMATION :
Windows 7 version 5.1.7601
Windows 10 version 10.0.14393
EXTRA RELEVANT SYSTEM CONFIGURATION :
Both systems are laptops with integrated Intel HD Graphics 4000
A DESCRIPTION OF THE PROBLEM :
If a Windows Display Driver recovers from a crash OR is restarted JavaFX applications will no longer render the UI.
While this doesn't seem like it would occur frequently it occurs quite often on Windows laptops being docked/undocked or being plugged into external monitors. The display drivers tend to restart after every display change.
This is directly related to issue JDK-8098527, but was resolved as incomplete, so opening a new bug.
https://bugs.openjdk.java.net/browse/JDK-8098527
I enabled some extra JavaFX logging for when this situation occurs and I see a TON of 'PC.addDirtyScene' log message go by (extraordinary amount) if that helps.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) Run the demo code attached to this bug (it just creates a stage with a label).
2) Open up the windows start menu and search for "Device Manager", click on it
3) Look for "Display adapters" in the list and open the tree item
4) You should have some display adapter visible to you. In my case it is "Intel(R) HD Graphics 4000". Right click on the display adapter and select "disable"
5) Your system will change resolution, once this has finished right click the display adapter again and choose "enable"
6) At this point the JavaFX application is essentially dead and must be restarted. Try resizing the application stage and notice the UI rendering will not be correct.
- again, this happens frequently when docking/undocking laptops or plugging into external displays.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The JavaFX application should continue rendering the UI whenever a Display driver goes through a restart/recovery.
ACTUAL -
The JavaFX application can no longer render the UI once a display driver restart/recovery has occurred.
REPRODUCIBILITY :
This bug can be reproduced occasionally.
---------- BEGIN SOURCE ----------
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class Demo extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Scene(new Label("primary stage"), 800, 600));
primaryStage.show();
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
None known.
- duplicates
-
JDK-8098527 Application stages stops being rendered
-
- Open
-