swagger-api / swagger-parser

Swagger Spec to Java POJOs
http://swagger.io
Apache License 2.0
773 stars 526 forks source link

NullPointerException in SchemaProcessor.processArraySchema(): "io.swagger.v3.oas.models.media.Schema.get$ref()" because "items" is null #2048

Closed garydgregory closed 5 months ago

garydgregory commented 5 months ago

Issue: https://github.com/swagger-api/swagger-parser/issues/2048 PR: https://github.com/swagger-api/swagger-parser/pull/2049

Caused by: java.lang.NullPointerException: Cannot invoke "io.swagger.v3.oas.models.media.Schema.get$ref()" because "items" is null
    at io.swagger.v3.parser.processors.SchemaProcessor.processArraySchema(SchemaProcessor.java:218)
    at io.swagger.v3.parser.processors.SchemaProcessor.processSchemaType(SchemaProcessor.java:69)
    at io.swagger.v3.parser.processors.SchemaProcessor.processPropertySchema(SchemaProcessor.java:139)
    at io.swagger.v3.parser.processors.SchemaProcessor.processSchemaType(SchemaProcessor.java:76)
    at io.swagger.v3.parser.processors.SchemaProcessor.processSchema(SchemaProcessor.java:61)
    at io.swagger.v3.parser.processors.ComponentsProcessor.processSchemas(ComponentsProcessor.java:231)
    at io.swagger.v3.parser.processors.ComponentsProcessor.processComponents(ComponentsProcessor.java:145)
    at io.swagger.v3.parser.OpenAPIResolver.resolve(OpenAPIResolver.java:73)
        ...

The above is from a log and I don't have a easy way to create a reproducer. You'll notice though that most call sites of ArraySchema.getItems() in this repo do check for a null result value, but not all call sites.

gracekarina commented 5 months ago

closed by https://github.com/swagger-api/swagger-parser/pull/2049