You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2023/06/17 17:17:00 UTC

[jira] [Resolved] (BCEL-368) java.lang.StackOverflowError in Select#toString

     [ https://issues.apache.org/jira/browse/BCEL-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary D. Gregory resolved BCEL-368.
----------------------------------
    Fix Version/s: 6.8.0
       Resolution: Fixed

> java.lang.StackOverflowError in Select#toString
> -----------------------------------------------
>
>                 Key: BCEL-368
>                 URL: https://issues.apache.org/jira/browse/BCEL-368
>             Project: Commons BCEL
>          Issue Type: Bug
>    Affects Versions: 6.7.0, 6.8.0
>            Reporter: Katherine Hough
>            Priority: Minor
>             Fix For: 6.8.0
>
>         Attachments: Test-1.class, Test.class
>
>
> Select#toString recurses infinitely when there is a self-reference in targets.
> Input: See attached file. 
> Output:
>  
> {code:java}
> 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)
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)