Uploaded image for project: 'Commons BCEL'
  1. Commons BCEL
  2. BCEL-368

java.lang.StackOverflowError in Select#toString

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 6.7.0
    • 6.8.0
    • None
    • None

    Description

      Select#toString recurses infinitely when there is a self-reference in targets.

      Input: See attached file. 

      Output:

       

      Apache Commons BCEL
      https://commons.apache.org/bcel
      Now verifying: Test
      Pass 1:
      VERIFIED_OK
      Passed verification.
      Pass 2:
      VERIFIED_OK
      Passed verification.
      Pass 3a, method number 0 ['public static void s()']:
      VERIFIED_OK
      Passed verification.
      Exception in thread "main" java.lang.StackOverflowError
              at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:828)
              at java.base/java.lang.StringBuilder.append(StringBuilder.java:253)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:585)
              at org.apache.bcel.generic.BranchInstruction.toString(BranchInstruction.java:206)
              at org.apache.bcel.generic.Select.toString(Select.java:308)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
              at org.apache.bcel.generic.Instruction.toString(Instruction.java:572)
              at org.apache.bcel.generic.Select.toString(Select.java:313)
      

       

      Attachments

        1. Test.class
          0.1 kB
          Katherine Hough
        2. Test-1.class
          0.2 kB
          Katherine Hough

        Issue Links

          Activity

            People

              Unassigned Unassigned
              katherine-hough Katherine Hough
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: