FasterXML / jackson-databind

General data-binding package for Jackson (2.x): works on streaming API (core) implementation(s)
Apache License 2.0
3.51k stars 1.37k forks source link

Infinite loop on TypeBindings.equals(Object) line: 197 + ResolvedRecursiveType(ResolvedType).equals(Object) line: 278 #612

Closed ceefour closed 8 years ago

ceefour commented 9 years ago

Using jackson 2.4.3. The following:

public class ImageObject extends Thing<ImageObject> {

    private static final long serialVersionUID = 1L;

    private String attachmentBase64;

    /**
     * For uploading image using base64 encoded attachment.
     */
    public String getAttachmentBase64() {
        return attachmentBase64;
    }

    public void setAttachmentBase64(String attachmentBase64) {
        this.attachmentBase64 = attachmentBase64;
    }

}

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({"id", "name", "description", "image", "url",
    "additionalType", "alternateName", "potentialAction", "sameAs"})
@SuppressWarnings("unchecked")
public class Thing<C extends IThing> extends ResourceSupport 
    implements IThing, Serializable {

    public static final long serialVersionUID = 1L;

    @JsonProperty("image") @JsonInclude(Include.NON_EMPTY)
    public List<ImageObject> images = new ArrayList<>();
...

public class Product extends Thing<Product> implements IProduct {

Basically, a Thing contains a list of ImageObject (initialized to empty ArrayList), while ImageObject itself is a Thing.

resulted in infinite loop:

Thread [main] (Suspended)   
    owns: ResolvedTypeCache  (id=470)   
    TypeBindings.equals(Object) line: 197   
    ResolvedRecursiveType(ResolvedType).equals(Object) line: 278    
    TypeBindings.equals(Object) line: 197   
    ResolvedRecursiveType(ResolvedType).equals(Object) line: 278    
......REPEATS MANY TIMES.......
    TypeBindings.equals(Object) line: 197   
    ResolvedRecursiveType(ResolvedType).equals(Object) line: 278    
    ResolvedTypeCache$Key.equals(Object) line: 116  
    HashMap$TreeNode.find(int, Object, Class<?>) line: 1851 
    HashMap$TreeNode.find(int, Object, Class<?>) line: 1861 
    HashMap$TreeNode.find(int, Object, Class<?>) line: 1861 
    HashMap$TreeNode.getTreeNode(int, Object) line: 1873    
    ResolvedTypeCache$CacheMap(HashMap).getNode(int, Object) line: 575  
    ResolvedTypeCache$CacheMap(LinkedHashMap).get(Object) line: 440 
    ResolvedTypeCache.find(ResolvedTypeCache$Key) line: 38  
    TypeResolver._fromClass(ClassStack, Class<?>, TypeBindings) line: 349   
    TypeResolver._fromAny(TypeResolver$ClassStack, Type, TypeBindings) line: 299    
    TypeResolver.resolve(TypeBindings, Type) line: 173  
    ResolvedTypeWithMembers.resolveField(RawField) line: 424    
    ResolvedTypeWithMembers.resolveMemberFields() line: 273 
    ResolvedTypeWithMembers.getMemberFields() line: 176 
    FieldProvider.in(ResolvedType) line: 28 
    FieldModelPropertyProvider.propertiesForSerialization(ResolvedType) line: 55    
    DefaultModelPropertiesProvider.propertiesForSerialization(ResolvedType) line: 31    
    ModelDependencyProvider.propertiesFor(ModelContext, ResolvedType) line: 113 
    ModelDependencyProvider.resolvedPropertiesAndFields(ModelContext, ResolvedType) line: 88    
    ModelDependencyProvider.resolvedDependencies(ModelContext) line: 69 
    ModelDependencyProvider.resolvedTypeParameters(ModelContext, ResolvedType) line: 77 
    ModelDependencyProvider.resolvedDependencies(ModelContext) line: 68 
    ModelDependencyProvider.resolvedTypeParameters(ModelContext, ResolvedType) line: 77 
......REPEATS MANY TIMES.......
    ModelDependencyProvider.resolvedDependencies(ModelContext) line: 68 
    ModelDependencyProvider.resolvedPropertiesAndFields(ModelContext, ResolvedType) line: 102   
    ModelDependencyProvider.resolvedDependencies(ModelContext) line: 69 
    ModelDependencyProvider.resolvedPropertiesAndFields(ModelContext, ResolvedType) line: 102   
    ModelDependencyProvider.resolvedDependencies(ModelContext) line: 69 
......REPEATS MANY TIMES.......
    ModelDependencyProvider.resolvedPropertiesAndFields(ModelContext, ResolvedType) line: 102   
    ModelDependencyProvider.resolvedDependencies(ModelContext) line: 69 
    ModelDependencyProvider.resolvedPropertiesAndFields(ModelContext, ResolvedType) line: 106   
    ModelDependencyProvider.resolvedDependencies(ModelContext) line: 69 
    ModelDependencyProvider.dependentModels(ModelContext) line: 36  
    DefaultModelProvider.dependencies(ModelContext) line: 80    
    ApiModelReader.populateDependencies(ModelContext, Map<String,Model>) line: 176  
    ApiModelReader.execute(RequestMappingContext) line: 77  
    ApiModelReader.execute(Object) line: 36 
    CommandExecutor.execute(List<Command<C>>, CommandContext<T>) line: 13   
    ApiListingScanner.scan() line: 96   
    SwaggerApiResourceListing.initialize() line: 71 
    SwaggerSpringMvcPlugin.initialize() line: 361   
    SwaggerPluginAdapter.onApplicationEvent(ContextRefreshedEvent) line: 43 
    SwaggerPluginAdapter.onApplicationEvent(ApplicationEvent) line: 21  
    SimpleApplicationEventMulticaster.invokeListener(ApplicationListener, ApplicationEvent) line: 151   
    SimpleApplicationEventMulticaster.multicastEvent(ApplicationEvent) line: 128    
    AnnotationConfigEmbeddedWebApplicationContext(AbstractApplicationContext).publishEvent(ApplicationEvent) line: 331  
    AnnotationConfigEmbeddedWebApplicationContext(AbstractApplicationContext).finishRefresh() line: 773 
    AnnotationConfigEmbeddedWebApplicationContext(EmbeddedWebApplicationContext).finishRefresh() line: 131  
    AnnotationConfigEmbeddedWebApplicationContext(AbstractApplicationContext).__refresh() line: 483 
    AnnotationConfigEmbeddedWebApplicationContext(AbstractApplicationContext).refresh() line: not available 
    AnnotationConfigEmbeddedWebApplicationContext(EmbeddedWebApplicationContext).refresh() line: 109    
    SpringApplication.refresh(ApplicationContext) line: 691 
    SpringApplication.run(String...) line: 320  
    SpringApplicationBuilder.run(String...) line: 142   
    ProductApiApplication.main(String[]) line: 43   

Workaround: If ImageObject doesn't extend Thing, everything's fine.

cowtowncoder commented 9 years ago

Thanks. Certainly not working way it should. One of many issues that would be resolved if we could find a way to use java-classmate for type resolution. But until then, at least need to find a way to prevent Stack Overflows...

cowtowncoder commented 9 years ago

Actually, I am not quite sure where the stack trace comes from. Ironically it looks like java-classmate was actually used, but maybe that comes via a Swagger dependency? Also, need to make sure it's latest version (or at least 1.1.0).

So I think this is not a straight Jackson bug, and I'd need bit more information on components in question.

ceefour commented 9 years ago

Yes I'm using swagger 0.8.8 here.

I'll post a dependency tree tomorrow.

On Fri, Nov 14, 2014, 01:53 Tatu Saloranta notifications@github.com wrote:

Actually, I am not quite sure where the stack trace comes from. Ironically it looks like java-classmate was actually used, but maybe that comes via a Swagger dependency? Also, need to make sure it's latest version (or at least 1.1.0).

So I think this is not a straight Jackson bug, and I'd need bit more information on components in question.

— Reply to this email directly or view it on GitHub https://github.com/FasterXML/jackson-databind/issues/612#issuecomment-62945233 .

ceefour commented 9 years ago

I reproduced it again on another case.

Meaning the circular relation is:

ImageObject -> .width -> QuantitativeValue -> .images -> ImageObject...

Here's my dependency tree:

[INFO] id.co.bippo.commerce:id.co.bippo.product.rs:jar:6.1.0-SNAPSHOT
[INFO] +- id.co.bippo.commerce:id.co.bippo.product:jar:6.1.0-SNAPSHOT:compile
[INFO] |  +- org.jsoup:jsoup:jar:1.8.1:compile
[INFO] |  +- org.soluvas:org.soluvas.category:jar:2.2.0-SNAPSHOT:compile
[INFO] |  +- org.soluvas:org.soluvas.data:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  \- org.scala-lang:scala-library:jar:2.10.2:compile
[INFO] |  +- org.soluvas:org.soluvas.mongo:jar:2.2.0-SNAPSHOT:compile
[INFO] |  +- org.soluvas:org.soluvas.social:jar:2.2.0-SNAPSHOT:compile
[INFO] |  +- id.co.bippo.commerce:id.co.bippo.common:jar:6.1.0-SNAPSHOT:compile
[INFO] |  |  +- org.soluvas:org.soluvas.schedule:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  |  +- org.springframework:spring-context-support:jar:4.1.2.RELEASE:compile
[INFO] |  |  |  \- org.quartz-scheduler:quartz:jar:2.2.1:compile
[INFO] |  |  +- org.soluvas:org.soluvas.socmed:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  |  +- com.restfb:restfb:jar:1.6.16:compile
[INFO] |  |  |  |  \- org.apache.maven.plugins:maven-failsafe-plugin:maven-plugin:2.17:compile
[INFO] |  |  |  |     +- org.apache.maven:maven-plugin-api:jar:2.0.9:compile
[INFO] |  |  |  |     +- org.apache.maven.surefire:maven-surefire-common:jar:2.17:compile
[INFO] |  |  |  |     |  +- org.apache.maven.surefire:surefire-booter:jar:2.17:compile
[INFO] |  |  |  |     |  +- org.apache.maven:maven-artifact:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  \- org.codehaus.plexus:plexus-utils:jar:1.5.1:compile
[INFO] |  |  |  |     |  +- org.apache.maven:maven-plugin-descriptor:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  \- org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
[INFO] |  |  |  |     |  +- org.apache.maven:maven-project:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven:maven-settings:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven:maven-profile:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven:maven-artifact-manager:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  \- org.apache.maven:maven-plugin-registry:jar:2.0.9:compile
[INFO] |  |  |  |     |  +- org.apache.maven:maven-model:jar:2.0.9:compile
[INFO] |  |  |  |     |  +- org.apache.maven:maven-core:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven.reporting:maven-reporting-api:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven:maven-repository-metadata:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven:maven-error-diagnostics:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  +- org.apache.maven:maven-monitor:jar:2.0.9:compile
[INFO] |  |  |  |     |  |  \- classworlds:classworlds:jar:1.1:compile
[INFO] |  |  |  |     |  \- org.apache.maven:maven-toolchain:jar:2.0.9:compile
[INFO] |  |  |  |     +- org.apache.maven.surefire:surefire-api:jar:2.17:compile
[INFO] |  |  |  |     \- org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.2:compile
[INFO] |  |  |  \- org.twitter4j:twitter4j-core:jar:3.0.3:compile
[INFO] |  |  +- org.soluvas:org.soluvas.email:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  |  +- com.github.spullara.mustache.java:compiler:jar:0.8.14:compile
[INFO] |  |  |  \- org.apache.commons:commons-email:jar:1.3.2:compile
[INFO] |  |  |     \- javax.activation:activation:jar:1.1:compile
[INFO] |  |  +- org.soluvas:org.soluvas.security:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  |  \- org.apache.shiro:shiro-web:jar:1.2.3:compile
[INFO] |  |  +- org.soluvas:org.soluvas.web.site:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  |  +- org.soluvas:org.soluvas.geo:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  |  |  +- com.googlecode.concurrent-trees:concurrent-trees:jar:2.4.0:compile
[INFO] |  |  |  |  +- net.sf.opencsv:opencsv:jar:2.3:compile
[INFO] |  |  |  |  +- org.geotoolkit:geotk-referencing:jar:3.20-geoapi-3.0:compile
[INFO] |  |  |  |  |  +- java3d:vecmath:jar:1.3.1:compile
[INFO] |  |  |  |  |  +- org.opengis:geoapi:jar:3.0.0:compile
[INFO] |  |  |  |  |  +- org.geotoolkit:geotk-utility:jar:3.20-geoapi-3.0:compile
[INFO] |  |  |  |  |  +- org.geotoolkit:geotk-metadata:jar:3.20-geoapi-3.0:compile
[INFO] |  |  |  |  |  |  \- org.geotoolkit:geotk-xml-base:jar:3.20-geoapi-3.0:compile
[INFO] |  |  |  |  |  \- net.jcip:jcip-annotations:jar:1.0:compile
[INFO] |  |  |  |  \- org.geotoolkit:geotk-logging-commons:jar:3.20-geoapi-3.0:runtime
[INFO] |  |  |  +- org.pegdown:pegdown:jar:1.4.2:compile
[INFO] |  |  |  |  \- org.parboiled:parboiled-java:jar:1.1.6:compile
[INFO] |  |  |  |     +- org.parboiled:parboiled-core:jar:1.1.6:compile
[INFO] |  |  |  |     +- org.ow2.asm:asm:jar:4.2:compile (version managed from 4.1)
[INFO] |  |  |  |     +- org.ow2.asm:asm-tree:jar:4.2:compile (version managed from 4.1)
[INFO] |  |  |  |     +- org.ow2.asm:asm-analysis:jar:4.2:compile (version managed from 4.1)
[INFO] |  |  |  |     \- org.ow2.asm:asm-util:jar:4.2:compile (version managed from 4.1)
[INFO] |  |  |  +- org.wicketstuff:wicketstuff-annotation:jar:6.17.0:compile
[INFO] |  |  |  |  \- org.apache.wicket:wicket:pom:6.17.0:compile
[INFO] |  |  |  +- org.apache.wicket:wicket-datetime:jar:6.17.0:compile
[INFO] |  |  |  |  \- org.apache.wicket:wicket-core:jar:6.17.0:compile
[INFO] |  |  |  |     +- org.apache.wicket:wicket-util:jar:6.17.0:compile
[INFO] |  |  |  |     \- org.apache.wicket:wicket-request:jar:6.17.0:compile
[INFO] |  |  |  +- org.apache.wicket.experimental.wicket6:wicket-atmosphere:jar:0.20:compile
[INFO] |  |  |  |  +- org.atmosphere:atmosphere-runtime:jar:2.1.8:compile
[INFO] |  |  |  |  +- org.webjars:jquery-atmosphere:jar:2.1.6:compile
[INFO] |  |  |  |  \- de.agilecoders.wicket.webjars:wicket-webjars:jar:0.4.3:compile (version managed from 0.4.2)
[INFO] |  |  |  |     \- org.reflections:reflections:jar:0.9.8:compile
[INFO] |  |  |  +- org.apache.wicket:wicket-spring:jar:6.17.0:compile
[INFO] |  |  |  |  \- org.apache.wicket:wicket-ioc:jar:6.17.0:compile
[INFO] |  |  |  \- org.apache.wicket:wicket-extensions:jar:6.17.0:compile
[INFO] |  |  +- org.soluvas:org.soluvas.newsletter:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  |  \- javax.mail:mail:jar:1.4.7:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-web:jar:1.1.9.RELEASE:compile
[INFO] |  |  |  +- org.springframework.boot:spring-boot-starter:jar:1.1.9.RELEASE:compile
[INFO] |  |  |  |  +- org.springframework.boot:spring-boot:jar:1.1.9.RELEASE:compile
[INFO] |  |  |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:1.1.9.RELEASE:compile
[INFO] |  |  |  |  \- org.springframework.boot:spring-boot-starter-logging:jar:1.1.9.RELEASE:compile
[INFO] |  |  |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.1.9.RELEASE:compile
[INFO] |  |  |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:7.0.56:compile
[INFO] |  |  |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:7.0.56:compile
[INFO] |  |  |  |  +- org.apache.tomcat.embed:tomcat-embed-logging-juli:jar:7.0.56:compile
[INFO] |  |  |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:7.0.56:compile
[INFO] |  |  |  +- org.hibernate:hibernate-validator:jar:5.1.3.Final:compile (version managed from 5.0.3.Final)
[INFO] |  |  |  \- org.springframework:spring-webmvc:jar:4.1.2.RELEASE:compile (version managed from 4.0.8.RELEASE)
[INFO] |  |  +- de.escalon.hypermedia:hydra-spring:jar:0.1.0:compile
[INFO] |  |  |  +- de.escalon.hypermedia:hydra-core:jar:0.1.0:compile
[INFO] |  |  |  \- org.springframework:spring-mock:jar:1.2.6:compile
[INFO] |  |  +- org.apache.shiro:shiro-spring:jar:1.2.3:compile
[INFO] |  |  +- com.mangofactory:swagger-springmvc:jar:0.8.8:compile
[INFO] |  |  |  +- com.wordnik:swagger-core_2.10:jar:1.3.5:compile
[INFO] |  |  |  |  +- com.fasterxml.jackson.module:jackson-module-jsonSchema:jar:2.1.0:compile
[INFO] |  |  |  |  +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.4.3:compile (version managed from 2.0.0)
[INFO] |  |  |  |  |  +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.4.3:compile
[INFO] |  |  |  |  |  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.4.3:compile
[INFO] |  |  |  |  +- com.wordnik:swagger-annotations:jar:1.3.5:compile
[INFO] |  |  |  |  +- org.json4s:json4s-ext_2.10:jar:3.2.5:compile
[INFO] |  |  |  |  |  \- org.joda:joda-convert:jar:1.2:compile
[INFO] |  |  |  |  +- org.json4s:json4s-native_2.10:jar:3.2.5:compile
[INFO] |  |  |  |  |  \- org.json4s:json4s-core_2.10:jar:3.2.5:compile
[INFO] |  |  |  |  |     +- org.json4s:json4s-ast_2.10:jar:3.2.5:compile
[INFO] |  |  |  |  |     \- org.scala-lang:scalap:jar:2.10.0:compile
[INFO] |  |  |  |  |        \- org.scala-lang:scala-compiler:jar:2.10.0:compile
[INFO] |  |  |  |  \- org.json4s:json4s-jackson_2.10:jar:3.2.5:compile
[INFO] |  |  |  +- com.mangofactory.swagger:swagger-models:jar:0.8.8:compile
[INFO] |  |  |  |  \- cglib:cglib-nodep:jar:3.1:compile
[INFO] |  |  |  \- com.fasterxml:classmate:jar:1.0.0:compile
[INFO] |  |  +- com.fasterxml.jackson.module:jackson-module-scala_2.10:jar:2.4.3:compile
[INFO] |  |  |  +- org.scala-lang:scala-reflect:jar:2.10.4:compile
[INFO] |  |  |  \- com.thoughtworks.paranamer:paranamer:jar:2.6:compile
[INFO] |  |  +- org.springframework.hateoas:spring-hateoas:jar:0.16.0.RELEASE:compile
[INFO] |  |  |  \- org.objenesis:objenesis:jar:2.1:compile
[INFO] |  |  +- org.springframework.plugin:spring-plugin-core:jar:1.1.0.RELEASE:compile
[INFO] |  |  +- org.hibernate:hibernate-entitymanager:jar:4.3.7.Final:compile
[INFO] |  |  +- net.sf.jasperreports:jasperreports:jar:5.1.0:compile
[INFO] |  |  |  +- commons-collections:commons-collections:jar:3.2.1:compile (version managed from 2.1)
[INFO] |  |  |  +- commons-digester:commons-digester:jar:2.1:compile
[INFO] |  |  |  +- jfree:jcommon:jar:1.0.15:compile
[INFO] |  |  |  +- jfree:jfreechart:jar:1.0.12:compile
[INFO] |  |  |  +- eclipse:jdtcore:jar:3.1.0:compile
[INFO] |  |  |  \- org.codehaus.castor:castor:jar:1.2:compile
[INFO] |  |  +- org.neo4j:neo4j-cypher:jar:1.9.4:compile
[INFO] |  |  |  +- org.neo4j:neo4j-lucene-index:jar:1.9.4:compile
[INFO] |  |  |  |  \- org.apache.lucene:lucene-core:jar:3.6.2:compile
[INFO] |  |  |  +- org.neo4j:neo4j-graph-matching:jar:1.9.4:compile
[INFO] |  |  |  +- org.neo4j:neo4j-kernel:jar:1.9.4:compile
[INFO] |  |  |  |  \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
[INFO] |  |  |  +- org.neo4j:neo4j-graph-algo:jar:1.9.4:compile
[INFO] |  |  |  \- com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.3.1:compile
[INFO] |  |  +- org.neo4j:neo4j-rest-graphdb:jar:1.9:compile
[INFO] |  |  |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile (version managed from 1.9.7)
[INFO] |  |  |  |  \- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
[INFO] |  |  |  +- org.neo4j:server-api:jar:1.9:compile
[INFO] |  |  |  |  \- commons-configuration:commons-configuration:jar:1.6:compile
[INFO] |  |  |  \- com.sun.jersey:jersey-client:jar:1.17.1:compile (version managed from 1.4)
[INFO] |  |  |     \- com.sun.jersey:jersey-core:jar:1.17.1:compile
[INFO] |  |  +- de.huxhorn.lilith:de.huxhorn.lilith.logback.appender.multiplex-classic:jar:0.9.44:runtime
[INFO] |  |  |  +- de.huxhorn.sulky:de.huxhorn.sulky.codec:jar:0.9.17:runtime
[INFO] |  |  |  |  \- de.huxhorn.sulky:de.huxhorn.sulky.io:jar:0.9.17:runtime
[INFO] |  |  |  +- de.huxhorn.lilith:de.huxhorn.lilith.logback.converter-classic:jar:0.9.44:runtime
[INFO] |  |  |  |  +- de.huxhorn.lilith:de.huxhorn.lilith.data.converter:jar:0.9.44:runtime
[INFO] |  |  |  |  +- de.huxhorn.lilith:de.huxhorn.lilith.logback.classic:jar:0.9.44:runtime
[INFO] |  |  |  |  \- de.huxhorn.lilith:de.huxhorn.lilith.data.logging:jar:0.9.44:runtime
[INFO] |  |  |  |     +- de.huxhorn.sulky:de.huxhorn.sulky.formatting:jar:0.9.17:runtime
[INFO] |  |  |  |     \- de.huxhorn.lilith:de.huxhorn.lilith.data.eventsource:jar:0.9.44:runtime
[INFO] |  |  |  +- de.huxhorn.lilith:de.huxhorn.lilith.logback.appender.multiplex-core:jar:0.9.44:runtime
[INFO] |  |  |  |  \- de.huxhorn.lilith:de.huxhorn.lilith.sender:jar:0.9.44:runtime
[INFO] |  |  |  \- de.huxhorn.lilith:de.huxhorn.lilith.data.logging.protobuf:jar:0.9.44:runtime
[INFO] |  |  |     \- com.google.protobuf:protobuf-java:jar:2.5.0:runtime
[INFO] |  |  \- org.apache.poi:poi:jar:3.10-FINAL:compile
[INFO] |  +- id.co.bippo.commerce:id.co.bippo.promotion:jar:6.1.0-SNAPSHOT:compile
[INFO] |  +- org.eclipse.jgit:org.eclipse.jgit:jar:3.3.1.201403241930-r:compile
[INFO] |  |  +- com.jcraft:jsch:jar:0.1.50:compile
[INFO] |  |  \- com.googlecode.javaewah:JavaEWAH:jar:0.7.9:compile
[INFO] |  +- org.apache.shiro:shiro-core:jar:1.2.3:compile
[INFO] |  +- org.eclipse.emf:org.eclipse.emf.ecore:jar:2.10.1-v20140901-1043:compile
[INFO] |  +- org.eclipse.emf:org.eclipse.emf.common:jar:2.10.1-v20140901-1043:compile
[INFO] |  +- org.joda:joda-money:jar:0.9.1:compile
[INFO] |  +- joda-time:joda-time:jar:2.3:compile
[INFO] |  +- org.mongodb:mongo-java-driver:jar:2.12.4:compile
[INFO] |  +- com.google.code.morphia:morphia:jar:0.99.1.soluvas2:compile
[INFO] |  \- com.google.code.morphia:morphia-logging-slf4j:jar:0.99:compile
[INFO] +- id.co.bippo.commerce:id.co.bippo.inventory:jar:6.1.0-SNAPSHOT:compile
[INFO] |  +- id.co.bippo.commerce:id.co.bippo.shop:jar:6.1.0-SNAPSHOT:compile
[INFO] |  +- org.springframework:spring-orm:jar:4.1.2.RELEASE:compile
[INFO] |  |  +- org.springframework:spring-core:jar:4.1.2.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-jdbc:jar:4.1.2.RELEASE:compile
[INFO] |  +- org.soluvas:org.soluvas.jpa:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  +- org.liquibase:liquibase-core:jar:3.3.0:compile
[INFO] |  |  |  \- org.yaml:snakeyaml:jar:1.13:compile
[INFO] |  |  \- org.jadira.usertype:usertype.core:jar:3.1.0.GA:compile
[INFO] |  |     \- org.jadira.usertype:usertype.spi:jar:3.1.0.GA:compile
[INFO] |  +- org.eclipse.emf:org.eclipse.emf.texo:jar:0.1.0-v201310021216:compile
[INFO] |  +- org.eclipse.emf:org.eclipse.emf.texo.server:jar:0.1.0-v201310021216:compile
[INFO] |  +- org.osgi:org.osgi.core:jar:4.3.1:compile
[INFO] |  +- org.postgresql:postgresql:jar:9.3-1102-jdbc41:compile
[INFO] |  +- org.jdbi:jdbi:jar:2.55:compile
[INFO] |  +- com.mchange:c3p0:jar:0.9.5-pre9:compile
[INFO] |  |  \- com.mchange:mchange-commons-java:jar:0.2.8:compile
[INFO] |  +- org.hibernate:hibernate-core:jar:4.3.7.Final:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile
[INFO] |  |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Final:compile
[INFO] |  |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  |  \- xml-apis:xml-apis:jar:1.4.01:compile (version managed from 1.0.b2)
[INFO] |  |  +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compile
[INFO] |  |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] |  |  +- org.javassist:javassist:jar:3.18.0-GA:compile (version managed from 3.18.1-GA)
[INFO] |  |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  |  \- org.jboss:jandex:jar:1.1.0.Final:compile
[INFO] |  +- org.springframework:spring-tx:jar:4.1.2.RELEASE:compile
[INFO] |  +- com.jaspersoft.studio.community-edition:com.jaspersoft.studio.data.mongodb:jar:5.1.0.soluvas4:compile
[INFO] |  |  +- com.lowagie:itext:jar:2.1.7:compile
[INFO] |  |  |  \- org.bouncycastle:bctsp-jdk14:jar:1.38:compile
[INFO] |  |  |     \- org.bouncycastle:bcmail-jdk14:jar:1.38:compile
[INFO] |  |  \- commons-pool:commons-pool:jar:1.6:compile
[INFO] |  +- org.slf4j:log4j-over-slf4j:jar:1.7.7:compile
[INFO] |  +- org.slf4j:jcl-over-slf4j:jar:1.7.7:compile
[INFO] |  \- org.slf4j:jul-to-slf4j:jar:1.7.7:compile
[INFO] +- org.springframework.sync:spring-sync:jar:1.0.0.M1:compile
[INFO] |  +- com.googlecode.java-diff-utils:diffutils:jar:1.2.1:compile
[INFO] |  +- commons-lang:commons-lang:jar:2.6:compile
[INFO] |  \- org.springframework:spring-web:jar:4.1.2.RELEASE:compile
[INFO] |     \- org.springframework:spring-aop:jar:4.1.2.RELEASE:compile
[INFO] |        \- aopalliance:aopalliance:jar:1.0:compile
[INFO] +- javax.enterprise:cdi-api:jar:1.0-SP4:compile
[INFO] |  +- org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:1.0.1.Final:compile (version managed from 1.0.0.Beta1)
[INFO] |  +- javax.annotation:jsr250-api:jar:1.0:compile
[INFO] |  \- javax.inject:javax.inject:jar:1:compile
[INFO] +- org.soluvas:org.soluvas.image:jar:2.2.0-SNAPSHOT:compile
[INFO] |  +- org.soluvas:org.soluvas.jaxrs:jar:2.2.0-SNAPSHOT:compile
[INFO] |  +- org.soluvas:org.soluvas.ldap:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  +- org.picketlink.idm:picketlink-idm-api:jar:1.5.0.Alpha02:compile
[INFO] |  |  |  \- org.picketlink.idm:picketlink-idm-common:jar:1.5.0.Alpha02:compile
[INFO] |  |  +- org.apache.jena:jena-arq:jar:2.12.1:compile
[INFO] |  |  |  +- org.apache.jena:jena-core:jar:2.12.1:compile
[INFO] |  |  |  |  +- org.apache.jena:jena-iri:jar:1.1.1:compile
[INFO] |  |  |  |  \- xerces:xercesImpl:jar:2.11.0:compile
[INFO] |  |  |  +- com.github.jsonld-java:jsonld-java:jar:0.5.0:compile
[INFO] |  |  |  +- org.apache.httpcomponents:httpclient-cache:jar:4.3.6:compile (version managed from 4.2.6)
[INFO] |  |  |  +- org.apache.thrift:libthrift:jar:0.9.1:compile
[INFO] |  |  |  \- org.apache.commons:commons-csv:jar:1.0:compile
[INFO] |  |  \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] |  +- org.soluvas:org.soluvas.couchdb:jar:2.2.0-SNAPSHOT:compile
[INFO] |  |  \- org.ektorp:org.ektorp.spring:jar:1.4.2:compile
[INFO] |  |     +- org.ektorp:org.ektorp:jar:1.4.2:compile
[INFO] |  |     \- org.aspectj:aspectjweaver:jar:1.6.9:compile
[INFO] |  +- org.springframework:spring-beans:jar:4.1.2.RELEASE:compile
[INFO] |  +- org.springframework:spring-context:jar:4.1.2.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-expression:jar:4.1.2.RELEASE:compile
[INFO] |  +- com.damnhandy:handy-uri-templates:jar:2.0.1:compile
[INFO] |  +- org.apache.commons:commons-exec:jar:1.3:compile
[INFO] |  +- org.apache.karaf.shell:org.apache.karaf.shell.console:jar:2.2.9:compile
[INFO] |  |  +- jline:jline:jar:2.7:compile
[INFO] |  |  +- org.fusesource.jansi:jansi:jar:1.9:compile
[INFO] |  |  +- org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:2.2.9:compile
[INFO] |  |  |  +- org.apache.karaf.jaas:org.apache.karaf.jaas.config:jar:2.2.9:compile
[INFO] |  |  |  +- org.apache.karaf.jaas:org.apache.karaf.jaas.boot:jar:2.2.9:compile
[INFO] |  |  |  \- org.apache.karaf:org.apache.karaf.util:jar:2.2.9:compile
[INFO] |  |  +- org.apache.aries.blueprint:org.apache.aries.blueprint:jar:0.3.2:compile
[INFO] |  |  |  +- org.apache.aries:org.apache.aries.util:jar:0.3:compile
[INFO] |  |  |  +- org.apache.aries.testsupport:org.apache.aries.testsupport.unit:jar:0.3:compile
[INFO] |  |  |  \- org.apache.aries.proxy:org.apache.aries.proxy.api:jar:0.3:compile
[INFO] |  |  \- org.apache.felix:org.apache.felix.gogo.runtime:jar:0.10.0:compile
[INFO] |  +- org.antlr:stringtemplate:jar:4.0.2:compile
[INFO] |  |  \- org.antlr:antlr-runtime:jar:3.3:compile
[INFO] |  +- javax.ws.rs:jsr311-api:jar:1.1.1:compile
[INFO] |  +- net.coobird:thumbnailator:jar:0.4.1:compile
[INFO] |  +- org.apache.httpcomponents:httpclient:jar:4.3.6:compile
[INFO] |  |  \- commons-codec:commons-codec:jar:1.7:compile (version managed from 1.6)
[INFO] |  +- org.apache.httpcomponents:httpcore:jar:4.3.3:compile
[INFO] |  +- commons-io:commons-io:jar:2.4:compile
[INFO] |  \- com.google.guava:guava:jar:18.0:compile
[INFO] +- org.soluvas:org.soluvas.commons:jar:2.2.0-SNAPSHOT:compile
[INFO] |  +- com.codahale.metrics:metrics-core:jar:3.0.2:compile
[INFO] |  +- com.rabbitmq:amqp-client:jar:2.8.2:compile
[INFO] |  +- com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.4.3:compile
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.4.3:compile
[INFO] |  +- com.fasterxml.jackson.datatype:jackson-datatype-guava:jar:2.4.3:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.4.3:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.4.3:compile
[INFO] |  +- commons-beanutils:commons-beanutils:jar:1.8.3:compile
[INFO] |  +- org.apache.commons:commons-lang3:jar:3.3.2:compile
[INFO] |  +- org.jscience:jscience:jar:4.3.1:compile
[INFO] |  |  \- org.javolution:javolution:jar:5.2.3:compile
[INFO] |  +- org.eclipse.emf:org.eclipse.emf.ecore.xmi:jar:2.10.1-v20140901-1043:compile
[INFO] |  \- org.osgi:org.osgi.compendium:jar:4.3.1:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.7:compile
[INFO] +- ch.qos.logback:logback-classic:jar:1.1.2:runtime (scope not updated to compile)
[INFO] |  \- ch.qos.logback:logback-core:jar:1.1.2:runtime
[INFO] +- org.mockito:mockito-core:jar:1.10.8:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.1:test
[INFO] +- javax.servlet:javax.servlet-api:jar:3.0.1:provided
[INFO] +- com.jayway.jsonpath:json-path:jar:0.9.1:test
[INFO] |  \- net.minidev:json-smart:jar:1.2:test
[INFO] +- org.springframework:spring-test:jar:4.1.2.RELEASE:test
[INFO] +- com.google.code.findbugs:jsr305:jar:3.0.0:compile
[INFO] +- org.hamcrest:hamcrest-all:jar:1.3:test
[INFO] \- junit:junit:jar:4.11:test
ceefour commented 9 years ago

