Skip to content

Crash getting auto-import completion details in zero-length file #1890

@andrewbranch

Description

@andrewbranch

Stack trace

panic handling request completionItem/resolve runtime error: index out of range [0] with length 0 goroutine 1063 [running]:
runtime/debug.Stack()
	/Users/andrew/go/pkg/mod/golang.org/[email protected]/src/runtime/debug/stack.go:26 +0x64
github.com/microsoft/typescript-go/internal/lsp.(*Server).recover(0x14000208000, 0x14008bd26c0)
	/Users/andrew/Developer/microsoft/typescript-go/internal/lsp/server.go:542 +0x44
panic({0x1030dfa80?, 0x140020624b0?})
	/Users/andrew/go/pkg/mod/golang.org/[email protected]/src/runtime/panic.go:783 +0x120
github.com/microsoft/typescript-go/internal/ls.(*changeTracker).insertAtTopOfFile(0x1400952e780, 0x1400417fb08, {0x14008f9db48, 0x1, 0x1}, 0x1)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/changetracker.go:291 +0x148
github.com/microsoft/typescript-go/internal/ls.(*changeTracker).insertImports(0x1400952e780, 0x1400417fb08, {0x14008f9db48, 0x1, 0x1}, 0x1, 0x0?)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/autoimportfixes.go:237 +0xd8
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).codeActionForFixWorker(0x14006821b30, 0x1400952e780, 0x1400417fb08, {0x1400951a6b0, 0xd}, 0x14008f68680, 0x0, 0x1400003bd90)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/autoimports.go:1451 +0x3a0
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).codeActionForFix(0x14006821b30, {0x103228d90?, 0x1400952e730?}, 0x1400417fb08, {0x1400951a6b0, 0xd}, 0x14008f68680, 0x0, 0x1400003bd90)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/autoimports.go:1396 +0x78
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).getImportCompletionAction(0x14006821b30, {0x103228d90, 0x1400952e730}, 0x14005211908, 0x1400808aea0?, 0x14006821cb0?, 0x1400417fb08, 0x0, {{0x1400951a6b0, 0xd}, ...}, ...)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/autoimports.go:396 +0xf8
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).getCompletionItemActions(0x14006821b30, {0x103228d90, 0x1400952e730}, 0x14005211908, 0x1400417fb08, 0x0, 0x14005f7d300, 0x14005f7d380, 0x1400062dd90)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/completions.go:5355 +0x348
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).getCompletionItemDetails(0x14006821b30, {0x103228d90, 0x1400952e730}, 0x8?, 0x0, 0x1400417fb08, 0x14008737400, 0x14005f7d300, 0x1400023bf50, 0x1400062dd90)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/completions.go:5101 +0x45c
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).ResolveCompletionItem(0x14006821b30, {0x103228d90, 0x1400952e730}, 0x14008737400, 0x14005f7d300, 0x1400023bf50, 0x1400062dd90)
	/Users/andrew/Developer/microsoft/typescript-go/internal/ls/completions.go:5028 +0x78
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleCompletionItemResolve(0x14000208000, {0x103228d90, 0x1400952e730}, 0x14008737400, 0x14008bd26c0)
	/Users/andrew/Developer/microsoft/typescript-go/internal/lsp/server.go:807 +0x10c
github.com/microsoft/typescript-go/internal/lsp.init.func1.registerRequestHandler[...].26({0x103228d90, 0x1400952e730}, 0x14008bd26c0)
	/Users/andrew/Developer/microsoft/typescript-go/internal/lsp/server.go:504 +0xc0
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x14000208000, {0x103228d90, 0x1400952e730}, 0x14008bd26c0)
	/Users/andrew/Developer/microsoft/typescript-go/internal/lsp/server.go:425 +0xf4
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	/Users/andrew/Developer/microsoft/typescript-go/internal/lsp/server.go:330 +0x34
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 35
	/Users/andrew/Developer/microsoft/typescript-go/internal/lsp/server.go:350 +0x6f8

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions