[ https://issues.apache.org/jira/browse/PDFBOX-2824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14584212#comment-14584212 ]
ASF subversion and git services commented on PDFBOX-2824: --------------------------------------------------------- Commit 1685184 from [~tilman] in branch 'pdfbox/trunk' [ https://svn.apache.org/r1685184 ] PDFBOX-2824: remove unused cache > ArrayIndexOutOfBoundsException in GlyfSimpleDescript.readFlags() when > multithreading > ------------------------------------------------------------------------------------ > > Key: PDFBOX-2824 > URL: https://issues.apache.org/jira/browse/PDFBOX-2824 > Project: PDFBox > Issue Type: Bug > Components: FontBox > Affects Versions: 2.0.0 > Reporter: Tilman Hausherr > Assignee: John Hewson > Priority: Critical > Fix For: 2.0.0 > > Attachments: PDFBOX-2824.patch > > > From Kenneth K. in the mailing list: > I have a client application that convert pdf documents into single page tiff > images. Since the user export large quantities of documents I use a > multithreaded approach. Each thread loads it own document and converts the > pages one by one. > The pdf file is serialized to the client thread and then each thread executes > the following code. If I only use 1 thread there is no problem. I checked > to make sure objects are shared between threads. > {code} > docin = PDDocument.load(new > ByteArrayInputStream(documentResult.getImage().getContent()),true); > if(null==docin) > throw new Exception("Invalid PDF document or an occured during > retrieval"); > int numPages = docin.getNumberOfPages(); > String strPath = getPath(numPages); > int iPage = 0; > PDFRenderer renderer = new PDFRenderer(docin); > for (int i=0;i<numPages;i++) > { > PDPage page = docin.getPage(i); > PDRectangle rect = page.getMediaBox(); > BufferedImage pageImage = null; > pageImage = renderer.renderImageWithDPI(i, 200f, > ImageType.BINARY); > ... > } > {code} > {code} > Array index out of range: 8 > at > org.apache.fontbox.ttf.GlyfSimpleDescript.readFlags(GlyfSimpleDescript.java:202) > at > org.apache.fontbox.ttf.GlyfSimpleDescript.<init>(GlyfSimpleDescript.java:77) > at org.apache.fontbox.ttf.GlyphData.initData(GlyphData.java:58) > at org.apache.fontbox.ttf.GlyphTable.getGlyph(GlyphTable.java:161) > at > org.apache.pdfbox.rendering.TTFGlyph2D.getPathForGID(TTFGlyph2D.java:140) > at > org.apache.pdfbox.rendering.TTFGlyph2D.getPathForCharacterCode(TTFGlyph2D.java:92) > at > org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:333) > at > org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:314) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:731) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:690) > at org.apache.pdfbox.rendering.PageDrawer.showText(PageDrawer.java:296) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.showTextStrings(PDFStreamEngine.java:600) > at > org.apache.pdfbox.contentstream.operator.text.ShowTextAdjusted.process(ShowTextAdjusted.java:38) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:802) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:464) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:438) > at > org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149) > at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:179) > at > org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:205) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:136) > at > org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:95) > at > org.ilsos.cm.export.client.rmi.workers.Pdf2SinglePageTiff.processResult(Pdf2SinglePageTiff.java:142) > at > org.ilsos.cm.export.client.rmi.ExportWorker.run(ExportWorker.java:72) > at java.lang.Thread.run(Thread.java:784) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org