Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.7.1
-
Unknown
Description
Upgrading from 2.7.0. to 2.7.1 uncovers a stackoverflow in JAXBContextInitializer.addType when using a recursive type definition like
public static abstract class AddressEntity<T extends AddressEntity<T>> { public abstract Addressable<T> getEntity(); } public interface Addressable<T extends AddressEntity<T>>{}
java.lang.StackOverflowError at java.lang.Class.getDeclaredConstructor(Class.java:2001) at org.apache.cxf.common.util.ReflectionUtil$2.run(ReflectionUtil.java:67) at org.apache.cxf.common.util.ReflectionUtil$2.run(ReflectionUtil.java:64) at java.security.AccessController.doPrivileged(Native Method) at org.apache.cxf.common.util.ReflectionUtil.getDeclaredConstructor(ReflectionUtil.java:64) at org.apache.cxf.common.jaxb.JAXBUtils.getValidClass(JAXBUtils.java:518) at org.apache.cxf.jaxb.JAXBContextInitializer.addClass(JAXBContextInitializer.java:274) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:222) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:212) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:225) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:212) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:260) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:212) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:227) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:212) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:260) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:212) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:227) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:212) at org.apache.cxf.jaxb.JAXBContextInitializer.addType(JAXBContextInitializer.java:260) etc....