Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Current HEAD of docs-builder serv throws exception on ES|QL functions docs #869

Closed
1 of 3 tasks
craigtaverner opened this issue Mar 28, 2025 · 1 comment · Fixed by #884
Closed
1 of 3 tasks

Current HEAD of docs-builder serv throws exception on ES|QL functions docs #869

craigtaverner opened this issue Mar 28, 2025 · 1 comment · Fixed by #884
Assignees
Labels

Comments

@craigtaverner
Copy link

craigtaverner commented Mar 28, 2025

Describe the bug

When trying docs-builder serv using the commit at 05680a5, if I click on the docs link for Functions and operators, the page does not load, and in the console running docs-builder I get the error:

Error: length ('-1') must be a non-negative value. (Parameter 'length')

Resetting back two commits to bd6fd6c fixes the issue, so one of the two commits above that introduced this bug. The relevant PRs are Optimize HJLS and Fix relative links.

The full stack trace is:

error::d.b.h.mentationWebHost:: Request Details - Method: GET, Path: /reference/query-languages/esql/esql-functions-operators, QueryString: 
fail ::d.b.h.mentationWebHost:: Error handler failed to process exception. Handler Error: Object reference not set to an instance of an object.
Stack Trace:    at Westwind.AspNetCore.LiveReload.ResponseStreamWrapper.FlushAsync(CancellationToken) + 0xf8
   at Microsoft.AspNetCore.Http.HttpResponseWritingExtensions.WriteAsync(HttpResponse, String, Encoding, CancellationToken) + 0xc4
   at Documentation.Builder.Http.DocumentationWebHost.<>c.<<SetUpRoutes>b__6_3>d.MoveNext() + 0x4a0
error::m.a.d.andlerMiddleware:: An exception was thrown attempting to execute the error handler.
error::m.a.s.Kestrel         :: Connection id "0HNBDRD8IHA59", Request id "0HNBDRD8IHA59:0000000A": An unhandled exception was thrown by the application.
error::m.a.d.andlerMiddleware:: An unhandled exception has occurred while executing the request.
error::d.b.h.mentationWebHost:: Unhandled exception processing request /reference/query-languages/esql/esql-functions-operators. Error: length ('-1') must be a non-negative value. (Parameter 'length')
Actual value was -1.
Stack Trace:    at System.ArgumentOutOfRangeException.ThrowNegative[T](T, String) + 0x80
   at System.ArgumentOutOfRangeException.ThrowIfNegative[T](T, String) + 0x18
   at System.String.ThrowSubstringArgumentOutOfRange(Int32, Int32) + 0x2c
   at System.String.Substring(Int32, Int32) + 0x50
   at Elastic.Markdown.Myst.InlineParsers.DiagnosticLinkInlineParser.UpdateLinkUrl(LinkInline, String, ParserContext, String) + 0x104
   at Elastic.Markdown.Myst.InlineParsers.DiagnosticLinkInlineParser.ProcessInternalLink(LinkInline, InlineProcessor, ParserContext) + 0x374
   at Elastic.Markdown.Myst.InlineParsers.DiagnosticLinkInlineParser.ValidateAndProcessLink(LinkInline, InlineProcessor, ParserContext) + 0x144
   at Elastic.Markdown.Myst.InlineParsers.DiagnosticLinkInlineParser.Match(InlineProcessor, StringSlice&) + 0x84
   at Markdig.Parsers.InlineProcessor.ProcessInlineLeaf(LeafBlock) + 0x1a8
   at Markdig.Parsers.MarkdownParser.ProcessInlines(InlineProcessor, MarkdownDocument) + 0x1e8
   at Markdig.Parsers.MarkdownParser.Parse(String, MarkdownPipeline, MarkdownParserContext) + 0x1a4
   at Elastic.Markdown.Myst.MarkdownParser.<ParseAsync>d__13.MoveNext() + 0x3d4
