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

[Canvas] NPE or crash in SWGraphics.fillRect running Canvas demos on SW pipe

XMLWordPrintable

      This is either a bug in Canvas or it has exposed a bug in SW pipe.

      Running the Canvas demos on the SW pipeline will throw an NPE, and some demos will crash (depending on the demo). In particular, the Canvas Bitmap test and Zoomy demo both get an NPE. Zoomy then crashes. If I apply a trivial fix to make the NPE go away, then Bitmap crashes, too.

      Steps to reproduce:

      1) Run Zoomy with the SW pipeline -- "java -Dprism.order=sw ..."

      java.lang.NullPointerException
              at com.sun.prism.sw.SWGraphics.fillRect(SWGraphics.java:396)
              at com.sun.prism.sw.SWGraphics.fillQuad(SWGraphics.java:374)
              at com.sun.javafx.sg.prism.NGCanvas.clearCanvas(NGCanvas.java:628)
              at com.sun.javafx.sg.prism.NGCanvas.renderStream(NGCanvas.java:792)
              at com.sun.javafx.sg.prism.NGCanvas.renderContent(NGCanvas.java:582)
              at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2067)
              at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1959)
              at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
              at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2067)
              at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1959)
              at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:474)
              at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:327)
              at com.sun.javafx.tk.quantum.UploadingPainter.run(UploadingPainter.java:135)
              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:125)
              at java.lang.Thread.run(Thread.java:744)

      Execution protection violation
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000, pid=2852, tid=5704
      #
      # JRE version: Java(TM) SE Runtime Environment (8.0-b132) (build 1.8.0-b132)
      # Java VM: Java HotSpot(TM) Client VM (25.0-b70 mixed mode windows-x86 )
      # Problematic frame:
      # C 0x00000000
      #
      # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
      #
      # An error report file with more information is saved as:
      # C:\Users\kcr\javafx\8u-kcr\jfx\rt-closed\toys\CanvasTest\hs_err_pid2852.log
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.sun.com/bugreport/crash.jsp
      # The crash happened outside the Java Virtual Machine in native code.
      # See problematic frame for where to report the bug.
      #

            flar Jim Graham
            kcr Kevin Rushforth
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: