Dears,

I am trying to understand an error we start receiving in production
environment, after many days of normal behavior. As a result of this error
users receive an invalid PDF.

The error stack is below:

ExceptionConverter: com.itextpdf.text.DocumentException:
charter/resources/fonts/arialbd.ttf is not a true type file.
at
com.itextpdf.text.pdf.TrueTypeFontSubSet.createTableDirectory(TrueTypeFontSubSet.java:237)
at
com.itextpdf.text.pdf.TrueTypeFontSubSet.process(TrueTypeFontSubSet.java:133)
at com.itextpdf.text.pdf.TrueTypeFont.writeFont(TrueTypeFont.java:1312)
at com.itextpdf.text.pdf.FontDetails.writeFont(FontDetails.java:283)
at
com.itextpdf.text.pdf.PdfWriter.addSharedObjectsToBody(PdfWriter.java:1304)
at com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1212)
at com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:807)
at com.itextpdf.text.Document.close(Document.java:416)
at
ec.europa.eu.eacea.pdf.FormattingPdfPages.generateUCCharterForm(FormattingPdfPages.java:279)
at
ec.europa.eu.eacea.pdf.FormattingPdfPages.getPdfPages(FormattingPdfPages.java:178)
at
ec.europa.eu.eacea.controller.PrintCharterController.doPrint(PrintCharterController.java:62)
at sun.reflect.GeneratedMethodAccessor1650.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
at
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:859)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:883)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:781)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:83)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at ec.europa.eu.eacea.utils.RedirectFilter.doFilter(RedirectFilter.java:31)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at ec.europa.eu.eacea.utils.UrlFilter.doFilter(UrlFilter.java:40)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)


The file referenced "charter/resources/fonts/arialbd.ttf" exists and it is
the same for all environments, where the problem is not occuring, so I am
ruling out posibility of the file beeing corrupt.

I do not understand why all of a sudden it is reported as "not a true
type", while it was "good enough" for many weeks.

Also, I am assuming that if, for some reasons, java process could no longer
access the file, it would throw another IO exception, not "not a true type
file".

Can somebody please provide any help?

We plan to restart the servers during some maintenance period. Hopefully
the error will go away, but I am afraid the error may appear again.

Environment is linux redhat 5.7, weblogic 10.3.5, java
1.6_, itextpdf-5.3.5.jar

Thank you in advance,

Liviu
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

iText(R) is a registered trademark of 1T3XT BVBA.
Many questions posted to this list can (and will) be answered with a reference 
to the iText book: http://www.itextpdf.com/book/
Please check the keywords list before you ask for examples: 
http://itextpdf.com/themes/keywords.php

Reply via email to