[publican-list] ask help for "java.lang.OutOfMemoryError: GC overhead limit exceeded"

Jeff Fearn jfearn at redhat.com
Wed Apr 18 07:19:05 UTC 2012


On 04/18/2012 04:59 PM, dennisg wrote:
> Hi all,
>
> I am a newer, and when I try to use publican to generate a huge pdf
> document, I got the following exception:
>
> ......
> warning: Line 1 of a paragraph overflows the available area by 25000mpt.
> (fo:block, location: 37381/1268)
> 2012-4-18 14:27:03 org.apache.fop.layoutmgr.inline.LineLayoutManager
> $LineBreakingAlgorithm updateData2
> warning: Line 1 of a paragraph overflows the available area by 38229mpt.
> (fo:block, location: 37381/3530)
> 2012-4-18 14:27:28 org.apache.fop.layoutmgr.inline.LineLayoutManager
> $LineBreakingAlgorithm updateData2
> warning: Line 1 of a paragraph overflows the available area by 25000mpt.
> (fo:block, location: 37611/1268)
> Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit
> exceeded
> 	at
> java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:62)
> 	at java.lang.StringBuffer.<init>(StringBuffer.java:108)
> 	at org.apache.fop.pdf.PDFText.toUnicodeHex(PDFText.java:194)
> 	at
> org.apache.fop.render.pdf.PDFRenderer.escapeText(PDFRenderer.java:1584)
> 	at
> org.apache.fop.render.pdf.PDFRenderer.renderWord(PDFRenderer.java:1476)
> 	at
> org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:616)
> 	at
> org.apache.fop.render.pdf.PDFRenderer.renderInlineArea(PDFRenderer.java:1345)
> 	at
> org.apache.fop.render.AbstractRenderer.renderText(AbstractRenderer.java:680)
> 	at
> org.apache.fop.render.pdf.PDFRenderer.renderText(PDFRenderer.java:1458)
>
> ......
>
> I have already try to add the jvm options in the ~/.foprc file
> this is my .foprc file:
> FOP_OPTS='-Xms200m -Xmx1024m -XX:-UseGCOverheadLimit'

You might want to track down how to set in the Java environment outside 
of FOP.

On RHEL /etc/java/java.conf looks to be the file.

> But I still get this exception. And I wander what is the "Line 1 of a
> paragraph overflows the available area by 25000mpt" means?

This is unrelated to your issue. it's FOP saying it couldn't fit the 
content inside the box constraints and wrote out side the box by a tiny 
bit. I think it's due to the way FOP does nested elements.

> By the way, is it possible for publican to start from the chapter 3
> rather than chapter 1?

No. It would be very difficult to get this to work at the publican level 
since you'd have to prevent people linking across different "chunks". 
It'd be best to handle it at the renderer level, FOP, but it can't do 
that AIUI.

If you are using publican >= 2.8 you could try installing wkhtmltopdf, 
it might handle the larger book size better. Once it's installed 
publican will detect it and use that instead of FOP.

> Because if I can not generate so big pdf file, I may try to generate
> several small pdf files, and I don't want all these small pdf files
> start from chapter 1.

Cheers, Jeff.

-- 
"Reply All" why you shouldn't use it: 
http://www.emailreplies.com/#12replytoall




More information about the publican-list mailing list