You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-users@xmlgraphics.apache.org by Kenny Cheang <kc...@k-swiss.com> on 2005/11/07 20:29:41 UTC

Urgent: Java VM crashed every time I tried to render a SVG image.

Hi,

I have been working on a project which uses batik to render a barcode as 
a SVG image in PDF. It has been working well for a while but recently my 
Java VM would crash every time I try to render a SVG image. The 
following is the error details. Any help is greatly appreciated. Thank 
you very much!

Java VM Version: 1.4.2_10-b03
OS Version: Windows XP
Batik Version: 1.6

Source code to render a SVG image:
----------------------------------------------------------------------------------

SVGCanvasProvider provider = new SVGCanvasProvider();
barcodeBean.generateBarcode(provider, message);
           
// Use a transcoder to force building the GVT tree
DefaultSvgTranscoder transcoder = new DefaultSvgTranscoder();
TranscoderInput input = new TranscoderInput(provider.getDOM());
           
// Use null for the transcoder output because we're aren't actually
// doing any transcoding
transcoder.transcode(input, null);
           
// Save the root of the GVT tree, discard everything else
GraphicsNode gvtTree = transcoder.getGraphicsNode();
           
// Render
gvtTree.paint(graphics2D);
           
input = null;
transcoder = null;
           
Error details:
-------------------------------------------------------------------------------------
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x08ff6142, pid=1388, 
tid=2976
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_10-b03 mixed mode)
# Problematic frame:
# C  [fontmanager.dll+0x26142]
#

---------------  T H R E A D  ---------------

Current thread (0x0754d2a0):  JavaThread "http-8080-Processor24" daemon 
[_thread_in_native, id=2976]

siginfo: ExceptionCode=0xc0000005, reading address 0x090b354e

Registers:
EAX=0x00017769, EBX=0x09084670, ECX=0x0908467c, EDX=0x00008000
ESP=0x0873e450, EBP=0x0873e45c, ESI=0x00007d23, EDI=0x00000000
EIP=0x08ff6142, EFLAGS=0x00010202

Top of Stack: (sp=0x0873e450)
0x0873e450:   ffffffff 0908467a 09084670 0873e490
0x0873e460:   08ff67f1 ffffffff 0908467c 00008000
0x0873e470:   0873e554 08ff4694 ffffffff 08ff8163
0x0873e480:   ffffffff 00000005 0873e5b8 00000000
0x0873e490:   0873e588 08ff9361 0873e554 ffffffff
0x0873e4a0:   ffffffff 0873e5a8 0754d2a0 15558768
0x0873e4b0:   15558720 40000000 40069340 00000000
0x0873e4c0:   00000000 00000000 00000000 40000000

Instructions: (pc=0x08ff6142)
0x08ff6132:   8b c8 5a d3 e2 8b 4d 0c 2b f2 89 55 10 8d 04 76
0x08ff6142:   0f b6 1c 41 8d 04 41 c1 e3 08 0f b6 48 01 03 cb


