JavaFX NullPointer on Linux
JavaFX NullPointer on Linux
Hi there,
trying to run the JavaFX Demos, e.g. TimeSeriesChartFXDemo1, on my Linux machine resulted in a blank chart (axis and legend is fine, only chart is blank). Nevertheless, the data is there as I can export it via right click, it remains unrendered somehow. After some resizing of the window, the NullPointerExceptption pasted below occurs repeatedly. There is no problem on Windows and MacOSX. Any hints how to fix this on Linux?
Cheers,
Andreas
java.lang.NullPointerException
at com.sun.prism.sw.SWGraphics.fillRect(SWGraphics.java:396)
at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(NGCanvas.java:244)
at com.sun.javafx.sg.prism.NGCanvas.renderClip(NGCanvas.java:625)
at com.sun.javafx.sg.prism.NGCanvas.renderStream(NGCanvas.java:781)
at com.sun.javafx.sg.prism.NGCanvas.renderContent(NGCanvas.java:578)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:469)
at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:324)
at com.sun.javafx.tk.quantum.UploadingPainter.run(UploadingPainter.java:132)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
at java.lang.Thread.run(Thread.java:745)
trying to run the JavaFX Demos, e.g. TimeSeriesChartFXDemo1, on my Linux machine resulted in a blank chart (axis and legend is fine, only chart is blank). Nevertheless, the data is there as I can export it via right click, it remains unrendered somehow. After some resizing of the window, the NullPointerExceptption pasted below occurs repeatedly. There is no problem on Windows and MacOSX. Any hints how to fix this on Linux?
Cheers,
Andreas
java.lang.NullPointerException
at com.sun.prism.sw.SWGraphics.fillRect(SWGraphics.java:396)
at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(NGCanvas.java:244)
at com.sun.javafx.sg.prism.NGCanvas.renderClip(NGCanvas.java:625)
at com.sun.javafx.sg.prism.NGCanvas.renderStream(NGCanvas.java:781)
at com.sun.javafx.sg.prism.NGCanvas.renderContent(NGCanvas.java:578)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2043)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1951)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:469)
at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:324)
at com.sun.javafx.tk.quantum.UploadingPainter.run(UploadingPainter.java:132)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
at java.lang.Thread.run(Thread.java:745)
-
- JFreeChart Project Leader
- Posts: 11734
- Joined: Fri Mar 14, 2003 10:29 am
- antibot: No, of course not.
- Contact:
Re: JavaFX NullPointer on Linux
I guess this is a bug in the JavaFX runtime. I'm going to try to reproduce it so we can open a bug ticket with Oracle. Which version of the JDK are you running?
David Gilbert
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
Re: JavaFX NullPointer on Linux
Tested with Oracle JDK updates 05 and 11. Thanks for testing!
Re: JavaFX NullPointer on Linux
Same problem, stack trace & code provided below, using
JDK 8
Windows 7 32 Bit
Would be great to have some pointers to go around this.
thanks & regards
JDK 8
on Eclipse Lunajava version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) Client VM (build 25.11-b03, mixed mode)
Windows 7 32 Bit
java.lang.NullPointerException
at com.sun.prism.sw.SWGraphics.fillRect(Unknown Source)
at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(Unknown Source)
at com.sun.javafx.sg.prism.NGCanvas.renderClip(Unknown Source)
at com.sun.javafx.sg.prism.NGCanvas.renderStream(Unknown Source)
at com.sun.javafx.sg.prism.NGCanvas.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.render(Unknown Source)
at com.sun.javafx.sg.prism.NGGroup.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGRegion.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.render(Unknown Source)
at com.sun.javafx.sg.prism.NGGroup.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGRegion.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.render(Unknown Source)
at com.sun.javafx.sg.prism.NGGroup.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGRegion.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.render(Unknown Source)
at com.sun.javafx.sg.prism.NGGroup.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGRegion.renderContent(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source)
at com.sun.javafx.sg.prism.NGNode.render(Unknown Source)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(Unknown Source)
at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(Unknown Source)
at com.sun.javafx.tk.quantum.UploadingPainter.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at com.sun.javafx.tk.RenderJob.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Code: Select all
public class TestFX extends Application {
Stage primary;
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Some more junk ... as usual!");
StackPane stackPane=new StackPane();
Button button=new Button("Junk on the Rocks!!");
button.setId("JUNK_BUTTON");
button.setOnAction(new EventHandler());
stackPane.getChildren().add(button);
DefaultPieDataset pieDataSet=new DefaultPieDataset();
pieDataSet.insertValue(0,"india", 41);
pieDataSet.insertValue(0,"China", 59);
JFreeChart chart=ChartFactory.createPieChart("Junk", pieDataSet, true,true,false);
ChartViewer chartViewer=new ChartViewer(chart);
ChartCanvas canvas=new ChartCanvas(chart);
stackPane.getChildren().add(chartViewer);
Scene primaryScene=new Scene(stackPane);
primaryStage.setScene(primaryScene);
primary=primaryStage;
primaryStage.show();
}//start closing
public static void main(String... args) {
System.out.println("Just pure unadulterated junk ... that's all!");
Application.launch(args);
}//main closing
class EventHandler implements javafx.event.EventHandler<ActionEvent>{
@Override
public void handle(ActionEvent actionEvent) {
Button b=(Button)actionEvent.getSource();
System.out.println(b.getId());
//canvas.widthProperty().bind(pane.widthProperty());
//canvas.heightProperty().bind(pane.heightProperty());
}//handle closing
}//inner-class closing
}//class closing
thanks & regards
Re: JavaFX NullPointer on Linux
Stuck here with this exact same thing
Running JDK 1.8.0_25. Tested 32- and 64-bit JDKs on Win7 64-bit, and 64-bit JDK on Kubuntu 14.04.
Same result with both JFreeChart 1.0.19-fx and JFreeChart2 2.0-pre1.
Has anyone found a workaround for this?
Running JDK 1.8.0_25. Tested 32- and 64-bit JDKs on Win7 64-bit, and 64-bit JDK on Kubuntu 14.04.
Same result with both JFreeChart 1.0.19-fx and JFreeChart2 2.0-pre1.
Has anyone found a workaround for this?
-
- JFreeChart Project Leader
- Posts: 11734
- Joined: Fri Mar 14, 2003 10:29 am
- antibot: No, of course not.
- Contact:
Re: JavaFX NullPointer on Linux
Does anyone know if this happens on the latest early access build for 8u40?
https://jdk8.java.net/download.html
Unfortunately I don't have a Linux machine handy at present, so I can't try this out myself.
https://jdk8.java.net/download.html
Unfortunately I don't have a Linux machine handy at present, so I can't try this out myself.
David Gilbert
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
-
- JFreeChart Project Leader
- Posts: 11734
- Joined: Fri Mar 14, 2003 10:29 am
- antibot: No, of course not.
- Contact:
Re: JavaFX NullPointer on Linux
I'm wondering, in fact, if it is this bug (which is already fixed for 8u40):
https://javafx-jira.kenai.com/browse/RT-37945
https://javafx-jira.kenai.com/browse/RT-37945
David Gilbert
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
[SOLVED] Re: JavaFX NullPointer on Linux
Thank you!
With JDK 1.8.0_40 the error does not present itself and JFreeChart 1.0.19-fx now works fine on both Windows and Linux.
With JDK 1.8.0_40 the error does not present itself and JFreeChart 1.0.19-fx now works fine on both Windows and Linux.
-
- JFreeChart Project Leader
- Posts: 11734
- Joined: Fri Mar 14, 2003 10:29 am
- antibot: No, of course not.
- Contact:
Re: JavaFX NullPointer on Linux
Good news!
David Gilbert
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program