Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-4711

JAXBContextInitializer addType stopped handling recursive types (StackOverflow)

    XMLWordPrintableJSON

    Details

    • Estimated Complexity:
      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....
      

        Attachments

          Activity

            People

            • Assignee:
              dkulp Daniel Kulp
              Reporter:
              elferink Thijs Elferink
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: