Hi,
We are using Aspose.PDF library for Java to convert PDF files to PDF/A-1b format. We have already processed thousands of documents up to 2GB in size. However, we got stuck on one particular document, which doesn’t work despite having a size of only 100MB. When calling the Document.validate() on it (see code snippet below), it periodically allocates more and more RAM, until it runs out of memory (see stack trace below). We have also updated to the latest version of the library (20.7.) but the same error occurs.
Code snippet:
Document document = new Document(filePath);
if (document.getPdfFormat() == PdfFormat.PDF_A_1B) {
LOGGER.trace("Document already in PDF/A-1b.");
} else {
LOGGER.trace("Converting document to PDF/A-1b.");
document.validate(task.getFileInDocDir("validation_log.xml").getPath(), PdfFormat.PDF_A_1B);
document.convert(task.getFileInDocDir("conversion_log.xml").getPath(), PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
document.save(filePath);
}
document.close();
Error stack trace:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.aspose.pdf.internal.ms.System.Collections.Generic.lf.lf(Unknown Source)
at com.aspose.pdf.internal.ms.System.Collections.Generic.lf.lI(Unknown Source)
at com.aspose.pdf.internal.ms.System.Collections.Generic.lf.set_Item(Unknown Source)
at com.aspose.pdf.internal.l4l.l0n.lf(Unknown Source)
at com.aspose.pdf.internal.l4l.l0n.a_(Unknown Source)
at com.aspose.pdf.internal.l4t.lj.lf(Unknown Source)
at com.aspose.pdf.internal.l4t.lI.lI(Unknown Source)
at com.aspose.pdf.internal.l4l.lv.lI(Unknown Source)
at com.aspose.pdf.internal.l4l.lh.lI(Unknown Source)
at com.aspose.pdf.internal.l4y.l1n.lb(Unknown Source)
at com.aspose.pdf.internal.l4j.lk.ld(Unknown Source)
at com.aspose.pdf.internal.l4j.lI.ld(Unknown Source)
at com.aspose.pdf.internal.l4j.lk.(Unknown Source)
at com.aspose.pdf.internal.l4j.lI.(Unknown Source)
at com.aspose.pdf.internal.l4j.lf.(Unknown Source)
at com.aspose.pdf.internal.l4p.lk.lI(Unknown Source)
at com.aspose.pdf.internal.l4y.l1h.l0if(Unknown Source)
at com.aspose.pdf.internal.l5if.ld.lj(Unknown Source)
at com.aspose.pdf.internal.l5if.lv.lb(Unknown Source)
at com.aspose.pdf.internal.l5if.lv.(Unknown Source)
at com.aspose.pdf.internal.l5if.ld.lI(Unknown Source)
at com.aspose.pdf.internal.l5if.ly.lI(Unknown Source)
at com.aspose.pdf.internal.l5if.ly.lb(Unknown Source)
at com.aspose.pdf.internal.l5if.ly.lu(Unknown Source)
at com.aspose.pdf.internal.l5if.ly.ly(Unknown Source)
at com.aspose.pdf.internal.l5if.l0t.lI(Unknown Source)
at com.aspose.pdf.internal.l5if.l0t.lI(Unknown Source)
at com.aspose.pdf.internal.l5if.l0t.le(Unknown Source)
at com.aspose.pdf.internal.l5if.l0t.(Unknown Source)
at com.aspose.pdf.internal.l5if.l0t.(Unknown Source)
at com.aspose.pdf.internal.l5if.l0t.(Unknown Source)
at com.aspose.pdf.internal.l8k.ly.lI(Unknown Source)
Thank you for your reply.
Marek