Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.15
-
None
-
Ubuntu 18.04.2 LTS
Description
When trying to render certain PDFs on a swing Graphics object, I get the following Exception on Linux:
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: not implemented yet at java.desktop/sun.java2d.xr.XRSurfaceData.getRaster(XRSurfaceData.java:91) at java.desktop/sun.java2d.loops.Blit$AnyBlit.Blit(Blit.java:163) at java.desktop/sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:972) at java.desktop/sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:583) at java.desktop/sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:67) at java.desktop/sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1027) at java.desktop/sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:186) at java.desktop/sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3415) at java.desktop/sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3545) at org.apache.pdfbox.rendering.PageDrawer.showTransparencyGroup(PageDrawer.java:1570) at org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:66) at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:869) at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:505) at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:479) at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:152) at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:265) at org.apache.pdfbox.rendering.PDFRenderer.renderPageToGraphics(PDFRenderer.java:401) at org.apache.pdfbox.rendering.PDFRenderer.renderPageToGraphics(PDFRenderer.java:370) at org.apache.pdfbox.rendering.PDFRenderer.renderPageToGraphics(PDFRenderer.java:355) at org.apache.pdfbox.rendering.PDFRenderer.renderPageToGraphics(PDFRenderer.java:342) at de.abm.bug.App$PDFView.paint(App.java:29) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5262) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1323) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1060) at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78) at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115) at java.desktop/java.awt.Container.paint(Container.java:2002) at java.desktop/java.awt.Window.paint(Window.java:3940) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:876) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:848) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:848) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:772) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1890) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
This does not happen on Windows 10.
The same exception came up in the comments to PDFBOX-2905.
Seems to be the same problem as in JDK-6689349.
I reproduced this with PDFBox 2.0.13, 2.0.15 and 3.0.0-SNAPSHOT. And also with an oracle jdk.1.8.0_201, open jdk 1.8.0_212 and open jdk 11.0.1.
I've attached an example maven project using the same PDF as in PDFBOX-2905.