ICEpdf
  1. ICEpdf
  2. PDF-1149

opengl rendering with custom composite causes internal error

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.2.3
    • Fix Version/s: 6.2.4
    • Component/s: Core/Rendering
    • Labels:
      None
    • Environment:
      macOS and Sun JDK

      Description

      A community member has sent us a test case that contains a multiply composite blending effect on a highlight annotations appearance stream. When the content stream shapes are rendered on OSX on a Oracle JDK the following exception is thrown.

      Caused by: java.lang.InternalError: not implemented yet
      at sun.java2d.opengl.OGLSurfaceData.getRaster(OGLSurfaceData.java:397)
      at sun.java2d.pipe.GeneralCompositePipe.renderPathTile(GeneralCompositePipe.java:100)
      at sun.java2d.pipe.SpanShapeRenderer$Composite.renderBox(SpanShapeRenderer.java:60)
      at sun.java2d.pipe.SpanShapeRenderer.spanClipLoop(SpanShapeRenderer.java:213)
      at sun.java2d.pipe.SpanShapeRenderer.renderSpans(SpanShapeRenderer.java:196)
      at sun.java2d.pipe.SpanShapeRenderer.draw(SpanShapeRenderer.java:90)
      at sun.java2d.pipe.PixelToShapeConverter.drawLine(PixelToShapeConverter.java:52)
      at sun.java2d.pipe.ValidatePipe.drawLine(ValidatePipe.java:62)
      at sun.java2d.SunGraphics2D.drawLine(SunGraphics2D.java:2137)
      at ogl.CustomCompositeTest$TestComponent.renderTest(CustomCompositeTest.java:100)
      at ogl.CustomCompositeTest$TestComponent.paintComponent(CustomCompositeTest.java:86)
       

        Activity

        Hide
        Patrick Corless added a comment -

        The issue seems to be related to https://bugs.openjdk.java.net/browse/JDK-8004861 . I've confirmed this on JDK 1.8.0_131 on macOS and have tried JDK 9 EA and the exception has been removed but no effect is rendered. And thus still likely an OpenGL implementations issue.

        We may have to add some code to detect macOS and turn off the blending modes in favour of just using a transparency values. This isn't ideal as it's a step backwards in our rendering core but unfortunately there doesn't appear to be a lot we can do given this is happening at such a low level.

        Show
        Patrick Corless added a comment - The issue seems to be related to https://bugs.openjdk.java.net/browse/JDK-8004861 . I've confirmed this on JDK 1.8.0_131 on macOS and have tried JDK 9 EA and the exception has been removed but no effect is rendered. And thus still likely an OpenGL implementations issue. We may have to add some code to detect macOS and turn off the blending modes in favour of just using a transparency values. This isn't ideal as it's a step backwards in our rendering core but unfortunately there doesn't appear to be a lot we can do given this is happening at such a low level.
        Hide
        Patrick Corless added a comment -

        Addition of system property org.icepdf.core.paint.disableBlendComposite=false by default. Enabling the property addresses the rendering error on macOS using JDK 1.8.0.

        Show
        Patrick Corless added a comment - Addition of system property org.icepdf.core.paint.disableBlendComposite=false by default. Enabling the property addresses the rendering error on macOS using JDK 1.8.0.
        Hide
        Patrick Corless added a comment -

        Marking as fixed.

        Show
        Patrick Corless added a comment - Marking as fixed.

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Patrick Corless
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: