-
Bug
-
Resolution: Unresolved
-
P4
-
jfx21
-
x86_64
-
linux_ubuntu
ADDITIONAL SYSTEM INFORMATION :
Java: 21.0.1; OpenJDK 64-Bit Server VM 21.0.1+12-29
Runtime: OpenJDK Runtime Environment 21.0.1+12-29
System: Linux version 5.11.0-38-generic running on amd64; UTF-8; en_US (nb)
A DESCRIPTION OF THE PROBLEM :
JavaFX stops working after JVM gets kill signal.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
As you see the MyApplication has a shutdownHook with 10 seconds thread sleeping. Run MyApplication. After that press CTRL+C to stop the program or kill -15 PID.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Program must work at least 10 seconds after JVM gets kill signal because Platform.exit() hasn't been called.
ACTUAL -
Program stops working immediately after JVM is getting kill signal. Besides there are a lot of exceptions:
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "com.sun.prism.GraphicsPipeline.is3DSupported()" because the return value of "com.sun.prism.GraphicsPipeline.getPipeline()" is null
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.isSupported(QuantumToolkit.java:1224)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupportedImpl(PlatformImpl.java:1044)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupported(PlatformImpl.java:655)
at javafx.graphics@21.0.1/javafx.application.Platform.isSupported(Platform.java:268)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.processOffer(PickResultChooser.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.offer(PickResultChooser.java:143)
at javafx.graphics@21.0.1/javafx.scene.Node.intersects(Node.java:5194)
at javafx.graphics@21.0.1/javafx.scene.Node$1.intersects(Node.java:553)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.intersects(NodeHelper.java:260)
at javafx.graphics@21.0.1/javafx.scene.layout.Region.doPickNodeLocal(Region.java:3173)
at javafx.graphics@21.0.1/javafx.scene.layout.Region$1.doPickNodeLocal(Region.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.layout.RegionHelper.pickNodeLocalImpl(RegionHelper.java:104)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.pickNodeLocal(NodeHelper.java:130)
at javafx.graphics@21.0.1/javafx.scene.Node.pickNode(Node.java:5167)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.pickNode(Scene.java:4127)
at javafx.graphics@21.0.1/javafx.scene.Scene.pick(Scene.java:2070)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3937)
at javafx.graphics@21.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
at javafx.graphics@21.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
at java.base/java.lang.Thread.run(Thread.java:1583)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "com.sun.prism.GraphicsPipeline.is3DSupported()" because the return value of "com.sun.prism.GraphicsPipeline.getPipeline()" is null
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.isSupported(QuantumToolkit.java:1224)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupportedImpl(PlatformImpl.java:1044)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupported(PlatformImpl.java:655)
at javafx.graphics@21.0.1/javafx.application.Platform.isSupported(Platform.java:268)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.processOffer(PickResultChooser.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.offer(PickResultChooser.java:143)
at javafx.graphics@21.0.1/javafx.scene.Node.intersects(Node.java:5194)
at javafx.graphics@21.0.1/javafx.scene.Node$1.intersects(Node.java:553)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.intersects(NodeHelper.java:260)
at javafx.graphics@21.0.1/javafx.scene.layout.Region.doPickNodeLocal(Region.java:3173)
at javafx.graphics@21.0.1/javafx.scene.layout.Region$1.doPickNodeLocal(Region.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.layout.RegionHelper.pickNodeLocalImpl(RegionHelper.java:104)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.pickNodeLocal(NodeHelper.java:130)
at javafx.graphics@21.0.1/javafx.scene.Node.pickNode(Node.java:5167)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.pickNode(Scene.java:4127)
at javafx.graphics@21.0.1/javafx.scene.Scene.pick(Scene.java:2070)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3937)
at javafx.graphics@21.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
at javafx.graphics@21.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
at java.base/java.lang.Thread.run(Thread.java:1583)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "com.sun.prism.GraphicsPipeline.is3DSupported()" because the return value of "com.sun.prism.GraphicsPipeline.getPipeline()" is null
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.isSupported(QuantumToolkit.java:1224)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupportedImpl(PlatformImpl.java:1044)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupported(PlatformImpl.java:655)
at javafx.graphics@21.0.1/javafx.application.Platform.isSupported(Platform.java:268)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.processOffer(PickResultChooser.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.offer(PickResultChooser.java:143)
at javafx.graphics@21.0.1/javafx.scene.Node.intersects(Node.java:5194)
at javafx.graphics@21.0.1/javafx.scene.Node$1.intersects(Node.java:553)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.intersects(NodeHelper.java:260)
at javafx.graphics@21.0.1/javafx.scene.layout.Region.doPickNodeLocal(Region.java:3173)
at javafx.graphics@21.0.1/javafx.scene.layout.Region$1.doPickNodeLocal(Region.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.layout.RegionHelper.pickNodeLocalImpl(RegionHelper.java:104)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.pickNodeLocal(NodeHelper.java:130)
at javafx.graphics@21.0.1/javafx.scene.Node.pickNode(Node.java:5167)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.pickNode(Scene.java:4127)
at javafx.graphics@21.0.1/javafx.scene.Scene.pick(Scene.java:2070)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3937)
at javafx.graphics@21.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
at javafx.graphics@21.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
at java.base/java.lang.Thread.run(Thread.java:1583)
---------- BEGIN SOURCE ----------
public class MyApplication extends Application {
public static void main(String[] args) {
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("Point 1");
try {
Thread.sleep(10000);
} catch (Exception e) {
e.printStackTrace();
}
Platform.exit();
System.out.println("Point 2");
}
});
Application.launch(MyApplication.class);
}
@Override
public void start(Stage stage) throws Exception {
stage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Push Me");
StackPane root = new StackPane();
root.getChildren().add(btn);
stage.setScene(new Scene(root, 600, 650));
stage.show();
}
}
---------- END SOURCE ----------
FREQUENCY : always
Java: 21.0.1; OpenJDK 64-Bit Server VM 21.0.1+12-29
Runtime: OpenJDK Runtime Environment 21.0.1+12-29
System: Linux version 5.11.0-38-generic running on amd64; UTF-8; en_US (nb)
A DESCRIPTION OF THE PROBLEM :
JavaFX stops working after JVM gets kill signal.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
As you see the MyApplication has a shutdownHook with 10 seconds thread sleeping. Run MyApplication. After that press CTRL+C to stop the program or kill -15 PID.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Program must work at least 10 seconds after JVM gets kill signal because Platform.exit() hasn't been called.
ACTUAL -
Program stops working immediately after JVM is getting kill signal. Besides there are a lot of exceptions:
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "com.sun.prism.GraphicsPipeline.is3DSupported()" because the return value of "com.sun.prism.GraphicsPipeline.getPipeline()" is null
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.isSupported(QuantumToolkit.java:1224)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupportedImpl(PlatformImpl.java:1044)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupported(PlatformImpl.java:655)
at javafx.graphics@21.0.1/javafx.application.Platform.isSupported(Platform.java:268)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.processOffer(PickResultChooser.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.offer(PickResultChooser.java:143)
at javafx.graphics@21.0.1/javafx.scene.Node.intersects(Node.java:5194)
at javafx.graphics@21.0.1/javafx.scene.Node$1.intersects(Node.java:553)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.intersects(NodeHelper.java:260)
at javafx.graphics@21.0.1/javafx.scene.layout.Region.doPickNodeLocal(Region.java:3173)
at javafx.graphics@21.0.1/javafx.scene.layout.Region$1.doPickNodeLocal(Region.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.layout.RegionHelper.pickNodeLocalImpl(RegionHelper.java:104)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.pickNodeLocal(NodeHelper.java:130)
at javafx.graphics@21.0.1/javafx.scene.Node.pickNode(Node.java:5167)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.pickNode(Scene.java:4127)
at javafx.graphics@21.0.1/javafx.scene.Scene.pick(Scene.java:2070)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3937)
at javafx.graphics@21.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
at javafx.graphics@21.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
at java.base/java.lang.Thread.run(Thread.java:1583)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "com.sun.prism.GraphicsPipeline.is3DSupported()" because the return value of "com.sun.prism.GraphicsPipeline.getPipeline()" is null
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.isSupported(QuantumToolkit.java:1224)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupportedImpl(PlatformImpl.java:1044)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupported(PlatformImpl.java:655)
at javafx.graphics@21.0.1/javafx.application.Platform.isSupported(Platform.java:268)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.processOffer(PickResultChooser.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.offer(PickResultChooser.java:143)
at javafx.graphics@21.0.1/javafx.scene.Node.intersects(Node.java:5194)
at javafx.graphics@21.0.1/javafx.scene.Node$1.intersects(Node.java:553)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.intersects(NodeHelper.java:260)
at javafx.graphics@21.0.1/javafx.scene.layout.Region.doPickNodeLocal(Region.java:3173)
at javafx.graphics@21.0.1/javafx.scene.layout.Region$1.doPickNodeLocal(Region.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.layout.RegionHelper.pickNodeLocalImpl(RegionHelper.java:104)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.pickNodeLocal(NodeHelper.java:130)
at javafx.graphics@21.0.1/javafx.scene.Node.pickNode(Node.java:5167)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.pickNode(Scene.java:4127)
at javafx.graphics@21.0.1/javafx.scene.Scene.pick(Scene.java:2070)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3937)
at javafx.graphics@21.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
at javafx.graphics@21.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
at java.base/java.lang.Thread.run(Thread.java:1583)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "com.sun.prism.GraphicsPipeline.is3DSupported()" because the return value of "com.sun.prism.GraphicsPipeline.getPipeline()" is null
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.isSupported(QuantumToolkit.java:1224)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupportedImpl(PlatformImpl.java:1044)
at javafx.graphics@21.0.1/com.sun.javafx.application.PlatformImpl.isSupported(PlatformImpl.java:655)
at javafx.graphics@21.0.1/javafx.application.Platform.isSupported(Platform.java:268)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.processOffer(PickResultChooser.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.input.PickResultChooser.offer(PickResultChooser.java:143)
at javafx.graphics@21.0.1/javafx.scene.Node.intersects(Node.java:5194)
at javafx.graphics@21.0.1/javafx.scene.Node$1.intersects(Node.java:553)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.intersects(NodeHelper.java:260)
at javafx.graphics@21.0.1/javafx.scene.layout.Region.doPickNodeLocal(Region.java:3173)
at javafx.graphics@21.0.1/javafx.scene.layout.Region$1.doPickNodeLocal(Region.java:182)
at javafx.graphics@21.0.1/com.sun.javafx.scene.layout.RegionHelper.pickNodeLocalImpl(RegionHelper.java:104)
at javafx.graphics@21.0.1/com.sun.javafx.scene.NodeHelper.pickNodeLocal(NodeHelper.java:130)
at javafx.graphics@21.0.1/javafx.scene.Node.pickNode(Node.java:5167)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.pickNode(Scene.java:4127)
at javafx.graphics@21.0.1/javafx.scene.Scene.pick(Scene.java:2070)
at javafx.graphics@21.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3937)
at javafx.graphics@21.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
at javafx.graphics@21.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@21.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@21.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@21.0.1/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
at java.base/java.lang.Thread.run(Thread.java:1583)
---------- BEGIN SOURCE ----------
public class MyApplication extends Application {
public static void main(String[] args) {
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("Point 1");
try {
Thread.sleep(10000);
} catch (Exception e) {
e.printStackTrace();
}
Platform.exit();
System.out.println("Point 2");
}
});
Application.launch(MyApplication.class);
}
@Override
public void start(Stage stage) throws Exception {
stage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Push Me");
StackPane root = new StackPane();
root.getChildren().add(btn);
stage.setScene(new Scene(root, 600, 650));
stage.show();
}
}
---------- END SOURCE ----------
FREQUENCY : always
- relates to
-
JDK-8337247 Add possibility to disable JavaFX shutdown hook
-
- Open
-