You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "MINAKAMI Hiroki (JIRA)" <ji...@apache.org> on 2018/03/26 13:48:00 UTC
[jira] [Created] (PDFBOX-4167) OutOfMemoryError on FlateFilter -
Deflater.end() is missing
MINAKAMI Hiroki created PDFBOX-4167:
---------------------------------------
Summary: OutOfMemoryError on FlateFilter - Deflater.end() is missing
Key: PDFBOX-4167
URL: https://issues.apache.org/jira/browse/PDFBOX-4167
Project: PDFBox
Issue Type: Bug
Components: Writing
Affects Versions: 2.0.9, 2.0.8
Environment: Windows 7 x64, Java 8 SE
Reporter: MINAKAMI Hiroki
While creating some large PDF documents by PDFBox 2.0.8 and 2.0.9, I met an OutOfMemoryError on FlateFilter.encode().
While creating some small PDF documents, there are no problems.
I checked the source code of org.apache.pdfbox.filter.FlateFilter.java, and I found that calling of Deflater.end() method is missing.
When DeflaterOutputStream object is created by the 'new DeflaterOutputStream(encoded,deflater)' constructor method (i.e. 'custom deflater' is given),
DeflaterOutputStream.close() API does *not* call 'deflater.end()' method automatically.
Deflater.end() method may be called by the finalizer at GC, of cource, but the timing of GC is undecidable by user. So 'deflater.end()' method should be called explicitly. Otherwise it may cause an OutOfMemoryError.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org