domaindrivendev / Swashbuckle.AspNetCore

Swagger tools for documenting API's built on ASP.NET Core
MIT License
5.17k stars 1.29k forks source link

Polymorphism StackOverFlow #2702

Open cschuchardt88 opened 10 months ago

cschuchardt88 commented 10 months ago

Description

I Get StackOverFlow Exception. And this isn't a dotnet bug.

It happens everytime i add

services.AddSwaggerGen(options =>
{
    options.UseOneOfForPolymorphism(); // < -- this line
});
Swashbuckle - 6.5.0
Dotnet - 7.0.400
Windows 10 Pro 22H2 osbuild 19045.3324 (Windows Feature Experience Pack 1000.19041.1000.0)
64-bit operating system, x64-based processor

image

Other information

Call Stack

System.Private.CoreLib.dll!System.RuntimeType.GetGenericTypeDefinition() Line 256
    at /_/src/libraries/System.Private.CoreLib/src/System/RuntimeType.cs(256)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.TypeExtensions.IsConstructedFrom.AnonymousMethod__0(System.Type i)
System.Linq.dll!System.Linq.Enumerable.TryGetFirst<System.Type>(System.Collections.Generic.IEnumerable<System.Type> source, System.Func<System.Type, bool> predicate, out bool found) Line 115
    at /_/src/libraries/System.Linq/src/System/Linq/First.cs(115)
System.Linq.dll!System.Linq.Enumerable.FirstOrDefault<System.Type>(System.Collections.Generic.IEnumerable<System.Type> source, System.Func<System.Type, bool> predicate) Line 49
    at /_/src/libraries/System.Linq/src/System/Linq/First.cs(49)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.TypeExtensions.IsConstructedFrom(System.Type type, System.Type genericType, out System.Type constructedType)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateArraySchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__1()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GeneratePolymorphicSchema.AnonymousMethod__0(Swashbuckle.AspNetCore.SwaggerGen.DataContract allowedTypeDataContract)
System.Linq.dll!System.Linq.Enumerable.WhereSelectArrayIterator<System.Type, Microsoft.OpenApi.Models.OpenApiSchema>.ToList() Line 233
    at /_/src/libraries/System.Linq/src/System/Linq/Where.SpeedOpt.cs(233)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GeneratePolymorphicSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Collections.Generic.IEnumerable<Swashbuckle.AspNetCore.SwaggerGen.DataContract> knownTypesDataContracts)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForType(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchema(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Reflection.MemberInfo memberInfo, System.Reflection.ParameterInfo parameterInfo, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterRouteInfo routeInfo)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateArraySchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
[The 8 frame(s) above this were repeated 1621 times]
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GeneratePolymorphicSchema.AnonymousMethod__0(Swashbuckle.AspNetCore.SwaggerGen.DataContract allowedTypeDataContract)
System.Linq.dll!System.Linq.Enumerable.WhereSelectArrayIterator<System.Type, Microsoft.OpenApi.Models.OpenApiSchema>.ToList() Line 233
    at /_/src/libraries/System.Linq/src/System/Linq/Where.SpeedOpt.cs(233)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GeneratePolymorphicSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Collections.Generic.IEnumerable<Swashbuckle.AspNetCore.SwaggerGen.DataContract> knownTypesDataContracts)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForType(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchema(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Reflection.MemberInfo memberInfo, System.Reflection.ParameterInfo parameterInfo, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterRouteInfo routeInfo)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateArraySchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__1()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__3()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Func<Microsoft.OpenApi.Models.OpenApiSchema> definitionFactory)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__3()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Func<Microsoft.OpenApi.Models.OpenApiSchema> definitionFactory)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__3()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Func<Microsoft.OpenApi.Models.OpenApiSchema> definitionFactory)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForMember(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Reflection.MemberInfo memberInfo, Swashbuckle.AspNetCore.SwaggerGen.DataProperty dataProperty)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__3()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Func<Microsoft.OpenApi.Models.OpenApiSchema> definitionFactory)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForMember(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Reflection.MemberInfo memberInfo, Swashbuckle.AspNetCore.SwaggerGen.DataProperty dataProperty)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__3()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Func<Microsoft.OpenApi.Models.OpenApiSchema> definitionFactory)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForType(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchema(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Reflection.MemberInfo memberInfo, System.Reflection.ParameterInfo parameterInfo, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterRouteInfo routeInfo)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateArraySchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema.AnonymousMethod__1()
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(Swashbuckle.AspNetCore.SwaggerGen.DataContract dataContract, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForType(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchema(System.Type modelType, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Reflection.MemberInfo memberInfo, System.Reflection.ParameterInfo parameterInfo, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterRouteInfo routeInfo)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateSchema(System.Type type, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, System.Reflection.PropertyInfo propertyInfo, System.Reflection.ParameterInfo parameterInfo, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterRouteInfo routeInfo)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.CreateResponseMediaType(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRespository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateResponse.AnonymousMethod__2(string contentType)
System.Linq.dll!System.Linq.Enumerable.ToDictionary<string, string, Microsoft.OpenApi.Models.OpenApiMediaType>(System.Collections.Generic.IEnumerable<string> source, System.Func<string, string> keySelector, System.Func<string, Microsoft.OpenApi.Models.OpenApiMediaType> elementSelector, System.Collections.Generic.IEqualityComparer<string> comparer) Line 139
    at /_/src/libraries/System.Linq/src/System/Linq/ToCollection.cs(139)
System.Linq.dll!System.Linq.Enumerable.ToDictionary<string, string, Microsoft.OpenApi.Models.OpenApiMediaType>(System.Collections.Generic.IEnumerable<string> source, System.Func<string, string> keySelector, System.Func<string, Microsoft.OpenApi.Models.OpenApiMediaType> elementSelector) Line 99
    at /_/src/libraries/System.Linq/src/System/Linq/ToCollection.cs(99)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateResponse(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription apiDescription, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository, string statusCode, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiResponseType apiResponseType)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateResponses(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription apiDescription, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperation(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription apiDescription, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription> apiDescriptions, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription> apiDescriptions, Swashbuckle.AspNetCore.SwaggerGen.SchemaRepository schemaRepository)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwaggerDocumentWithoutFilters(string documentName, string host, string basePath)
Swashbuckle.AspNetCore.SwaggerGen!Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwaggerAsync(string documentName, string host, string basePath)
Swashbuckle.AspNetCore.Swagger!Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext httpContext, Swashbuckle.AspNetCore.Swagger.ISwaggerProvider swaggerProvider)
Microsoft.AspNetCore.Diagnostics.dll!Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.Invoke(Microsoft.AspNetCore.Http.HttpContext context) Line 77
    at /_/src/Middleware/Diagnostics/src/ExceptionHandler/ExceptionHandlerMiddlewareImpl.cs(77)
Microsoft.AspNetCore.ResponseCompression.dll!Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(Microsoft.AspNetCore.Http.HttpContext context) Line 65
    at /_/src/Middleware/ResponseCompression/src/ResponseCompressionMiddleware.cs(65)
Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests<Microsoft.AspNetCore.Hosting.HostingApplication.Context>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.HostingApplication.Context> application) Line 675
    at /_/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs(675)
[Resuming Async Method]
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.AsyncStateMachineBox<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.<ProcessRequests>d__238<Microsoft.AspNetCore.Hosting.HostingApplication.Context>>.ExecutionContextCallback(object s) Line 287
    at /_/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs(287)
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread threadPoolThread, System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 268
    at /_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs(268)
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.AsyncStateMachineBox<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.<ProcessRequests>d__238<Microsoft.AspNetCore.Hosting.HostingApplication.Context>>.MoveNext(System.Threading.Thread threadPoolThread) Line 332
    at /_/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs(332)
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.AsyncStateMachineBox<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.<ProcessRequests>d__238<System.__Canon>>.ExecuteFromThreadPool(System.Threading.Thread threadPoolThread) Line 299
    at /_/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs(299)
System.Private.CoreLib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() Line 919
    at /_/src/libraries/System.Private.CoreLib/src/System/Threading/ThreadPoolWorkQueue.cs(919)
System.Private.CoreLib.dll!System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() Line 77
    at /_/src/libraries/System.Private.CoreLib/src/System/Threading/PortableThreadPool.WorkerThread.cs(77)
[Async Call Stack]
[Async] Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync<Microsoft.AspNetCore.Hosting.HostingApplication.Context>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.HostingApplication.Context> application) Line 575
    at /_/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs(575)
[Async] Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection.ProcessRequestsAsync<Microsoft.AspNetCore.Hosting.HostingApplication.Context>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.HostingApplication.Context> httpApplication) Line 106
    at /_/src/Servers/Kestrel/Core/src/Internal/HttpConnection.cs(106)
[Async] Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.ConnectionLimitMiddleware<Microsoft.AspNetCore.Connections.ConnectionContext>.OnConnectionAsync(Microsoft.AspNetCore.Connections.ConnectionContext connection) Line 44
    at /_/src/Servers/Kestrel/Core/src/Middleware/ConnectionLimitMiddleware.cs(44)
[Async] Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection<Microsoft.AspNetCore.Connections.ConnectionContext>.ExecuteAsync() Line 52
    at /_/src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelConnectionOfT.cs(52)

I think it has to do with these classes Polymorphism

public abstract class WitnessConditionModel
{
    public abstract WitnessConditionType Type { get; }
}

public class AndConditionModel : WitnessConditionModel
{
    public WitnessConditionModel[] Expressions { get; set; }
    public override WitnessConditionType Type => WitnessConditionType.And;
}

public class OrConditionModel : WitnessConditionModel
{
    public WitnessConditionModel[] Expressions { get; set; }
    public override WitnessConditionType Type => WitnessConditionType.Or;
}

public class GroupConditionModel : WitnessConditionModel
{
    public string Group { get; set; }
    public override WitnessConditionType Type => WitnessConditionType.Group;
}
Havunen commented 4 months ago

Do you have some open source branch or program available somewhere where I could try to reproduce this exception? Have you tested with DotSwashbuckle does it reproduce this error?

cschuchardt88 commented 4 months ago

@Havunen It has been so long, that i do not at this time. It just has to with an abstract class inherited on another class, that points to itself. For example in the above comment.

public abstract class AClass {}
public class BClass : AClass {
  public AClass something;
}
github-actions[bot] commented 1 week ago

This issue is stale because it has been open for 60 days with no activity. It will be automatically closed in 14 days if no further updates are made.