[ https://issues.apache.org/jira/browse/PDFBOX-808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12906049#action_12906049 ]
Martin Hilpert commented on PDFBOX-808: --------------------------------------- Ehm, you just exchanged while( (amountRead = read( data, totalAmountRead, numberOfBytes-totalAmountRead ) ) != -1 && totalAmountRead < numberOfBytes ) { totalAmountRead += amountRead; with while(totalAmountRead < numberOfBytes && (amountRead = read( data, totalAmountRead, numberOfBytes-totalAmountRead ) ) != -1 ) { totalAmountRead += amountRead; How should this change anything? This is a boolean AND operation so both operands need to be true. And even though "amountRead" might be changed, this doesn't change anything for the whole loop condition. Can you supply a current JAR so that I can test it? (Then I don't have to go through the process of learning how to check the source out, compile it hopefully without erros.) > PDTrueTypeFont.loadTTF() freezes (at TTFDataStream.java:195) > ------------------------------------------------------------ > > Key: PDFBOX-808 > URL: https://issues.apache.org/jira/browse/PDFBOX-808 > Project: PDFBox > Issue Type: Bug > Components: FontBox > Affects Versions: 1.2.1 > Environment: PDFBox 1.2.1, JDK 1.6.0_21, Windows XP 32 Bit. > Reporter: Martin Hilpert > Assignee: Jukka Zitting > Priority: Critical > Fix For: 1.3.0 > > > Sometimes (not always), my app "freezes". When I look into jVisualVM thread > dump, I see this stack trace: > java.lang.Thread.State: RUNNABLE > at org.apache.fontbox.ttf.TTFDataStream.read(TTFDataStream.java:195) > at > org.apache.fontbox.ttf.TTFDataStream.readString(TTFDataStream.java:69) > at > org.apache.fontbox.ttf.TTFDataStream.readString(TTFDataStream.java:57) > at > org.apache.fontbox.ttf.PostScriptTable.initData(PostScriptTable.java:104) > at org.apache.fontbox.ttf.TTFParser.parseTTF(TTFParser.java:140) > at org.apache.fontbox.ttf.TTFParser.parseTTF(TTFParser.java:87) > at > org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadDescriptorDictionary(PDTrueTypeFont.java:206) > at > org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:167) > at > org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:143) > at > org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:130) > It never returns and blocks the application from continuing. This hapend > several times now every few hours. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.