Skip to content

fatal error: concurrent map writes from completions #1133

Closed
@DanielRosenwasser

Description

@DanielRosenwasser
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";

const server = new McpServer({
  name: "Stuff",
  version: "1.0/**/0"
}, {
  capabilities: {}
});

At the "cursor" (/**/) insert a .

Expected: Stuff works.
Actual:

fatal error: concurrent map writes

Info 92   [14:50:16.901] Finishing updateGraph: Project: /home/daniel/wat/src/tsconfig.json version: 4 in 437.906µs
fatal error: concurrent map writes

goroutine 1178 [running]:
internal/runtime/maps.fatal({0x74ea73?, 0x60?})
	runtime/panic.go:1058 +0x20
github.com/microsoft/typescript-go/internal/ast.(*DiagnosticsCollection).Add(0x4013bb4210, 0x4014319c20)
	github.com/microsoft/typescript-go/internal/ast/diagnostic.go:106 +0xdc
github.com/microsoft/typescript-go/internal/checker.(*Checker).error(0x4013bb4008, 0xa?, 0x0?, {0x400b338e28?, 0x4013bb4008?, 0x57b6e0?})
	github.com/microsoft/typescript-go/internal/checker/checker.go:13258 +0x54
github.com/microsoft/typescript-go/internal/checker.(*Checker).reportCircularityError(0x4013bb4008, 0x4004c94008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:17721 +0x14c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrPropertyWorker(0x4013bb4008, 0x4004c94008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15652 +0x3c4
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrProperty(0x4013bb4008, 0x4004c94008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15595 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfSymbol(0xffbdd4bf3a18?, 0x4013b90770?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15555 +0xa8
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfParameter(0x4013bb4008, 0x7f0d8?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:16062 +0x28
github.com/microsoft/typescript-go/internal/checker.(*Checker).tryGetTypeAtPosition(0x400b339008?, 0x3386e0?, 0x8?)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1745 +0x48
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeAtPosition(...)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1735
github.com/microsoft/typescript-go/internal/checker.(*Checker).getMinArgumentCountEx(0x4013bb4008, 0x401363ef00, 0x4c90f78?)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1715 +0x158
github.com/microsoft/typescript-go/internal/checker.(*Checker).getMinArgumentCount(...)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1682
github.com/microsoft/typescript-go/internal/checker.(*Checker).hasCorrectArity(0x4013bb4008, 0x4013667a90, {0x4013b75dd0, 0x2, 0xffffffffffffffff?}, 0x401363ef00, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8753 +0x64
github.com/microsoft/typescript-go/internal/checker.(*Checker).chooseOverload(0x4013bb4008, 0x400b339180, 0x4013b8a330)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8643 +0xb8
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveCall(0x4013bb4008, 0x4013667a90, {0x4013b8a838, 0x1, 0x1}, 0x0, 0x0, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8539 +0x3d8
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveNewExpression(0x4013bb4008, 0x4013667a90, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8251 +0x348
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveSignature(0x4013bb4528?, 0x88aa60?, 0x4013667a90?, 0x31904c?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8087 +0x48
github.com/microsoft/typescript-go/internal/checker.(*Checker).getResolvedSignature(0x4013bb4008, 0x4013667a90, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8057 +0xd4
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkCallExpression(0x4013bb4008, 0x4013667a90, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7952 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionWorker(0x4013bb4008, 0x31470c?, 0x5c7800?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7339 +0x330
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionEx(0x4013bb4008, 0x4013667a90, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7126 +0x54
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionCachedEx(0x4013bb4008, 0x4013667a90, 0xb3394a8?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7095 +0xb4
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkDeclarationInitializer(0x4013bb4008, 0x4013b4b6c0, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15843 +0x78
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeForVariableLikeDeclaration(0x4013bb4008, 0x4013b4b6c0, 0x80?, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15788 +0x71c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getWidenedTypeForVariableLikeDeclaration(0x4013bb4008, 0x4013b4b6c0, 0x1)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15694 +0x30
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrPropertyWorker(0x4013bb4008, 0x4013baa078)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15658 +0x23c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrProperty(0x4013bb4008, 0x4013baa078)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15595 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfSymbol(0x4013bb4008?, 0x4013b4b6c0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15555 +0xa8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableLikeDeclaration(0x4013bb4008, 0x4013b4b6c0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5549 +0x258
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableDeclaration(0x4013bb4008, 0x4013b4b6c0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5445 +0x48
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElementWorker(0x4013bb4008, 0x4013b4b6c0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2237 +0x2d8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElement(0x4013bb4008, 0x2f6eb4?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2135 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElements(0x4013bb4008, {0x4013b75de0, 0x1, 0x4013bba180?})
	github.com/microsoft/typescript-go/internal/checker/checker.go:2126 +0x34
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableDeclarationList(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5440
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableStatement(0x4013bb4008, 0x4013827e80?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5436 +0xb8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElementWorker(0x4013bb4008, 0x4013145b80)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2207 +0x258
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElement(0x4013bb4008, 0x40145250e0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2135 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElements(0x4013bb4008, {0x4013ba0048, 0xf, 0x2f6a64?})
	github.com/microsoft/typescript-go/internal/checker/checker.go:2126 +0x34
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceFile(0x4013bb4008, {0x884370, 0x40144043c0}, 0x400e6e7b88)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2098 +0xfc
github.com/microsoft/typescript-go/internal/checker.(*Checker).CheckSourceFile(0x4013bb4008, {0x884370, 0x40144043c0}, 0x400e6e7b88)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2087 +0x58
github.com/microsoft/typescript-go/internal/checker.(*Checker).getDiagnostics(0x4013bb4008, {0x884370?, 0x40144043c0?}, 0x400e6e7b88, 0x4013bb4210)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13231 +0x60
github.com/microsoft/typescript-go/internal/checker.(*Checker).GetDiagnostics(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13221
github.com/microsoft/typescript-go/internal/compiler.(*Program).getSemanticDiagnosticsForFile(0x401389c540, {0x884370, 0x40144043c0}, 0x400e6e7b88)
	github.com/microsoft/typescript-go/internal/compiler/program.go:461 +0x280
github.com/microsoft/typescript-go/internal/compiler.(*Program).getDiagnosticsHelper(0x400f385d70?, {0x884370, 0x40144043c0}, 0x400e6e7b88?, 0x20?, 0x0?, 0x4000884e48)
	github.com/microsoft/typescript-go/internal/compiler/program.go:619 +0xf4
github.com/microsoft/typescript-go/internal/compiler.(*Program).GetSemanticDiagnostics(...)
	github.com/microsoft/typescript-go/internal/compiler/program.go:394
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).GetDocumentDiagnostics(0x400f385d70, {0x884370, 0x40144043c0}, {0x400ff442a0?, 0x4000884ee8?})
	github.com/microsoft/typescript-go/internal/ls/diagnostics.go:18 +0xc8
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleDocumentDiagnostic(0x40000f82a0, {0x884370, 0x40144043c0}, 0x4014793f50)
	github.com/microsoft/typescript-go/internal/lsp/server.go:567 +0xa4
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x4000211798?, {0x884370?, 0x40144043c0?}, 0x0?)
	github.com/microsoft/typescript-go/internal/lsp/server.go:417 +0x1d0
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:302 +0x3c
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 34
	github.com/microsoft/typescript-go/internal/lsp/server.go:320 +0x6c8

goroutine 1 [sync.WaitGroup.Wait, 1 minutes]:
sync.runtime_SemacquireWaitGroup(0x4000111ca8?)
	runtime/sema.go:110 +0x2c
sync.(*WaitGroup).Wait(0x4000220008)
	sync/waitgroup.go:118 +0x70
golang.org/x/sync/errgroup.(*Group).Wait(0x4000220000)
	golang.org/x/sync@v0.14.0/errgroup/errgroup.go:65 +0x28
github.com/microsoft/typescript-go/internal/lsp.(*Server).Run(0x40000f82a0)
	github.com/microsoft/typescript-go/internal/lsp/server.go:210 +0x300
main.runLSP({0x400001e170, 0x1, 0x1})
	github.com/microsoft/typescript-go/cmd/tsgo/lsp.go:54 +0x358
main.runMain()
	github.com/microsoft/typescript-go/cmd/tsgo/main.go:18 +0xec
main.main()
	github.com/microsoft/typescript-go/cmd/tsgo/main.go:10 +0x1c

goroutine 17 [syscall, 1 minutes]:
os/signal.signal_recv()
	runtime/sigqueue.go:152 +0x30
os/signal.loop()
	os/signal/signal_unix.go:23 +0x1c
created by os/signal.Notify.func1.1 in goroutine 1
	os/signal/signal.go:152 +0x28

goroutine 33 [select, 1 minutes]:
os/signal.NotifyContext.func1()
	os/signal/signal.go:289 +0x68
created by os/signal.NotifyContext in goroutine 1
	os/signal/signal.go:288 +0x148

goroutine 34 [select]:
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop(0x40000f82a0, {0x884370?, 0x4000218000?})
	github.com/microsoft/typescript-go/internal/lsp/server.go:285 +0xb4
github.com/microsoft/typescript-go/internal/lsp.(*Server).Run.func1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:195 +0x28
golang.org/x/sync/errgroup.(*Group).add.func1()
	golang.org/x/sync@v0.14.0/errgroup/errgroup.go:130 +0x88
created by golang.org/x/sync/errgroup.(*Group).add in goroutine 1
	golang.org/x/sync@v0.14.0/errgroup/errgroup.go:98 +0x80

goroutine 35 [select]:
github.com/microsoft/typescript-go/internal/lsp.(*Server).writeLoop(0x40000f82a0, {0x884370, 0x4000218000})
	github.com/microsoft/typescript-go/internal/lsp/server.go:328 +0x7c
github.com/microsoft/typescript-go/internal/lsp.(*Server).Run.func2()
	github.com/microsoft/typescript-go/internal/lsp/server.go:196 +0x28
golang.org/x/sync/errgroup.(*Group).add.func1()
	golang.org/x/sync@v0.14.0/errgroup/errgroup.go:130 +0x88
created by golang.org/x/sync/errgroup.(*Group).add in goroutine 1
	golang.org/x/sync@v0.14.0/errgroup/errgroup.go:98 +0x80

goroutine 36 [select, 1 minutes]:
github.com/microsoft/typescript-go/internal/lsp.(*Server).Run.func3()
	github.com/microsoft/typescript-go/internal/lsp/server.go:201 +0x78
golang.org/x/sync/errgroup.(*Group).add.func1()
	golang.org/x/sync@v0.14.0/errgroup/errgroup.go:130 +0x88
created by golang.org/x/sync/errgroup.(*Group).add in goroutine 1
	golang.org/x/sync@v0.14.0/errgroup/errgroup.go:98 +0x80

goroutine 37 [syscall]:
syscall.Syscall(0x3f, 0x0, 0x40001b2000, 0x1000)
	syscall/syscall_linux.go:73 +0x20
syscall.read(0x4000044120?, {0x40001b2000?, 0x400040bb78?, 0x4d03ac?})
	syscall/zsyscall_linux_arm64.go:736 +0x40
syscall.Read(...)
	syscall/syscall_unix.go:183
internal/poll.ignoringEINTRIO(...)
	internal/poll/fd_unix.go:745
internal/poll.(*FD).Read(0x4000044120, {0x40001b2000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:161 +0x220
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0x400006a030, {0x40001b2000?, 0x400040bc18?, 0xda7d8?})
	os/file.go:124 +0x6c
bufio.(*Reader).fill(0x4000044720)
	bufio/bufio.go:113 +0xf8
bufio.(*Reader).ReadSlice(0x4000044720, 0xa)
	bufio/bufio.go:380 +0x30
bufio.(*Reader).collectFragments(0x4000044720, 0xa)
	bufio/bufio.go:455 +0x64
bufio.(*Reader).ReadBytes(0x400040bdd8?, 0xc8?)
	bufio/bufio.go:482 +0x1c
github.com/microsoft/typescript-go/internal/lsp/lsproto.(*BaseReader).Read(0x400006a290)
	github.com/microsoft/typescript-go/internal/lsp/lsproto/baseproto.go:34 +0x40
github.com/microsoft/typescript-go/internal/lsp.(*Server).read(0x400e6f4d90?)
	github.com/microsoft/typescript-go/internal/lsp/server.go:268 +0x20
github.com/microsoft/typescript-go/internal/lsp.(*Server).readLoop(0x40000f82a0, {0x0?, 0x0?})
	github.com/microsoft/typescript-go/internal/lsp/server.go:218 +0x28
github.com/microsoft/typescript-go/internal/lsp.(*Server).Run.func4()
	github.com/microsoft/typescript-go/internal/lsp/server.go:208 +0x30
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).Run in goroutine 1
	github.com/microsoft/typescript-go/internal/lsp/server.go:208 +0x2f8

goroutine 1394 [runnable]:
slices.Grow[...](...)
	slices/slices.go:418
github.com/microsoft/typescript-go/internal/core.(*Pool[...]).New(0x0)
	github.com/microsoft/typescript-go/internal/core/pool.go:17 +0x80
github.com/microsoft/typescript-go/internal/ast.(*NodeFactory).NewIdentifier(0x4013bb2288, {0x4000f6e2b8, 0x5})
	github.com/microsoft/typescript-go/internal/ast/ast.go:2031 +0x38
github.com/microsoft/typescript-go/internal/checker.(*nodeBuilderImpl).createExpressionFromSymbolChain(0x4013b44f50, {0x4013b8a980, 0x1, 0x1}, 0x0)
	github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:636 +0x300
github.com/microsoft/typescript-go/internal/checker.(*nodeBuilderImpl).symbolToExpression(0x4013b44f50, 0x401489afc0?, 0x1489af90?)
	github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:616 +0x3c
github.com/microsoft/typescript-go/internal/checker.(*nodeBuilderImpl).symbolToNode(0x4013bad440?, 0x0?, 0x42f8000?)
	github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:355 +0x168
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilder).SymbolToNode(0x4013bad440, 0x400565c758, 0x3fffffff, 0x3e0ea0?, 0xd5f5c0?, 0x0?, {0x0?, 0x0?})
	github.com/microsoft/typescript-go/internal/checker/nodebuilder.go:133 +0x58
github.com/microsoft/typescript-go/internal/checker.(*Checker).symbolToStringEx(0x4013bb4008, 0x400565c758, 0x0, 0x3fffffff, 0x4)
	github.com/microsoft/typescript-go/internal/checker/printer.go:265 +0x20c
github.com/microsoft/typescript-go/internal/checker.(*Checker).symbolToString(...)
	github.com/microsoft/typescript-go/internal/checker/printer.go:219
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkNoTypeArguments(0x4013bb4008, 0x40034de908, 0x400565c758)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21942 +0x58
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeAliasReference(0x4013bb4008, 0x40034de908, 0x400565c758)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22344 +0x408
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeReferenceType(0x40034de908?, 0x40034de908?, 0x40034de908?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21890 +0x94
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeReference(0x4013bb4008, 0x40034de908)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21805 +0xd4
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNodeWorker(0x5c8100?, 0x4013bcac30?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21649 +0x408
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNode(0x4013bb4008, 0x40034de908)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21600 +0x24
github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclaredTypeOfTypeAlias(0x4013bb4008, 0x400565d4e8)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22556 +0xf4
github.com/microsoft/typescript-go/internal/checker.(*Checker).tryGetDeclaredTypeOfSymbol(0xb00834e58?, 0xffbdd4c4b218?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22394 +0x80
github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclaredTypeOfSymbol(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22380
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeAliasReference(0x4013bb4008, 0x40000f6a68, 0x400565d4e8)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22302 +0xac
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeReferenceType(0x40000f6a68?, 0x40000f6a68?, 0x40000f6a68?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21890 +0x94
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeReference(0x4013bb4008, 0x40000f6a68)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21805 +0xd4
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNodeWorker(0x4000834ff8?, 0x23c3c?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21649 +0x408
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNode(0x4013bb4008, 0x40000f6a68)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21600 +0x24
github.com/microsoft/typescript-go/internal/checker.(*Checker).tryGetTypeFromTypeNode(0x4013bb4008, 0x3514dc?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21594 +0x34
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeForVariableLikeDeclaration(0x4013bb4008, 0x40004187e0, 0x8?, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15723 +0x160
github.com/microsoft/typescript-go/internal/checker.(*Checker).getWidenedTypeForVariableLikeDeclaration(0x4013bb4008, 0x40004187e0, 0x1)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15694 +0x30
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrPropertyWorker(0x4013bb4008, 0x4004c94008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15658 +0x23c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrProperty(0x4013bb4008, 0x4004c94008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15595 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfSymbol(0x0?, 0x1?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15555 +0xa8
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfParameter(0x4013bb4008, 0x7f0d8?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:16062 +0x28
github.com/microsoft/typescript-go/internal/checker.(*Checker).tryGetTypeAtPosition(0x4000835298?, 0x3386e0?, 0x8?)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1745 +0x48
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeAtPosition(...)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1735
github.com/microsoft/typescript-go/internal/checker.(*Checker).getMinArgumentCountEx(0x4013bb4008, 0x401363ef00, 0x4c90f78?)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1715 +0x158
github.com/microsoft/typescript-go/internal/checker.(*Checker).getMinArgumentCount(...)
	github.com/microsoft/typescript-go/internal/checker/relater.go:1682
github.com/microsoft/typescript-go/internal/checker.(*Checker).hasCorrectArity(0x4013bb4008, 0x4013667a90, {0x4013b75dd0, 0x2, 0xffffffffffffffff?}, 0x401363ef00, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8753 +0x64
github.com/microsoft/typescript-go/internal/checker.(*Checker).chooseOverload(0x4013bb4008, 0x4000835410, 0x4013b8a330)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8643 +0xb8
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveCall(0x4013bb4008, 0x4013667a90, {0x4013b8a838, 0x1, 0x1}, 0x0, 0x0, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8539 +0x3d8
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveNewExpression(0x4013bb4008, 0x4013667a90, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8251 +0x348
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveSignature(0x4013bb4528?, 0x88aa60?, 0x4013667a90?, 0x38de1c?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8087 +0x48
github.com/microsoft/typescript-go/internal/checker.(*Checker).getResolvedSignature(0x4013bb4008, 0x4013667a90, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8057 +0xd4
github.com/microsoft/typescript-go/internal/checker.(*Checker).getContextualTypeForArgumentAtIndex(0x4013bb4008, 0x4013667a90, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:28032 +0xe0
github.com/microsoft/typescript-go/internal/checker.(*Checker).getContextualTypeForArgument(0x4013bb4008, 0x4013667a90, 0x40136679a0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:28012 +0x80
github.com/microsoft/typescript-go/internal/checker.(*Checker).getContextualType(0x4013bb4008, 0x4013bdc090?, 0x4)
	github.com/microsoft/typescript-go/internal/checker/checker.go:27614 +0x12c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getApparentTypeOfContextualType(0x4013bb4008, 0x40136679a0, 0x4)
	github.com/microsoft/typescript-go/internal/checker/checker.go:28916 +0x78
github.com/microsoft/typescript-go/internal/checker.(*Checker).getContextualTypeForObjectLiteralElement(0x4013bb4008, 0x4013b89260, 0x8357b8?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:28151 +0x28
github.com/microsoft/typescript-go/internal/checker.(*Checker).getContextualType(0x4013bb4008, 0x4013bcaa20?, 0x4)
	github.com/microsoft/typescript-go/internal/checker/checker.go:27626 +0x54c
github.com/microsoft/typescript-go/internal/checker.(*Checker).GetContextualType.func1()
	github.com/microsoft/typescript-go/internal/checker/services.go:277 +0x28
github.com/microsoft/typescript-go/internal/checker.runWithoutResolvedSignatureCaching[...](0x4013bb4008?, 0x40136679a0, 0x4000835a98?)
	github.com/microsoft/typescript-go/internal/checker/services.go:332 +0x2fc
github.com/microsoft/typescript-go/internal/checker.runWithInferenceBlockedFromSourceNode[...](0x4013bb4008?, 0x4000835b28, 0x4000835a98?)
	github.com/microsoft/typescript-go/internal/checker/services.go:296 +0xe8
github.com/microsoft/typescript-go/internal/checker.(*Checker).GetContextualType(0x2?, 0x2?, 0x0?)
	github.com/microsoft/typescript-go/internal/checker/services.go:277 +0x4c
github.com/microsoft/typescript-go/internal/ls.getContextualTypeFromParent(0x4d0a90?, 0x4013b44b70?, 0x13b44b70?)
	github.com/microsoft/typescript-go/internal/ls/completions.go:2643 +0xf4
github.com/microsoft/typescript-go/internal/ls.fromContextualType(0x13b44b60?, 0x884370?, 0x4013bb4008)
	github.com/microsoft/typescript-go/internal/ls/string_completions.go:364 +0x30
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).getStringLiteralCompletionEntries(0x400ed88700?, {0x884370?, 0x4013667810?}, 0x4000835c68?, 0x400f36ccd0, 0x1de, 0x4000835cd8?, 0x49a340?)
	github.com/microsoft/typescript-go/internal/ls/string_completions.go:253 +0x554
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).getStringLiteralCompletions(0x4013bac270, {0x884370, 0x4013667810}, 0x400e6e7b88, 0x1de, 0x400f36ccd0, 0x400016e008, 0x401389c540, 0x4000835e80, 0x40002917a0)
	github.com/microsoft/typescript-go/internal/ls/string_completions.go:57 +0xa0
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).getCompletionsAtPosition(0x4013bac270, {0x884370, 0x4013667810}, 0x401389c540, 0x400e6e7b88, 0x1de, 0x40146b1710, 0x4000835e80, 0x40002917a0)
	github.com/microsoft/typescript-go/internal/ls/completions.go:299 +0x168
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).ProvideCompletion(0x4013bac270, {0x884370, 0x4013667810}, {0x400ff44270?, 0x40047b1e78?}, {0x1be6cc?, 0x0?}, 0x40146b1710, 0x40002917a0, 0x4000835e80)
	github.com/microsoft/typescript-go/internal/ls/completions.go:35 +0x98
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleCompletion(0x40000f82a0, {0x884370, 0x4013667810}, 0x4014793e90)
	github.com/microsoft/typescript-go/internal/lsp/server.go:652 +0x118
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x40047b1f98?, {0x884370?, 0x4013667810?}, 0x189bac?)
	github.com/microsoft/typescript-go/internal/lsp/server.go:423 +0xd4
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:302 +0x3c
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 34
	github.com/microsoft/typescript-go/internal/lsp/server.go:320 +0x6c8
[Info  - 2:50:16 PM] Connection to server got closed. Server will restart.

Metadata

Metadata

Assignees

Labels

Data raceDomain: EditorRelated to the LSP server, editor experiencebugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions