[ https://issues.apache.org/jira/browse/PDFBOX-1625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Bailleul updated PDFBOX-1625: --------------------------------------- Attachment: noclose-2.patch Here is a second patch, it contains the first one plus the modification on COSDocument. There is nothing to change in PDDocument (well .. I think) I am not sure cloning is the good option. In some use case, the memory usage will be too big. I think the good way is to have a RandomAccess manager, that keep state of all RandomAccess and ensure useful caching. This is hard to do with the current version of the COS layer but it could be interesting to discuss that in when we will rearchitect the COS layer (I am volunteer to work on that part but not alone) > java.lang.IndexOutOfBoundsException at writing PDF file > ------------------------------------------------------- > > Key: PDFBOX-1625 > URL: https://issues.apache.org/jira/browse/PDFBOX-1625 > Project: PDFBox > Issue Type: Bug > Components: Writing > Affects Versions: 1.8.2 > Environment: Linux, Java 7u21 > Reporter: Jens Kapitza > Assignee: Guillaume Bailleul > Priority: Minor > Attachments: noclose-2.patch, noclose.patch, pdftool.zip > > > I got this error: > i will just recreate a document with pages 1-6. > Exception in thread "main" java.io.IOException: > org.apache.pdfbox.exceptions.COSVisitorException: > java.lang.IndexOutOfBoundsException: Index: 115, Size: 0 > at > de.back2heaven.pdf.model.TargetDocumuent.save(TargetDocumuent.java:56) > at de.back2heaven.pdf.model.Document.prozess(Document.java:76) > at de.back2heaven.pdf.model.Document.main(Document.java:56) > Caused by: org.apache.pdfbox.exceptions.COSVisitorException: > java.lang.IndexOutOfBoundsException: Index: 115, Size: 0 > at > org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:1354) > at org.apache.pdfbox.cos.COSStream.accept(COSStream.java:217) > at org.apache.pdfbox.cos.COSObject.accept(COSObject.java:206) > at > org.apache.pdfbox.pdfwriter.COSWriter.doWriteObject(COSWriter.java:525) > at org.apache.pdfbox.pdfwriter.COSWriter.doWriteBody(COSWriter.java:435) > at > org.apache.pdfbox.pdfwriter.COSWriter.visitFromDocument(COSWriter.java:1122) > at org.apache.pdfbox.cos.COSDocument.accept(COSDocument.java:552) > at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1501) > at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1324) > at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1305) > at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1292) > at > de.back2heaven.pdf.model.TargetDocumuent.save(TargetDocumuent.java:54) > ... 2 more > Caused by: java.lang.IndexOutOfBoundsException: Index: 115, Size: 0 > at java.util.ArrayList.rangeCheck(ArrayList.java:604) > at java.util.ArrayList.get(ArrayList.java:382) > at > org.apache.pdfbox.io.RandomAccessBuffer.seek(RandomAccessBuffer.java:84) > at > org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96) > at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) > at java.io.BufferedInputStream.read1(BufferedInputStream.java:275) > at java.io.BufferedInputStream.read(BufferedInputStream.java:334) > at > org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:1337) > ... 13 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira