You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pdfbox.apache.org by katneni ravikiran <ka...@gmail.com> on 2021/08/12 11:27:39 UTC

Fwd: Stack overflow error while writing PDF document with 1500 pages

Hi PDFBox Team,

We are facing a problem with the larger PDF files generated by PDFBox. When
looking into the 3.0.0-RC1 release notes, the following item is
mentioned  "[PDFBOX-4952]
- PDF compression - object stream creation" .

When I tried with 3.0.0.RC1, compression was happening and the file size
was small compared to the 2.x version.

But when I tried to export a medium sized file of 1500 pages then saving
PDDcouemnt.save is failing with a stack overflow error. Seems like the
entire object tree is loaded into the stack recursively before writing into
the file.

*"Caused by: java.lang.StackOverflowError*











































* at java.util.HashMap.hash(HashMap.java:339) at
java.util.HashMap.containsKey(HashMap.java:596) at
org.apache.pdfbox.pdfwriter.compress.COSObjectPool.contains(COSObjectPool.java:137)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addObjectToPool(COSWriterCompressionPool.java:94)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:146)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)*
*at
org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)"*


Is this a known issue? Is there any plan to fix it?

Thanks & Regards,
Ravikiran

Re: Fwd: Stack overflow error while writing PDF document with 1500 pages

Posted by Tilman Hausherr <TH...@t-online.de>.
Please attach your file into that issue
https://issues.apache.org/jira/browse/PDFBOX-4952

If you can't attach the file (happens sometimes), then upload it to a 
sharehoster and post the link there.

(But make sure it isn't related to you running pdfbox in some tiny 
system, i.e. try increasing stack size first)

Tilman

Am 12.08.2021 um 13:27 schrieb katneni ravikiran:
> Hi PDFBox Team,
>
> We are facing a problem with the larger PDF files generated by PDFBox. When
> looking into the 3.0.0-RC1 release notes, the following item is
> mentioned  "[PDFBOX-4952]
> - PDF compression - object stream creation" .
>
> When I tried with 3.0.0.RC1, compression was happening and the file size
> was small compared to the 2.x version.
>
> But when I tried to export a medium sized file of 1500 pages then saving
> PDDcouemnt.save is failing with a stack overflow error. Seems like the
> entire object tree is loaded into the stack recursively before writing into
> the file.
>
> *"Caused by: java.lang.StackOverflowError*
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> * at java.util.HashMap.hash(HashMap.java:339) at
> java.util.HashMap.containsKey(HashMap.java:596) at
> org.apache.pdfbox.pdfwriter.compress.COSObjectPool.contains(COSObjectPool.java:137)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addObjectToPool(COSWriterCompressionPool.java:94)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:146)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)
> at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addStructure(COSWriterCompressionPool.java:168)*
> *at
> org.apache.pdfbox.pdfwriter.compress.COSWriterCompressionPool.addCOSDictionary(COSWriterCompressionPool.java:196)"*
>
>
> Is this a known issue? Is there any plan to fix it?
>
> Thanks & Regards,
> Ravikiran
>


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