Mantis - Resin
Viewing Issue Advanced Details
5524 minor always 09-09-13 12:58 09-09-13 15:14
nam  
nam  
normal  
closed 7.0.0  
fixed  
none    
none 7.0.0  
0005524: JsonSerializerFactory StackOverFlowError when arg is a list
(rep by C. Mathias)

class A
{
  public void foo(List< B> list)
  {
  }
}

class B
{
  public void bar(List< A> list)
  {
  }
}
java.lang.StackOverflowError
  at sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature(SignatureParser.java:309)
  at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:291)
  at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:285)
  at sun.reflect.generics.parser.SignatureParser.parseTypeArgument(SignatureParser.java:438)
  at sun.reflect.generics.parser.SignatureParser.parseTypeArguments(SignatureParser.java:398)
  at sun.reflect.generics.parser.SignatureParser.parsePackageNameAndSimpleClassTypeSignature(SignatureParser.java:348)
  at sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature(SignatureParser.java:312)
  at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:291)
  at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:285)
  at sun.reflect.generics.parser.SignatureParser.parseTypeSignature(SignatureParser.java:487)
  at sun.reflect.generics.parser.SignatureParser.parseTypeSig(SignatureParser.java:190)
  at sun.reflect.generics.repository.FieldRepository.parse(FieldRepository.java:52)
  at sun.reflect.generics.repository.FieldRepository.parse(FieldRepository.java:42)
  at sun.reflect.generics.repository.AbstractRepository.<init>(AbstractRepository.java:74)
  at sun.reflect.generics.repository.FieldRepository.<init>(FieldRepository.java:48)
  at sun.reflect.generics.repository.FieldRepository.make(FieldRepository.java:66)
  at java.lang.reflect.Field.getGenericInfo(Field.java:99)
  at java.lang.reflect.Field.getGenericType(Field.java:237)
  at com.caucho.json.ser.JavaDeserializer.introspectFields(JavaDeserializer.java:124)
  at com.caucho.json.ser.JavaDeserializer.introspect(JavaDeserializer.java:75)
  at com.caucho.json.ser.JsonSerializerFactory.createDeserializer(JsonSerializerFactory.java:193)
  at com.caucho.json.ser.JsonSerializerFactory.getDeserializer(JsonSerializerFactory.java:139)
  at com.caucho.json.ser.JavaDeserializer.introspectFields(JavaDeserializer.java:157)
  at com.caucho.json.ser.JavaDeserializer.introspect(JavaDeserializer.java:75)
  at com.caucho.json.ser.JsonSerializerFactory.createDeserializer(JsonSerializerFactory.java:193)
  at com.caucho.json.ser.JsonSerializerFactory.getDeserializer(JsonSerializerFactory.java:139)
  at com.caucho.json.ser.JsonSerializerFactory.createDeserializer(JsonSerializerFactory.java:168)
  at com.caucho.json.ser.JsonSerializerFactory.getDeserializer(JsonSerializerFactory.java:139)
  at com.caucho.json.ser.JavaDeserializer.introspectFields(JavaDeserializer.java:157)
  at com.caucho.json.ser.JavaDeserializer.introspect(JavaDeserializer.java:75)
  at com.caucho.json.ser.JsonSerializerFactory.createDeserializer(JsonSerializerFactory.java:193)
  at com.caucho.json.ser.JsonSerializerFactory.getDeserializer(JsonSerializerFactory.java:139)
  at com.caucho.json.ser.JavaDeserializer.introspectFields(JavaDeserializer.java:157)
  at com.caucho.json.ser.JavaDeserializer.introspect(JavaDeserializer.java:75)
  at com.caucho.json.ser.JsonSerializerFactory.createDeserializer(JsonSerializerFactory.java:193)
  at com.caucho.json.ser.JsonSerializerFactory.getDeserializer(JsonSerializerFactory.java:139)
  at com.caucho.json.ser.JsonSerializerFactory.createDeserializer(JsonSerializerFactory.java:168)
  at com.caucho.json.ser.JsonSerializerFactory.getDeserializer(JsonSerializerFactory.java:139)
  at com.caucho.json.ser.JavaDeserializer.introspectFields(JavaDeserializer.java:157)
  at com.caucho.json.ser.JavaDeserializer.introspect(JavaDeserializer.java:75)
  at com.caucho.json.ser.JsonSerializerFactory.createDeserializer(JsonSerializerFactory.java:193)
  at com.caucho.json.ser.JsonSerializerFactory.getDeserializer(JsonSerializerFactory.java:139)
  at com.caucho.json.ser.JavaDeserializer.introspectFields(JavaDeserializer.java:157)
  at com.caucho.json.ser.JavaDeserializer.introspect(JavaDeserializer.java:75)

...

Notes
(0006321)
nam   
09-09-13 15:14   
json/1133