I upgraded to swagger-springmvc 0.9.1, and still happens. So is this jackson's or swagger's bug?

main@1, prio=5, in group 'main', status: 'RUNNING'
      at com.fasterxml.jackson.databind.util.ClassUtil._addSuperTypes(ClassUtil.java:46)
      at com.fasterxml.jackson.databind.util.ClassUtil._addSuperTypes(ClassUtil.java:48)
      at com.fasterxml.jackson.databind.util.ClassUtil._addSuperTypes(ClassUtil.java:48)
      at com.fasterxml.jackson.databind.util.ClassUtil._addSuperTypes(ClassUtil.java:48)
      at com.fasterxml.jackson.databind.util.ClassUtil.findSuperTypes(ClassUtil.java:33)
      at com.fasterxml.jackson.databind.util.ClassUtil.findSuperTypes(ClassUtil.java:29)
      at com.fasterxml.jackson.databind.introspect.AnnotatedClass.construct(AnnotatedClass.java:138)
      at com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.collectProperties(BasicClassIntrospector.java:140)
      at com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forSerialization(BasicClassIntrospector.java:68)
      at com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forSerialization(BasicClassIntrospector.java:11)
      at com.fasterxml.jackson.databind.SerializationConfig.introspect(SerializationConfig.java:529)
      at com.mangofactory.swagger.models.property.field.FieldModelPropertyProvider.propertiesForSerialization(FieldModelPropertyProvider.java:50)
      at com.mangofactory.swagger.models.property.provider.DefaultModelPropertiesProvider.propertiesForSerialization(DefaultModelPropertiesProvider.java:33)
      at com.mangofactory.swagger.models.ModelDependencyProvider.propertiesFor(ModelDependencyProvider.java:113)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:88)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedTypeParameters(ModelDependencyProvider.java:77)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:68)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:102)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedPropertiesAndFields(ModelDependencyProvider.java:106)
      at com.mangofactory.swagger.models.ModelDependencyProvider.resolvedDependencies(ModelDependencyProvider.java:69)
      at com.mangofactory.swagger.models.ModelDependencyProvider.dependentModels(ModelDependencyProvider.java:37)
      at com.mangofactory.swagger.models.DefaultModelProvider.dependencies(DefaultModelProvider.java:80)
      at com.mangofactory.swagger.readers.ApiModelReader.populateDependencies(ApiModelReader.java:176)
      at com.mangofactory.swagger.readers.ApiModelReader.execute(ApiModelReader.java:77)
      at com.mangofactory.swagger.readers.ApiModelReader.execute(ApiModelReader.java:36)
      at com.mangofactory.swagger.core.CommandExecutor.execute(CommandExecutor.java:13)
      at com.mangofactory.swagger.scanners.ApiListingScanner.scan(ApiListingScanner.java:96)
      at com.mangofactory.swagger.core.SwaggerApiResourceListing.initialize(SwaggerApiResourceListing.java:71)
      at com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin.initialize(SwaggerSpringMvcPlugin.java:359)
      at com.mangofactory.swagger.plugin.SwaggerPluginAdapter.onApplicationEvent(SwaggerPluginAdapter.java:45)
      at com.mangofactory.swagger.plugin.SwaggerPluginAdapter.onApplicationEvent(SwaggerPluginAdapter.java:21)
      at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151)
      at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128)
      at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331)
      at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:773)
      at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:131)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483)
      at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
      at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
      at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
      at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142)
      at id.co.bippo.product.app.ProductApiApplication.main(ProductApiApplication.java:43)
cowtowncoder commented 9 years ago

That long stack trace piece from Swagger actually looks suspicious; although it all ends up inside Jackson. So it comes down to who has the cyclic handling. Jackson type handling have some known (and very difficult to fix, but not commonly occurring) issues, so it is possible problem could be there. But the latest stack trace does not show enough of a cycle in that area, so it may be on caller, in Swagger.

cowtowncoder commented 8 years ago

Type resolution has been fully rewritten for 2.7(0.-rc1). So although I can not directly test this, I think that either:

  1. Problem has been fixed, OR
  2. Problem persists in some form, but manifestation will be different as the old codepath does not exist (in its old form anyway)

So: if there is a remaining problem, may be refiled, but can not be reproduced as-is.

ceefour commented 8 years ago

Wow! :+1: