Closed ceefour closed 8 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...
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.
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 .
I reproduced it again on another case.
StructuredValue extends Thing
QuantitativeValue extends StructuredValue
Thing
contains images
of type List<ImageObject>
ImageObject
contains width
of type QuantitativeValue
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
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)
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.
Type resolution has been fully rewritten for 2.7(0.-rc1). So although I can not directly test this, I think that either:
So: if there is a remaining problem, may be refiled, but can not be reproduced as-is.
Wow! :+1:
Using jackson 2.4.3. The following:
Basically, a
Thing
contains a list ofImageObject
(initialized to emptyArrayList
), whileImageObject
itself is aThing
.resulted in infinite loop:
Workaround: If
ImageObject
doesn't extendThing
, everything's fine.