Stack: [0x08700000,0x08740000),  sp=0x0873e450,  free space=249k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, 
C=native code)
C  [fontmanager.dll+0x26142]
C  [fontmanager.dll+0x267f1]
C  [fontmanager.dll+0x29361]
C  [fontmanager.dll+0x2ac86]
j  
sun.awt.font.NativeFontWrapper.populateAndLayoutGlyphVector(Ljava/awt/Font;[CIII[D[DZZLjava/awt/font/GlyphVector;)V+0
j  
sun.awt.font.StandardGlyphVector.<init>(Ljava/awt/Font;[CIIILjava/awt/font/FontRenderContext;)V+68
j  
sun.awt.font.ExtendedTextSourceLabel.createGV()Lsun/awt/font/StandardGlyphVector;+64
j  
sun.awt.font.ExtendedTextSourceLabel.getGV()Lsun/awt/font/StandardGlyphVector;+9
j  
sun.awt.font.ExtendedTextSourceLabel.createLogicalBounds()Ljava/awt/geom/Rectangle2D;+1
j  
sun.awt.font.ExtendedTextSourceLabel.getLogicalBounds(FF)Ljava/awt/geom/Rectangle2D;+9
j  
sun.awt.font.ExtendedTextSourceLabel.getLogicalBounds()Ljava/awt/geom/Rectangle2D;+3
j  
java.awt.font.TextLine.getMetrics()Ljava/awt/font/TextLine$TextLineMetrics;+49
j  java.awt.font.TextLayout.buildCache()V+16
j  java.awt.font.TextLayout.ensureCache()V+8
j  java.awt.font.TextLayout.getCharacterLevel(I)B+33
j  
org.apache.batik.gvt.text.BidiAttributedCharacterIterator.<init>(Ljava/text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;I)V+299
j  
org.apache.batik.gvt.renderer.StrokingTextPainter.computeTextRuns(Lorg/apache/batik/gvt/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;)Ljava/util/List;+35
j  
org.apache.batik.gvt.renderer.StrokingTextPainter.getTextRuns(Lorg/apache/batik/gvt/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;+23
j  
org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds2D(Lorg/apache/batik/gvt/TextNode;)Ljava/awt/geom/Rectangle2D;+8
j  
org.apache.batik.gvt.TextNode.getPrimitiveBounds()Ljava/awt/geom/Rectangle2D;+20
j  
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;+1
j  
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;+37
j  
org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds()Ljava/awt/geom/Rectangle2D;+124
j  
org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;+49
j  
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;+37
j  
org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds()Ljava/awt/geom/Rectangle2D;+43
j  
org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;+49
j  
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;+37
j  
org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds()Ljava/awt/geom/Rectangle2D;+43
j  
org.apache.batik.gvt.AbstractGraphicsNode.getBounds()Ljava/awt/geom/Rectangle2D;+16
j  
org.apache.batik.gvt.AbstractGraphicsNode.paint(Ljava/awt/Graphics2D;)V+39
j  
com.kswiss.portal.factory.report.barcode.BarcodeSvgRenderer.render(Ljava/awt/Graphics2D;Ljava/awt/geom/Rectangle2D;)V+60
j  
net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(Lnet/sf/jasperreports/engine/JRPrintImage;)V+1389
j  
net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(Lnet/sf/jasperreports/engine/JRPrintPage;)V+117
j  
net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(Ljava/io/OutputStream;)V+528
j  net.sf.jasperreports.engine.export.JRPdfExporter.exportReport()V+257
j  
org.springframework.ui.jasperreports.JasperReportsUtils.render(Lnet/sf/jasperreports/engine/JRExporter;Lnet/sf/jasperreports/engine/JasperPrint;Ljava/io/OutputStream;)V+21
j  
com.kswiss.portal.factory.web.spring.view.AbstractJasperReportsSingleFormatView.renderReport(Lnet/sf/jasperreports/engine/JasperPrint;Ljava/util/Map;Ljavax/servlet/http/HttpServletResponse;)V+91
j  
com.kswiss.portal.factory.web.spring.view.AbstractJasperReportsView.renderMergedOutputModel(Ljava/util/Map;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+119
j  
org.springframework.web.servlet.view.AbstractView.render(Ljava/util/Map;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+151
j  
org.springframework.web.servlet.DispatcherServlet.render(Lorg/springframework/web/servlet/ModelAndView;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+225
j  
org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+344
j  
org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+225
j  
org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+10
j  
org.springframework.web.servlet.FrameworkServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
j  
javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+35
j  
javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
j  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+478
j  
org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j  
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+65
j  
net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(Lnet/sf/acegisecurity/intercept/web/FilterInvocation;)V+80
j  
net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+52
j  
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+185
j  
net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+131
j  
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+185
j  
net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+139
j  
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+185
j  
net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+362
j  
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+185
j  
net.sf.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+149
j  
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+185
j  
net.sf.acegisecurity.util.FilterChainProxy.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+117
j  
net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+18
j  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+191
j  
org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j  
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+92
j  
org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+90
j  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+191
j  
org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j  
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+29
j  
org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+90
j  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+191
j  
org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j  
org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V+619
j  
org.apache.catalina.core.StandardValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+64
j  
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+44
j  
org.apache.catalina.core.StandardContextValve.invokeInternal(Lorg/apache/catalina/Wrapper;Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+172
j  
org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V+228
j  
org.apache.catalina.core.StandardValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+64
j  
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+44
j  
org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V+87
j  
org.apache.catalina.core.StandardValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+64
j  
org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V+3
j  
org.apache.catalina.core.StandardValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+33
j  
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+44
j  
org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;Lorg/apache/catalina/ValveContext;)V+59
j  
org.apache.catalina.core.StandardValveContext.invokeNext(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+64
j  
org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+44
j  
org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+6
j  
org.apache.coyote.tomcat5.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+137
j  
org.apache.coyote.http11.Http11Processor.process(Ljava/io/InputStream;Ljava/io/OutputStream;)V+424
j  
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Lorg/apache/tomcat/util/net/TcpConnection;[Ljava/lang/Object;)V+113
j  
org.apache.tomcat.util.net.TcpWorkerThread.runIt([Ljava/lang/Object;)V+159
j  org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run()V+167
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [jvm.dll+0x71d74]
V  [jvm.dll+0xabc2f]
V  [jvm.dll+0x71c81]
V  [jvm.dll+0x7197d]


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org


Re: Urgent: Java VM crashed every time I tried to render a SVG image.

Posted by th...@kodak.com.
Hi Kenny,

Kenny Cheang <kc...@k-swiss.com> wrote on 11/07/2005 02:29:41 PM:

> I have been working on a project which uses batik to render a barcode as 

> a SVG image in PDF. It has been working well for a while but recently my 

> Java VM would crash every time I try to render a SVG image. The 
> following is the error details. Any help is greatly appreciated. Thank 
> you very much!

   It looks like there is a bad font installed on your system.
If you have an idea what font was installed when it started to
fail you might try removing that font.  Otherwise you will need
to divide and conquer.  It looks like it may be the font in use 
is causing the failure (a barcode font?).

> 
sun.awt.font.NativeFontWrapper.populateAndLayoutGlyphVector(Ljava/awt/Font;
> [CIII[D[DZZLjava/awt/font/GlyphVector;)V+0

[...]

> j  java.awt.font.TextLayout.getCharacterLevel(I)B+33
> j 
> org.apache.batik.gvt.text.BidiAttributedCharacterIterator.
> 
<init>(Ljava/text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;I)V+299


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org