Skip to content

Unexpected Execution Error: Buffer is used up. #1724

Closed
@sdc4

Description

Large queries cause an unexpected error in DocumentValidator

A long query with many properties throws an exception in the validation module of Version 11.0.0-preview.124, this happens randomly depending on the number of fields in the query.

 "errors": [
    {
      "message": "Unexpected Execution Error",
      "extensions": {
        "message": "Buffer is used up.",
        "stackTrace": "   at HotChocolate.Validation.FieldInfoListBuffer.Pop()\r\n   at HotChocolate.Validation.DocumentValidatorContext.RentFieldInfoList()\r\n   at HotChocolate.Validation.Rules.FieldVisitor.Enter(FieldNode node, IDocumentValidatorContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(SelectionSetNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(FieldNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(SelectionSetNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(FieldNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(SelectionSetNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(FieldNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(SelectionSetNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(FieldNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(SelectionSetNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(FieldNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(SelectionSetNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.VisitChildren(OperationDefinitionNode node, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Validation.DocumentValidatorVisitor.VisitChildren(DocumentNode node, IDocumentValidatorContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit[T,P](T node, P parent, TContext context)\r\n   at HotChocolate.Language.Visitors.SyntaxVisitor`1.Visit(ISyntaxNode node, TContext context)\r\n   at HotChocolate.Validation.DocumentValidatorRule`1.Validate(IDocumentValidatorContext context, DocumentNode document)\r\n   at HotChocolate.Validation.DocumentValidator.Validate(ISchema schema, DocumentNode document)\r\n   at HotChocolate.Execution.ValidateQueryMiddleware.Validate(ISchema schema, DocumentNode document)\r\n   at HotChocolate.Execution.ValidateQueryMiddleware.<>c__DisplayClass5_0.<InvokeAsync>b__0()\r\n   at HotChocolate.Utilities.Cache`1.GetOrCreate(String key, Func`1 create)\r\n   at HotChocolate.Execution.ValidateQueryMiddleware.InvokeAsync(IQueryContext context)\r\n   at HotChocolate.Execution.ParseQueryMiddleware.InvokeAsync(IQueryContext context)\r\n   at HotChocolate.Execution.ExceptionMiddleware.InvokeAsync(IQueryContext context)"
      }
    }
  ]
}

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions