Skip to content

Requests outside the document's bounds should not trigger an error #296

@rcjsuen

Description

@rcjsuen

If the request is for a position that is outside the document's range, we should return nothing instead of logging an internal error. Although it is possible there is an internal document synchronization bug on the server's side, there is equally a possibility of a client sending the server invalid parameters.

runtime.boundsError runtime error: index out of range [10] with length 10 
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/server/server.go:218 (*Server).handleRecovered
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/server/server.go:131 NewServer.func1
    /home/runner/work/docker-language-server/docker-language-server/internal/tliron/glsp/protocol/handler.go:100 (*Handler).Handle.func1
    runtime/panic.go:792 gopanic
    runtime/panic.go:115 goPanicIndex
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/completion.go:130 prefix
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/completion.go:212 Completion
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/server/completion.go:22 (*Server).TextDocumentCompletion
    /home/runner/work/docker-language-server/docker-language-server/internal/tliron/glsp/protocol/handler.go:388 (*Handler).Handle
    /home/runner/work/docker-language-server/docker-language-server/internal/tliron/glsp/server/handler.go:48 (*Server).handle
    github.com/sourcegraph/jsonrpc2@v0.2.0/handler_with_error.go:21 (*HandlerWithErrorConfigurer).Handle
    github.com/sourcegraph/jsonrpc2@v0.2.0/conn.go:205 (*Conn).readMessages

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions