Openapi-generator: [BUG][Swift4] StackOverflow when generating example for recursive structures

Created on 21 May 2019  路  2Comments  路  Source: OpenAPITools/openapi-generator

Bug Report Checklist

  • [x] Have you provided a full/minimal spec to reproduce the issue?
  • [x] Have you validated the input using an OpenAPI validator (example)?
  • [x] What's the version of OpenAPI Generator used? master/4.0.0
  • [x] Have you search for related issues/PRs? None found
  • [x] What's the actual output vs expected output?
    crash vs no crash
Description

If a POST-call gets a recursive structure (e.g., a Tree) as one of its parameter, the swift4 generator crashes when trying to generate example.

openapi-generator version

master/4.0.0 introduced by #2666

OpenAPI declaration file content or url

https://gist.github.com/lemoinem/0b3d7d065d9337a898d5ee2bc49654a2

Command line used for generation

./bin/swift4-petstore.sh while the yaml is stored at modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml

Steps to reproduce
  1. Store yaml attached in gist at modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
  2. run command ./bin/swift4-petstore.sh
    => Crash with java.lang.StackOverflowError
Related issues/PRs

This was probably introduced by #2666 which doesn't check for recursive structure when creating an example.

Suggest a fix

At the very least, generating example/self-documentation should be optional and should fail gracefully.
At the most, the constructExampleCode method should check for recursive structures (circular references) and fail gracefully in this case.

Swift Bug

Most helpful comment

Any updates about this problem?

All 2 comments

Any updates about this problem?

This was probably introduced by #2666 which doesn't check for recursive structure when creating an example.

@wing328 could you please look into this?
I'm having the same error. Can't migrate to 4.X.X because of this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

samarthgupta437 picture samarthgupta437  路  21Comments

seunlanlege picture seunlanlege  路  23Comments

jonrimmer picture jonrimmer  路  80Comments

vinodchitrali picture vinodchitrali  路  22Comments

ackintosh picture ackintosh  路  23Comments