You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "kijong.youn (Jira)" <ji...@apache.org> on 2020/03/06 03:20:00 UTC

[jira] [Updated] (LANG-1524) TypeUtils.toString StackOverflowError on Enum type.

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

kijong.youn updated LANG-1524:
------------------------------
    Description: 
StackOverflowError occurred on toString with an enum type.

 

source:
{code:java}
public class Test<T extends Inner> {
  public static class Inner {
  }

  public static void main(final String[] args) {
    System.out.println(TypeUtils.toString(Inner.class));
  }
} {code}
result:
{code:java}
Exception in thread "main" java.lang.StackOverflowErrorException in thread "main" java.lang.StackOverflowError at java.lang.Class.getEnclosingMethodInfo(Class.java:1072) at java.lang.Class.getEnclosingClass(Class.java:1272) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1751) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1663) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1891) at org.apache.commons.lang3.reflect.TypeUtils.appendAllTo(TypeUtils.java:1882) at org.apache.commons.lang3.reflect.TypeUtils.typeVariableToString(TypeUtils.java:1775) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1672) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1891) at org.apache.commons.lang3.reflect.TypeUtils.appendAllTo(TypeUtils.java:1882) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1758) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1752)
...{code}
 

  was:
StackOverflowError occurred on toString with an enum type.

 

source:
{code:java}
public enum Test {
}
 
public static void main(final String[] args) {
 System.out.println(TypeUtils.toString(Test.class));
}
{code}
 

result:
{code:java}
Exception in thread "main" java.lang.StackOverflowErrorException in thread "main" java.lang.StackOverflowError at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:125) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649) at java.lang.StringBuilder.append(StringBuilder.java:202) at org.apache.commons.lang3.reflect.TypeUtils.parameterizedTypeToString(TypeUtils.java:1800) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1666) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1891) at org.apache.commons.lang3.reflect.TypeUtils.appendAllTo(TypeUtils.java:1882) at org.apache.commons.lang3.reflect.TypeUtils.typeVariableToString(TypeUtils.java:1775) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1672) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1891) at org.apache.commons.lang3.reflect.TypeUtils.appendAllTo(TypeUtils.java:1882) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1758) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1752) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1663) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1891) at org.apache.commons.lang3.reflect.TypeUtils.appendAllTo(TypeUtils.java:1882) at org.apache.commons.lang3.reflect.TypeUtils.typeVariableToString(TypeUtils.java:1775) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1672)
...{code}
 


> TypeUtils.toString StackOverflowError on Enum type.
> ---------------------------------------------------
>
>                 Key: LANG-1524
>                 URL: https://issues.apache.org/jira/browse/LANG-1524
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.reflect.*
>    Affects Versions: 3.9
>            Reporter: kijong.youn
>            Priority: Major
>
> StackOverflowError occurred on toString with an enum type.
>  
> source:
> {code:java}
> public class Test<T extends Inner> {
>   public static class Inner {
>   }
>   public static void main(final String[] args) {
>     System.out.println(TypeUtils.toString(Inner.class));
>   }
> } {code}
> result:
> {code:java}
> Exception in thread "main" java.lang.StackOverflowErrorException in thread "main" java.lang.StackOverflowError at java.lang.Class.getEnclosingMethodInfo(Class.java:1072) at java.lang.Class.getEnclosingClass(Class.java:1272) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1751) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1663) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1891) at org.apache.commons.lang3.reflect.TypeUtils.appendAllTo(TypeUtils.java:1882) at org.apache.commons.lang3.reflect.TypeUtils.typeVariableToString(TypeUtils.java:1775) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1672) at org.apache.commons.lang3.reflect.TypeUtils.toString(TypeUtils.java:1891) at org.apache.commons.lang3.reflect.TypeUtils.appendAllTo(TypeUtils.java:1882) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1758) at org.apache.commons.lang3.reflect.TypeUtils.classToString(TypeUtils.java:1752)
> ...{code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)