Hi, we are using Java Aspose library version 25.2 to convert Word docs to PDF in bulk.
Sometimes, we see our process hangs with high CPU usage for certain input Word docs.
The stack trace often looks like this:
at com.aspose.words.zzs1.zzXAV(Unknown Source)
at com.aspose.words.zzs1.zzzW(Unknown Source)
at com.aspose.words.zzs1.movePrevious(Unknown Source)
at com.aspose.words.zzzT.zzj2(Unknown Source)
at com.aspose.words.zzXzq.zzXDb(Unknown Source)
at com.aspose.words.zzXzq.zzr7(Unknown Source)
at com.aspose.words.zzXzq.zzVXw(Unknown Source)
at com.aspose.words.zzZn7.zzXDb(Unknown Source)
at com.aspose.words.zzZn7.zzWzC(Unknown Source)
at com.aspose.words.zzYO3.zznU(Unknown Source)
at com.aspose.words.zzYO3.zzXDb(Unknown Source)
at com.aspose.words.zzXjg.zzj2(Unknown Source)
at com.aspose.words.zzXjg.zzD3(Unknown Source)
at com.aspose.words.zzXjg.zzj2(Unknown Source)
at com.aspose.words.zzZVJ.zzZ20(Unknown Source)
at com.aspose.words.zzZVJ.zzj2(Unknown Source)
at com.aspose.words.zzYYS.zzXRq(Unknown Source)
at com.aspose.words.zzYYS.zzD3(Unknown Source)
at com.aspose.words.zzYYS.zzXDb(Unknown Source)
at com.aspose.words.zzZK3.zzZDo(Unknown Source)
at com.aspose.words.zzZK3.zzD3(Unknown Source)
at com.aspose.words.zzZK3.zzj2(Unknown Source)
at com.aspose.words.zzpI.zzYwb(Unknown Source)
at com.aspose.words.zzpI.zzWdD(Unknown Source)
at com.aspose.words.zzpI.zzWwl(Unknown Source)
at com.aspose.words.zzpI.zzYwb(Unknown Source)
at com.aspose.words.zzUl.zzYwb(Unknown Source)
at com.aspose.words.zzWy9.zzj2(Unknown Source)
at com.aspose.words.zzYBj.zzCB(Unknown Source)
at com.aspose.words.zzU2.zzXOv(Unknown Source)
at com.aspose.words.Document.updatePageLayout(Unknown Source)
at com.aspose.words.zzWbB.zzZIO(Unknown Source)
at com.aspose.words.zzw6.zzpO(Unknown Source)
at com.aspose.words.zzXnb.zzM7(Unknown Source)
at com.aspose.words.zzXnb.zzj2(Unknown Source)
at com.aspose.words.zzXnb.zzXDb(Unknown Source)
at com.aspose.words.zzXnb.zzWVC(Unknown Source)
at com.aspose.words.Document.zzWIp(Unknown Source)
at com.aspose.words.Document.zzj2(Unknown Source)
at com.aspose.words.Document.zzXDb(Unknown Source)
at com.aspose.words.Document.save(Unknown Source)
.......
Sample code to reproduce:
@Nonnull
public static com.aspose.words.Document loadDocument(@Nonnull byte[] docBytes)
throws IOException {
try {
return new com.aspose.words.Document(new ByteArrayInputStream(docBytes));
} catch (Exception e) {
throw new IOException("Could not load Word document", e);
}
}
String inputFile = "....../Concept report sample.docx";
File ff = new File(inputFile);
byte[] origFileBytes = < ... read the file bytes >
com.aspose.words.Document doc = loadDocument(origFileBytes);
com.aspose.words.PdfSaveOptions options = new com.aspose.words.PdfSaveOptions();
doc.save("abdde.pdf", options);