--- End of stack trace from previous location ---
   at Elastic.Markdown.Myst.MarkdownParser.<ParseAsync>d__13.MoveNext() + 0x51c
--- End of stack trace from previous location ---
   at Elastic.Markdown.Myst.Directives.DirectiveHtmlRenderer.WriteIncludeBlock(HtmlRenderer, IncludeBlock, MarkdownParser) + 0x88
   at Markdig.Renderers.RendererBase.Write(MarkdownObject) + 0xf4
   at Markdig.Renderers.RendererBase.WriteChildren(ContainerBlock) + 0x98
   at Markdig.Renderers.RendererBase.Write(MarkdownObject) + 0xc8
   at Markdig.Renderers.TextRendererBase.Render(MarkdownObject) + 0x18
   at Markdig.Markdown.ToHtml(MarkdownDocument, MarkdownPipeline) + 0x68
   at Elastic.Markdown.Myst.Directives.DirectiveHtmlRenderer.WriteIncludeBlock(HtmlRenderer, IncludeBlock, MarkdownParser) + 0xa0
   at Markdig.Renderers.RendererBase.Write(MarkdownObject) + 0xf4
   at Markdig.Renderers.RendererBase.WriteChildren(ContainerBlock) + 0x98
   at Markdig.Renderers.RendererBase.Write(MarkdownObject) + 0xc8
   at Markdig.Renderers.TextRendererBase.Render(MarkdownObject) + 0x18
   at Markdig.Markdown.ToHtml(MarkdownDocument, MarkdownPipeline) + 0x68
   at Elastic.Markdown.IO.MarkdownFile.CreateHtml(MarkdownDocument) + 0xb4
   at Elastic.Markdown.Slices.HtmlWriter.<RenderLayout>d__13.MoveNext() + 0x7c
--- End of stack trace from previous location ---
   at Elastic.Markdown.Slices.HtmlWriter.<RenderLayout>d__12.MoveNext() + 0x114
--- End of stack trace from previous location ---
   at Elastic.Markdown.DocumentationGenerator.<RenderLayout>d__30.MoveNext() + 0x118
--- End of stack trace from previous location ---
   at Documentation.Builder.Http.DocumentationWebHost.<ServeDocumentationFile>d__7.MoveNext() + 0x7c
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Http.Generated.<GeneratedRouteBuilderExtensions_g>F4AFC7A6FBD6950F13FBA11F9A5ABB0022287BBD24ED0D909344A974D534EC189__GeneratedRouteBuilderExtensionsCore.<>c__DisplayClass3_0.<<MapGet1>g__RequestHandler|5>d.MoveNext() + 0x23c
--- End of stack trace from previous location ---
   at Westwind.AspNetCore.LiveReload.LiveReloadMiddleware.<HandleHtmlInjection>d__8.MoveNext() + 0x160
--- End of stack trace from previous location ---
   at Westwind.AspNetCore.LiveReload.LiveReloadMiddleware.<InvokeAsync>d__6.MoveNext() + 0x144
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<<Invoke>g__Awaited|10_0>d.MoveNext() + 0xa4
Inner Exception: None

Expected behavior

Page should load

Steps to reproduce

Build latest docs-builder locally, then change to elasticsearch source directory and run:

../docs-builder/.artifacts/publish/docs-builder/release/docs-builder serve -p docs

Browse to localhost:3000/reference/, and navigate to:

  • Query languages
    • ES|QL reference
      • Functions and operators

Tooling

  • docs-builder
  • migration tooling
  • I'm not sure
@reakaleek reakaleek self-assigned this Mar 31, 2025
@Mpdreamz Mpdreamz linked a pull request Mar 31, 2025 that will close this issue
@Mpdreamz
Copy link
Member

Thanks for reporting this @craigtaverner and sorry this slipped through the cracks!

I added elastic/elasticsearch to our PR smoke tests to minimize breakages like these in the future.

#884 Addresses this bug.

@reakaleek reakaleek assigned Mpdreamz and unassigned reakaleek Mar 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants