Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-2996

StackOverflow in Quicksort

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.8.10, 2.0.0
    • 1.8.11, 2.0.0
    • Text extraction
    • None
    • Java 7

    Description

      Running PDFTextStripper through ExtractText triggers a StackOverflow exception in the QuickSort implementation for this particular document.

      To reproduce: java -jar pdfbox-app-1.8.11-SNAPSHOT.jar ExtractText -sort failing_sort.pdf

      (Related to PDFBOX-1512)

      Attachments

        1. quicksort.patch
          3 kB
          Manuel Aristaran
        2. failing_sort.pdf
          14 kB
          Manuel Aristaran
        3. artikel1_20_arab.pdf-sorted-diff.txt
          5 kB
          Tilman Hausherr
        4. artikel1_20_arab.pdf-sorted-iter.txt
          59 kB
          Tilman Hausherr
        5. artikel1_20_arab.pdf-sorted-rekur.txt
          59 kB
          Tilman Hausherr
        6. 001991.pdf
          17 kB
          Tilman Hausherr
        7. QuickSort.java
          3 kB
          Lars Torunski
        8. Lars-v0-PDFBOX-2996.patch
          1 kB
          Lars Torunski
        9. Lars-v1-PDFBOX-2996.patch
          5 kB
          Lars Torunski
        10. Lars-v2-PDFBOX-2996.patch
          8 kB
          Lars Torunski
        11. artikel1_20_arab.pdf-sorted-bubble.txt
          59 kB
          Lars Torunski
        12. artikel1_20_arab.pdf-sorted-iter-withRightPivot.txt
          59 kB
          Lars Torunski
        13. artikel1_20_arab.pdf-sorted-java8-legacyMergeSort.txt
          59 kB
          Lars Torunski
        14. artikel1_20_arab.pdf-sorted-java8-timsort.txt
          59 kB
          Lars Torunski
        15. artikel1_20_arab.pdf-sorted-qs-iterative-withMiddlePivot.txt
          59 kB
          Lars Torunski
        16. artikel1_20_arab.pdf-sorted-qs-iterative-withRightPivot.txt
          59 kB
          Lars Torunski
        17. artikel1_20_arab.pdf-sorted-qs-recursive.txt
          59 kB
          Lars Torunski
        18. TestSortingAlgorithms.java
          2 kB
          Lars Torunski
        19. artikel1_20_arab.pdf-diffs.png
          88 kB
          Lars Torunski
        20. Basiswissen-Vorschriften.pdf-diffs.png
          96 kB
          Lars Torunski
        21. Basiswissen-Vorschriften.pdf-sorted-bubble.txt
          44 kB
          Lars Torunski
        22. Basiswissen-Vorschriften.pdf-sorted-java8-legacyMergeSort.txt
          44 kB
          Lars Torunski
        23. Basiswissen-Vorschriften.pdf-sorted-java8-timsort.txt
          32 kB
          Lars Torunski
        24. Basiswissen-Vorschriften.pdf-sorted-qs-iterative-withMiddlePivot.txt
          44 kB
          Lars Torunski
        25. Basiswissen-Vorschriften.pdf-sorted-qs-iterative-withRightPivot.txt
          44 kB
          Lars Torunski
        26. Basiswissen-Vorschriften.pdf-sorted-qs-recursive.txt
          44 kB
          Lars Torunski
        27. PDFBOX-1292.pdf-diffs.png
          97 kB
          Lars Torunski
        28. PDFBOX-1292.pdf-sorted-bubble.txt
          50 kB
          Lars Torunski
        29. PDFBOX-1292.pdf-sorted-java8-legacyMergeSort.txt
          50 kB
          Lars Torunski
        30. PDFBOX-1292.pdf-sorted-java8-timsort.txt
          18 kB
          Lars Torunski
        31. PDFBOX-1292.pdf-sorted-qs-iterative-withMiddlePivot.txt
          50 kB
          Lars Torunski
        32. PDFBOX-1292.pdf-sorted-qs-iterative-withRightPivot.txt
          50 kB
          Lars Torunski
        33. PDFBOX-1292.pdf-sorted-qs-recursive.txt
          50 kB
          Lars Torunski
        34. DNP2K2VFE3VUCAWHY242M3TIXCXIH24G.pdf
          382 kB
          Tilman Hausherr

        Issue Links

          Activity

            People

              Unassigned Unassigned
              maristaran Manuel Aristaran
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: