I'm using the Transcoder API to rasterize an SVG into JPEG. I'm getting the following NPE, followed by a complete crash of the Java VM (there's two stack traces here - I'm not sure if it happened twice on two separate images or if these are related somehow): java.lang.NullPointerException at java.awt.image.DataBufferInt.getBankData(DataBufferInt.java:162) at org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter_INT_PACK.<init>(PadRed.java:156) at org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter.getZeroRecter(PadRed.java:123) at org.apache.batik.ext.awt.image.rendered.PadRed.handleZero(PadRed.java:193) at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:92) at org.apache.batik.ext.awt.image.rendered.ColorMatrixRed.copyData(ColorMatrixRed.java:116) at org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(FormatRed.java:116) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:264) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:455) at org.apache.batik.ext.awt.image.renderable.PadRable8Bit.paintRable(PadRable8Bit.java:135) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.ext.awt.image.renderable.PadRable8Bit.paintRable(PadRable8Bit.java:135) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.ext.awt.image.renderable.FilterChainRable8Bit.paintRable(FilterChainRable8Bit.java:251) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.genRect(GraphicsNodeRed8Bit.java:140) at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.copyData(GraphicsNodeRed8Bit.java:116) at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:88) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.Any2LumRed.copyData(Any2LumRed.java:71) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.FilterAsAlphaRed.copyData(FilterAsAlphaRed.java:83) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.MultiplyAlphaRed.INT_PACK_BYTE_COMP_Impl(MultiplyAlphaRed.java:107) at org.apache.batik.ext.awt.image.rendered.MultiplyAlphaRed.copyData(MultiplyAlphaRed.java:183) at org.apache.batik.ext.awt.image.rendered.Any2sRGBRed.copyData(Any2sRGBRed.java:166) at org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(FormatRed.java:116) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:347) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:455) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.CanvasGraphicsNode.primitivePaint(CanvasGraphicsNode.java:159) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.renderer.MacRenderer.repaint(MacRenderer.java:361) at org.apache.batik.gvt.renderer.MacRenderer.repaint(MacRenderer.java:291) at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:111) at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142) at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156) at com.dji.converter.epub.constructor.ImageConstructor.convertVectorImage(ImageConstructor.java:305) at com.dji.converter.epub.constructor.ImageConstructor.createImage(ImageConstructor.java:109) at com.dji.converter.epub.constructor.ImageConstructor.handleStartEvent(ImageConstructor.java:80) at com.dji.converter.epub.ePubConverter.processEvents(ePubConverter.java:334) at com.dji.converter.epub.ePubConverter.convert(ePubConverter.java:202) at com.dji.converter.ConverterBase.run(ConverterBase.java:91) at java.lang.Thread.run(Thread.java:613) java.lang.NullPointerException at java.awt.image.DataBufferInt.getBankData(DataBufferInt.java:162) at org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter_INT_PACK.<init>(PadRed.java:156) at org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter.getZeroRecter(PadRed.java:123) at org.apache.batik.ext.awt.image.rendered.PadRed.handleZero(PadRed.java:193) at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:92) at org.apache.batik.ext.awt.image.rendered.ColorMatrixRed.copyData(ColorMatrixRed.java:116) at org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(FormatRed.java:116) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:264) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:455) at org.apache.batik.ext.awt.image.renderable.PadRable8Bit.paintRable(PadRable8Bit.java:135) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.ext.awt.image.renderable.PadRable8Bit.paintRable(PadRable8Bit.java:135) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.ext.awt.image.renderable.FilterChainRable8Bit.paintRable(FilterChainRable8Bit.java:251) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.genRect(GraphicsNodeRed8Bit.java:140) at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.copyData(GraphicsNodeRed8Bit.java:116) at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:88) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.Any2LumRed.copyData(Any2LumRed.java:71) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.FilterAsAlphaRed.copyData(FilterAsAlphaRed.java:83) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.MultiplyAlphaRed.INT_PACK_BYTE_COMP_Impl(MultiplyAlphaRed.java:107) at org.apache.batik.ext.awt.image.rendered.MultiplyAlphaRed.copyData(MultiplyAlphaRed.java:183) at org.apache.batik.ext.awt.image.rendered.Any2sRGBRed.copyData(Any2sRGBRed.java:166) at org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(FormatRed.java:116) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:347) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:455) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.CanvasGraphicsNode.primitivePaint(CanvasGraphicsNode.java:159) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.renderer.MacRenderer.repaint(MacRenderer.java:361) at org.apache.batik.gvt.renderer.MacRenderer.repaint(MacRenderer.java:291) at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:111) at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142) at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156) at com.dji.converter.epub.constructor.ImageConstructor.convertVectorImage(ImageConstructor.java:305) at com.dji.converter.epub.constructor.ImageConstructor.createImage(ImageConstructor.java:109) at com.dji.converter.epub.constructor.ImageConstructor.handleStartEvent(ImageConstructor.java:80) at com.dji.converter.epub.ePubConverter.processEvents(ePubConverter.java:334) at com.dji.converter.epub.ePubConverter.convert(ePubConverter.java:202) at com.dji.converter.ConverterBase.run(ConverterBase.java:91) at java.lang.Thread.run(Thread.java:613) Invalid memory access of location 0x128 eip=0x4dcd8a The code in question is pretty straightforward, but one odd thing did happen: I never hit the catch(Exception e) clause, which I should have done for an NPE: try { String parser = XMLResourceDescriptor.getXMLParserClassName(); SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser); String svgURI = imageSourcePath.toURL().toString(); Document doc = f.createDocument(svgURI); // Get the root element (the 'svg' element). final Element svgRoot = doc.getDocumentElement(); // Set the width and height attributes on the root 'svg' element. final String strWidth = svgRoot.getAttributeNS(null, "width"); if (strWidth != null) { actualWidth = Float.parseFloat(strWidth); } final String strHeight = svgRoot.getAttributeNS(null, "height"); if (strHeight != null) { actualHeight = Float.parseFloat(strHeight); } if ((actualWidth != Float.MAX_VALUE) && (actualWidth > maxImageWidth)) { float proportion = maxImageWidth / actualWidth; actualWidth = proportion * actualWidth; actualHeight = proportion * actualHeight; } if ((actualHeight != Float.MAX_VALUE) && (actualHeight > maxImageHeight)) { float proportion = maxImageHeight / actualHeight; actualWidth = proportion * actualWidth; actualHeight = proportion * actualHeight; } // Create a JPEG transcoder ImageTranscoder t = null; if (imageOutputFormat.equalsIgnoreCase("jpeg")) { t = new JPEGTranscoder(); } else if (imageOutputFormat.equalsIgnoreCase("png")) { t = new PNGTranscoder(); } else { throw new UnsupportedImageFormatException("Cannot convert SVG to " + imageOutputFormat); } // Set the transcoding hints. t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(.8)); t.addTranscodingHint(JPEGTranscoder.KEY_WIDTH, actualWidth); t.addTranscodingHint(JPEGTranscoder.KEY_HEIGHT, actualHeight); // Create the transcoder input. TranscoderInput input = new TranscoderInput(doc); // Create the transcoder output. OutputStream ostream = new FileOutputStream(imageDestPath); TranscoderOutput output = new TranscoderOutput(ostream); // Save the image. t.transcode(input, output); // Flush and close the stream. ostream.flush(); ostream.close(); finalImagePath = imageDestPath; } catch (FileNotFoundException e) { logger.error("Image file not found", e); getStatusAccumulator().addWarningMessage("The image file " + imageSourcePath + " specified in the XML was not found."); finalImagePath = imageSourcePath; } catch (IOException e) { logger.error("Image I/O error", e); getStatusAccumulator().addWarningMessage("An error occurred while processing image file " + imageSourcePath + ": " + e.getMessage()); finalImagePath = imageSourcePath; } catch (TranscoderException e) { logger.error("Image conversion error", e); getStatusAccumulator().addWarningMessage("An error occurred while processing image file " + imageSourcePath + ": " + e.getMessage()); finalImagePath = imageSourcePath; } catch (Exception e) { // Batik sometimes NPEs... logger.error("Image conversion error", e); getStatusAccumulator().addWarningMessage("An error occurred while processing image file " + imageSourcePath + ": " + e.getMessage()); finalImagePath = imageSourcePath; } Thanks in advance for any help you can provide. Cheers Chris
One additional tidbit: this exception occurred while running the program under the Eclipse debugger using JVM arguments "-Xmx1024M -Dcom.sun.management.jmxremote". I tried running it outside the debugger with -Xmx1024M and it appears to have worked (or at least I didn't get an NPE).
(In reply to comment #0) > I'm using the Transcoder API to rasterize an SVG into JPEG. I'm getting the > following NPE, followed by a complete crash of the Java VM (there's two stack > traces here - I'm not sure if it happened twice on two separate images or if > these are related somehow): I think it must be a side effect of running out of memory. I'm not sure why an OOM exeception isn't thrown. > java.lang.NullPointerException > at java.awt.image.DataBufferInt.getBankData(DataBufferInt.java:162) > at > org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter_INT_PACK.<init>(PadRed.java:156) > at > org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter.getZeroRecter(PadRed.java:123) > at > org.apache.batik.ext.awt.image.rendered.PadRed.handleZero(PadRed.java:193) > at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:92) > at > org.apache.batik.ext.awt.image.rendered.ColorMatrixRed.copyData(ColorMatrixRed.java:116) > at > org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(FormatRed.java:116) > at > org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) The Writable Raster who's DataBuffer is 'bad' is allocated a few lines before this. And that Raster is just passed down to the point where getting the DataBuffer's data bank causes the NPE. If you are looking to rasterize large documents you would be much better off using the TiledImageTranscoder (contrib/tiledTranscoder) which uses Tiff for the output and renders the image in strips to greatly reduce memory consumption.
Thank you for your comments, Thomas. I'll take a look at TiledImageTranscoder, but I'm wondering if I won't still run into memory issues since I'm required to end up with a JPEG at the end of the process. Do you think that converting SVG -> TIFF -> JPEG will have lower memory requirements than a direct SVG -> TIFF conversion? and are TIFF image readers generally available with the JVM so that I can use the standard ImageIO methods to convert TIFF to JPEG? Best, Chris
I'm continuing to get this error even if I raise the JVM maximum memory allocation substantially. The most recent stack trace with -Xmx1536M is: java.lang.NullPointerException at java.awt.image.DataBufferInt.getBankData(DataBufferInt.java:162) at org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter_INT_PACK.<init>(PadRed.java:156) at org.apache.batik.ext.awt.image.rendered.PadRed$ZeroRecter.getZeroRecter(PadRed.java:123) at org.apache.batik.ext.awt.image.rendered.PadRed.handleZero(PadRed.java:193) at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:92) at org.apache.batik.ext.awt.image.rendered.ColorMatrixRed.copyData(ColorMatrixRed.java:116) at org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(FormatRed.java:116) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:264) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:455) at org.apache.batik.ext.awt.image.renderable.PadRable8Bit.paintRable(PadRable8Bit.java:135) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.ext.awt.image.renderable.PadRable8Bit.paintRable(PadRable8Bit.java:135) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.ext.awt.image.renderable.FilterChainRable8Bit.paintRable(FilterChainRable8Bit.java:251) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:440) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.genRect(GraphicsNodeRed8Bit.java:140) at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.copyData(GraphicsNodeRed8Bit.java:116) at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:88) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.Any2LumRed.copyData(Any2LumRed.java:71) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.FilterAsAlphaRed.copyData(FilterAsAlphaRed.java:83) at org.apache.batik.ext.awt.image.rendered.AbstractRed.getData(AbstractRed.java:526) at org.apache.batik.ext.awt.image.rendered.MultiplyAlphaRed.INT_PACK_BYTE_COMP_Impl(MultiplyAlphaRed.java:107) at org.apache.batik.ext.awt.image.rendered.MultiplyAlphaRed.copyData(MultiplyAlphaRed.java:183) at org.apache.batik.ext.awt.image.rendered.Any2sRGBRed.copyData(Any2sRGBRed.java:166) at org.apache.batik.ext.awt.image.rendered.FormatRed.copyData(FormatRed.java:116) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:347) at org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:455) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.CanvasGraphicsNode.primitivePaint(CanvasGraphicsNode.java:159) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165) at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509) at org.apache.batik.gvt.renderer.MacRenderer.repaint(MacRenderer.java:361) at org.apache.batik.gvt.renderer.MacRenderer.repaint(MacRenderer.java:291) at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:111) at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142) at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156) at com.dji.converter.epub.renderer.ImageRenderer.convertVectorImage(ImageRenderer.java:332) at com.dji.converter.epub.renderer.ImageRenderer.render(ImageRenderer.java:113) at com.dji.converter.epub.renderer.ImageRenderer.render(ImageRenderer.java:56) at com.dji.converter.epub.ePubWriter.writeContent(ePubWriter.java:218) at com.dji.converter.epub.ePubConverter.writeContent(ePubConverter.java:376) at com.dji.converter.epub.ePubConverter.processEvents(ePubConverter.java:335) at com.dji.converter.epub.ePubConverter.convert(ePubConverter.java:185) at com.dji.converter.ConverterBase.run(ConverterBase.java:88) at java.lang.Thread.run(Thread.java:613) Invalid memory access of location 0x128 eip=0x4dcd8a