Hello,I analyzed a little more our problem. It concerns only one SVG file. And that is a filter that causes problem:
<filter
inkscape: collect = "always"
id = "filter3834">
<feGaussianBlur
inkscape: collect = "always"
stdDeviation = "2.2770497"
id = "feGaussianBlur3836" />
</ filter>
If I replace it by
<filter
inkscape: collect = "always"
id = "filter3834">
</ filter>
there is no more problem. I do not know if this information is
sufficient to reopen the issue
https://bugs.openjdk.java.net/browse/JDK-8019201 on JDK side. But
anyway, I do not have the rights to do so.
I join the complete SVG file for information and the error stack. Regards, Laurent Le 25/09/2013 19:11, Laurent Redor a écrit :
Hello, The bughttps://bugs.openjdk.java.net/browse/JDK-8019201 is fixed. And effectively, if I run the test includes in the commithttp://hg.openjdk.java.net/jdk8/2d/jdk/rev/833f05116f7b : * It is OK with 1.7.0_21-b11. * It is KO with 1.7.0_25-b15. * It is OK with 1.7.0_40-b43.However, I have always similar problem with JDK 1.7.0_40-b43 and the AffineTransformOp JDK class. I do not know enough about the Batik library and even less ConvolveOp and AffineTransformOp JDK classes to adapt the test to reveal the problem with AffineTransformOp.Does someone who knows enough these classes could adapt the test? Best regards, Laurent >> Hi everyone, >> >> the latest security update of Oracle's JDK/JRE 1.7.0_25 breaks many if >> not all BufferedImageOp.filter implementations. >> >> BATIK 1.7 uses these operations in several places >> sources/org/apache/batik/ext/awt/g2d/AbstractGraphics2D.java >> >> sources/org/apache/batik/ext/awt/image/renderable/ConvolveMatrixRable8Bit.java >> >> sources/org/apache/batik/ext/awt/image/renderable/MorphologyRable8Bit.java >> sources/org/apache/batik/ext/awt/image/rendered/AffineRed.java >> sources/org/apache/batik/ext/awt/image/rendered/Any2LsRGBRed.java >> sources/org/apache/batik/ext/awt/image/rendered/Any2LumRed.java >> sources/org/apache/batik/ext/awt/image/rendered/Any2sRGBRed.java >> sources/org/apache/batik/ext/awt/image/rendered/ProfileRed.java >> sources/org/apache/batik/svggen/SVGGraphics2D.java >> and consequently BATIK may break down with unexpected >> "java.awt.image.ImagingOpException: Unable to transform src image" >> exceptions. >> >> The only workaround I have been able to find so far is patching BATIK >> sources to no longer call BufferedImageOp.filter directly on the source >> and destination image, but to filter two ARGB BufferedImage copies. >> >> A corresponding bug report >>http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8019201 has been >> filed with Oracle. However, the report does not mention the full extend >> of this problem - since filing the report, I have found Linux JDKs and >> additional BufferedImageOp implementations such as AffineTransformOp >> suffering from this problem, too. > >A project of mine has had two reports of this very probelm from users >using 1.7.0_25 on Windows, and I can reliably reproduce it myself with >OpenJDK 1.7.0_25 on Linux. > >Is there any way we can poke Oracle to fix the regression faster? > >-- >J.
Thread [main] (Suspended (exception ImagingOpException))
owns: IntegerInterleavedRaster (id=12517)
AffineTransformOp.filter(BufferedImage, BufferedImage) line: 284
AffineRed.genRect(WritableRaster) line: not available
AffineRed.copyData(WritableRaster) line: not available
Any2sRGBRed.copyData(WritableRaster) line: not available
Any2sRGBRed(AbstractRed).getData(Rectangle) line: not available
GraphicsUtil.drawImage(Graphics2D, CachableRed) line: not available
GraphicsUtil.drawImage(Graphics2D, RenderableImage) line: not available
PadRable8Bit.paintRable(Graphics2D) line: not available
GraphicsUtil.drawImage(Graphics2D, RenderableImage) line: not available
PadRable8Bit.paintRable(Graphics2D) line: not available
GraphicsUtil.drawImage(Graphics2D, RenderableImage) line: not available
FilterChainRable8Bit.paintRable(Graphics2D) line: not available
GraphicsUtil.drawImage(Graphics2D, RenderableImage) line: not available
ShapeNode(AbstractGraphicsNode).paint(Graphics2D) line: not available
ShapeNode.paint(Graphics2D) line: not available
CompositeGraphicsNode.primitivePaint(Graphics2D) line: not available
CompositeGraphicsNode(AbstractGraphicsNode).paint(Graphics2D) line: not
available
CanvasGraphicsNode(CompositeGraphicsNode).primitivePaint(Graphics2D)
line: not available
CanvasGraphicsNode.primitivePaint(Graphics2D) line: not available
CanvasGraphicsNode(AbstractGraphicsNode).paint(Graphics2D) line: not
available
RootGraphicsNode(CompositeGraphicsNode).primitivePaint(Graphics2D)
line: not available
GraphicsNodeRed8Bit.genRect(WritableRaster) line: not available
GraphicsNodeRed8Bit.copyData(WritableRaster) line: not available
TileCacheRed.genRect(WritableRaster) line: not available
TileCacheRed(AbstractTiledRed).drawBlockInPlace(TileBlock[],
WritableRaster) line: not available
TileCacheRed(AbstractTiledRed).drawBlock(TileBlock, WritableRaster)
line: not available
TileCacheRed(AbstractTiledRed).copyToRasterByBlocks(WritableRaster)
line: not available
TileCacheRed(AbstractTiledRed).copyData(WritableRaster) line: not
available
TranslateRed.copyData(WritableRaster) line: not available
PadRed.copyData(WritableRaster) line: not available
StaticRenderer.repaint(RectListManager) line: not available
StaticRenderer.repaint(Shape) line: not available
...
<<attachment: triangle.svg>>
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
