[ https://issues.apache.org/jira/browse/PDFBOX-2996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15025491#comment-15025491 ]
Lars Torunski commented on PDFBOX-2996: --------------------------------------- Your StackOverflowError is probably caused by the selection of the pivot in line T pivot = list.get(right); See https://en.wikipedia.org/wiki/Quicksort#Choice_of_pivot for more details. Your trace of the split() method points out the problem, because split=right The new iterative quicksort chooses the middle index of the partition by using int p = left + ((right-left)/2); and should solve your problem by choosing the middle index and avoiding the recursion. > StackOverflow in Quicksort > -------------------------- > > Key: PDFBOX-2996 > URL: https://issues.apache.org/jira/browse/PDFBOX-2996 > Project: PDFBox > Issue Type: Bug > Components: Text extraction > Affects Versions: 1.8.10, 2.0.0 > Environment: Java 7 > Reporter: Manuel Aristaran > Attachments: artikel1_20_arab.pdf-sorted-diff.txt, > artikel1_20_arab.pdf-sorted-iter.txt, artikel1_20_arab.pdf-sorted-rekur.txt, > failing_sort.pdf, quicksort.patch > > > Running PDFTextStripper through ExtractText triggers a StackOverflow > exception in the QuickSort implementation for [this particular > document|https://www.dropbox.com/s/6crie7y5gqadwa5/1.pdf?dl=0]. > To reproduce: {{java -jar pdfbox-app-1.8.11-SNAPSHOT.jar ExtractText -sort > failing_sort.pdf}} > (Related to PDFBOX-1512) -- 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