Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8123188

Ensemble8 CurveFittedAreaChart gets an NPE in NGRegion

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 8
    • javafx
    • None
    • mac, JDK8 b98, FX post b97 but it might have been seen earlier by others

      When trying to run Ensemble8 sample CurveFittedAreaChart (In Ensemble8 navigate Charts->Area->Curve-Fitted Area Chart), we get the following stacktrace and info and the sample does not run.

      It's unclear yet if this is a scenegraph bug, but please consider ~L818-L827 in NGRegion.java. Could the NPE be a result of data passed in?

      java.lang.NullPointerException
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:827)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NodeEffectInput.getImageDataForBoundedNode(NodeEffectInput.java:215)
      at com.sun.javafx.sg.prism.NodeEffectInput.filter(NodeEffectInput.java:109)
      at com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:168)
      at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:164)
      at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:951)
      at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:701)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:410)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:117)
      at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:212)
      at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:95)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
      at com.sun.prism.render.RenderJob.run(RenderJob.java:60)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
      at java.lang.Thread.run(Thread.java:724)
      ES2 Vram Pool: 17,522,080 used (6.5%), 17,522,080 managed (6.5%), 268,435,456 total
      93 total resources being managed
      4 permanent resources (4.3%)
      2 resources locked (2.2%)
      57 resources contain interesting data (61.3%)
      0 resources disappeared (0.0%)

      java.lang.NullPointerException
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:827)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NodeEffectInput.getImageDataForBoundedNode(NodeEffectInput.java:215)
      at com.sun.javafx.sg.prism.NodeEffectInput.filter(NodeEffectInput.java:109)
      at com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:168)
      at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:164)
      at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:951)
      at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:701)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:410)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:117)
      at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:204)
      at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:95)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
      at com.sun.prism.render.RenderJob.run(RenderJob.java:60)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
      at java.lang.Thread.run(Thread.java:724)
      ES2 Vram Pool: 21,217,248 used (7.9%), 21,217,248 managed (7.9%), 268,435,456 total
      100 total resources being managed
      4 permanent resources (4.0%)
      3 resources locked (3.0%)
      58 resources contain interesting data (58.0%)
      0 resources disappeared (0.0%)
      java.lang.NullPointerException
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:827)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NodeEffectInput.getImageDataForBoundedNode(NodeEffectInput.java:215)
      at com.sun.javafx.sg.prism.NodeEffectInput.filter(NodeEffectInput.java:109)
      at com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:168)
      at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:164)
      at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:951)
      at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:701)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:410)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
      at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
      at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
      at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
      at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1277)
      at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:117)
      at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:204)
      at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:95)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
      at com.sun.prism.render.RenderJob.run(RenderJob.java:60)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
      at java.lang.Thread.run(Thread.java:724)
      ES2 Vram Pool: 24,477,664 used (9.1%), 24,477,664 managed (9.1%), 268,435,456 total
      103 total resources being managed
      4 permanent resources (3.9%)
      4 resources locked (3.9%)
      58 resources contain interesting data (56.3%)
      0 resources disappeared (0.0%)

      ES2 Vram Pool: 24,477,664 used (9.1%), 24,477,664 managed (9.1%), 268,435,456 total
      103 total resources being managed
      4 permanent resources (3.9%)
      4 resources locked (3.9%)
      58 resources contain interesting data (56.3%)
      0 resources disappeared (0.0%)

      One more note: in Ensemble8, CurveFittedAreaChart sample uses CSS CurvFittedAreaChart.css. It looks like the following CSS lines make the issue appear:

      .chart {
          -fx-background-image: url("/ensemble/samples/shared-resources/Curve-fitted-background.png");
          -fx-padding: 15 25 15 15;
      }
      .chart-plot-background {
          -fx-background-color: red;
          -fx-background-image: url("/ensemble/samples/shared-resources/Curve-fitted-chart-background.png"), url("/ensemble/samples/shared-resources/Curve-fitted-graph-gridlines.png");
          -fx-background-size: cover, auto;
          -fx-background-repeat: no-repeat, repeat;
          -fx-background-position: 0% 0%, 0% 100%;
          -fx-border-color: black black transparent transparent;
      }

            dmasada Debra Masada (Inactive)
            dmasada Debra Masada (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: