You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/09/04 03:26:57 UTC
[jira] Resolved: (CXF-2418) SchemaCollection throws
StackOverflowError when schema contains circular reference
[ https://issues.apache.org/jira/browse/CXF-2418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2418.
------------------------------
Resolution: Fixed
Fix Version/s: 2.2.4
> SchemaCollection throws StackOverflowError when schema contains circular reference
> ----------------------------------------------------------------------------------
>
> Key: CXF-2418
> URL: https://issues.apache.org/jira/browse/CXF-2418
> Project: CXF
> Issue Type: Bug
> Components: Aegis Databinding
> Affects Versions: 2.2.3
> Reporter: Fried Hoeben
> Assignee: Daniel Kulp
> Fix For: 2.2.4
>
> Attachments: cxf-schemaCollection.patch
>
>
> When a schema contains a reference to an element inside itself, or there is another circular reference between schemas, SchemaCollection.addCrossImports() goes into infinite recursion ending with a StackOverflowError.
> Sample stack (before the error):
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema, XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence) line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line: 366
> SchemaCollection.addOneSchemaCrossImports(XmlSchema) line: 342
> SchemaCollection.addCrossImports() line: 321
> Databinding(AegisDatabinding).createSchemas(Service, Set<Type>) line: 504
> Databinding(AegisDatabinding).initialize(Service) line: 285
> JaxWsServiceFactoryBean(ReflectionServiceFactoryBean).buildServiceFromWSDL(String) line: 346
> JaxWsServiceFactoryBean(ReflectionServiceFactoryBean).initializeServiceModel() line: 442
> JaxWsServiceFactoryBean(ReflectionServiceFactoryBean).create() line: 195
> JaxWsServiceFactoryBean.create() line: 163
> JaxWsClientFactoryBean(AbstractWSDLBasedEndpointFactory).createEndpoint() line: 100
> JaxWsClientFactoryBean(ClientFactoryBean).create() line: 52
> JaxWsProxyFactoryBean(ClientProxyFactoryBean).create() line: 102
> JaxWsProxyFactoryBean.create() line: 115
> ...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.