Skip to content

typeof json file with import panic: Unhandled case in Node.Expression (only occurs when using VSCode LSP, tsgo CLI works fine) #913

Closed
@theoludwig

Description

@theoludwig

As titled, the following:

import type Config from "./abc.json"
declare const config: typeof Config

Crash the typescript.native-preview-lsp server inside VSCode, while running tsgo --noEmit from @typescript/native-preview work completely fine.

Output:

panic: Unhandled case in Node.Expression

goroutine 25 [running]:
github.com/microsoft/typescript-go/internal/ast.(*Node).Expression(0x67?)
	github.com/microsoft/typescript-go/internal/ast/ast.go:369 +0x70e
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrPropertyWorker(0xc001093008, 0xc000d25810)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15284 +0x173
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrProperty(0xc001093008, 0xc000d25810)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15231 +0x4d
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfSymbol(0xc000380010?, 0xa?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15191 +0xa6
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveExportByName(0xc001093008, 0xc000d257a0, {0xac8f82, 0x7}, 0xc00038e000, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13792 +0x65
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfModuleDefault(0xc001093008, 0xc000d257a0, 0xc00038e000, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13722 +0x90
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfImportClause(0xc001093008, 0xc00038e000, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13712 +0xa5
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfAliasDeclaration(0xc0010936a8?, 0xbd3d40?, 0xb0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:14503 +0xbb
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveAlias(0xc001093008, 0xc000dc85b0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:14987 +0x145
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkAliasSymbol(0xc001093008, 0xc00038e000)
	github.com/microsoft/typescript-go/internal/checker/checker.go:6304 +0x4a
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkImportBinding(0xc001093008, 0xc00038e000)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5030 +0x4b
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkImportDeclaration(0xc001093008, 0xc00038e060)
	github.com/microsoft/typescript-go/internal/checker/checker.go:4957 +0x179
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElementWorker(0xc001093008, 0xc00038e060)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2225 +0x3a5
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElement(0xc001093008, 0xc001b53200?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2107 +0x4e
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElements(0xc001093008, {0xc000398000, 0x2, 0xc001b120c0?})
	github.com/microsoft/typescript-go/internal/checker/checker.go:2098 +0x2d
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceFile(0xc001093008, {0xbcdf50, 0xc001b14000}, 0xc00039a008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2070 +0x11c
github.com/microsoft/typescript-go/internal/checker.(*Checker).CheckSourceFile(0xc001093008, {0xbcdf50, 0xc001b14000}, 0xc00039a008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2059 +0x51
github.com/microsoft/typescript-go/internal/checker.(*Checker).GetDiagnostics(0xc001093008, {0xbcdf50?, 0xc001b14000?}, 0xc00039a008)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13158 +0x5e
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).GetDocumentDiagnostics(0xc001b12090, {0xbcdf50, 0xc001b14000}, {0xc00001c680?, 0x5bb35f?})
	github.com/microsoft/typescript-go/internal/ls/diagnostics.go:23 +0x13e
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleDocumentDiagnostic(0xc000133ba0, {0xbcdf50, 0xc001b14000}, 0xc0002c04b0)
	github.com/microsoft/typescript-go/internal/lsp/server.go:517 +0xc6
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x868ff2?, {0xbcdf50?, 0xc001b14000?}, 0xc000da6848?)
	github.com/microsoft/typescript-go/internal/lsp/server.go:397 +0x13c
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:282 +0x3a
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 7
	github.com/microsoft/typescript-go/internal/lsp/server.go:300 +0x82a
[Error - 10:04:42 PM] Server process exited with code 2.
[Error - 10:04:42 PM] The typescript.native-preview-lsp server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.

Activity

theoludwig

theoludwig commented on May 22, 2025

@theoludwig
Author

Is it too early to open issue about VSCode LSP? As you consider it still a prototype, sorry, if it creates useless noise, feel free to close it then, if it's not relevant yet.

(was not too sure, because in the README, it says "prototype: proof-of-concept only; do not log bugs")

jakebailey

jakebailey commented on May 22, 2025

@jakebailey
Member

It's not, no. Thanks for the issue.

shawngustaw

shawngustaw commented on May 23, 2025

@shawngustaw

I'm also seeing a similar error in a NextJS project. Happy to provide more details if needed!

panic: Unhandled case in Node.Expression

goroutine 8224 [running]:
github.com/microsoft/typescript-go/internal/ast.(*Node).Expression(0x14022f1d348?)
	github.com/microsoft/typescript-go/internal/ast/ast.go:369 +0x788
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrPropertyWorker(0x1401e0e5008, 0x14017636d90)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15284 +0x174
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrProperty(0x1401e0e5008, 0x14017636d90)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15231 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfSymbol(0x1b?, 0x14017636d20?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15191 +0xa8
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveExportByName(0x1401e0e5008, 0x14017636d20, {0x1010f85d8, 0x7}, 0x14000a4c300, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13792 +0x5c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfModuleDefault(0x1401e0e5008, 0x14017636d20, 0x14000a4c300, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13722 +0x84
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfImportClause(0x1401e0e5008, 0x14000a4c300, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13712 +0xa8
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfAliasDeclaration(0x1401e0e56a8?, 0x1013fc1a0?, 0x70?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:14503 +0xcc
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveAlias(0x1401e0e5008, 0x14014328070)
	github.com/microsoft/typescript-go/internal/checker/checker.go:14987 +0x138
github.com/microsoft/typescript-go/internal/checker.(*Checker).getSymbolFlagsEx(0x1401e0e5008, 0x14014328070, 0x70?, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15091 +0x17c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getSymbolFlags(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15063
github.com/microsoft/typescript-go/internal/checker.(*Checker).getSymbol(0x1401e0e5008, 0x100fdf1fc?, {0x140001445dc?, 0x0?}, 0x11b3bf)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2043 +0xa8
github.com/microsoft/typescript-go/internal/binder.(*NameResolver).lookup(0x14000a58050?, 0x14000a481b0?, {0x140001445dc?, 0x100ff0cf8?}, 0x22f1da78?)
	github.com/microsoft/typescript-go/internal/binder/nameresolver.go:429 +0x84
github.com/microsoft/typescript-go/internal/binder.(*NameResolver).Resolve(0x14017c65d50, 0x14000a481b0, {0x140001445dc, 0x8}, 0x11b3bf, 0x101848be0, 0x1, 0x0)
	github.com/microsoft/typescript-go/internal/binder/nameresolver.go:52 +0x218
github.com/microsoft/typescript-go/internal/checker.(*Checker).getResolvedSymbol(0x1401e0e5008, 0x14000a481b0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13107 +0xe8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkIdentifier(0x1401e0e5008, 0x14000a481b0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:10425 +0x44
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionWorker(0x1401e0e5008, 0x100f1cb60?, 0x22f1da98?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7244 +0x164
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionEx(0x1401e0e5008, 0x14000a481b0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7073 +0x54
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpression(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7066
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionWithTypeArguments(0x1401e0e5008, 0x14000a58050)
	github.com/microsoft/typescript-go/internal/checker/checker.go:10042 +0x13c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeQueryNode(0x1401e0e5008, 0x14000a58050)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22445 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNodeWorker(0x101283d00?, 0x140229fd0b0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21285 +0x23c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNode(0x1401e0e5008, 0x14000a58050)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21229 +0x24
github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclaredTypeOfTypeAlias(0x1401e0e5008, 0x14014328150)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22185 +0xf4
github.com/microsoft/typescript-go/internal/checker.(*Checker).tryGetDeclaredTypeOfSymbol(0x14000a4a1b0?, 0x14000a4a1b0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22023 +0x80
github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclaredTypeOfSymbol(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22009
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeAliasReference(0x1401e0e5008, 0x14000a4a120, 0x14014328150)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21931 +0xac
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeReferenceType(0x14000a4a120?, 0x14000a4a120?, 0x14000a4a120?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21519 +0x94
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeReference(0x1401e0e5008, 0x14000a4a120)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21434 +0xd4
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNodeWorker(0x101283d00?, 0x140229fd0b0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21278 +0x408
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNode(0x1401e0e5008, 0x14000a4a120)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21229 +0x24
github.com/microsoft/typescript-go/internal/checker.(*Checker).tryGetTypeFromTypeNode(0x1401e0e5008, 0x100f46e1c?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21223 +0x34
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeForVariableLikeDeclaration(0x1401e0e5008, 0x14000a62060, 0xa0?, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15359 +0x160
github.com/microsoft/typescript-go/internal/checker.(*Checker).getWidenedTypeForVariableLikeDeclaration(0x1401e0e5008, 0x14000a62060, 0x1)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15330 +0x30
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrPropertyWorker(0x1401e0e5008, 0x140167cfdc8)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15294 +0x23c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrProperty(0x1401e0e5008, 0x140167cfdc8)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15231 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfSymbol(0x1401e0e5008?, 0x1?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15191 +0xa8
github.com/microsoft/typescript-go/internal/checker.(*Checker).inferFromProperties(0x1401e0e5008, 0x14018496200, 0x14012ebfb00, 0xd0?)
	github.com/microsoft/typescript-go/internal/checker/inference.go:763 +0x160
github.com/microsoft/typescript-go/internal/checker.(*Checker).inferFromObjectTypes(0x1401e0e5008, 0x14018496200, 0x14012ebfb00, 0x1400cdeb600)
	github.com/microsoft/typescript-go/internal/checker/inference.go:752 +0x478
github.com/microsoft/typescript-go/internal/checker.(*Checker).invokeOnce(0x1401e0e5008, 0x14018496200, 0x14012ebfb00, 0x1400cdeb600, 0x1013ef4e8)
	github.com/microsoft/typescript-go/internal/checker/inference.go:357 +0x2b0
github.com/microsoft/typescript-go/internal/checker.(*Checker).inferFromTypes(0x1401e0e5008, 0x14018496200, 0x14012ebfb00, 0x1400cdeb600)
	github.com/microsoft/typescript-go/internal/checker/inference.go:277 +0xb04
github.com/microsoft/typescript-go/internal/checker.(*Checker).inferTypes(0x1401e0e5008, {0x1400dc267c0?, 0x1?, 0x1?}, 0x0?, 0x100000000?, 0x22f1e608?, 0x40?)
	github.com/microsoft/typescript-go/internal/checker/inference.go:61 +0xfc
github.com/microsoft/typescript-go/internal/checker.(*Checker).getConditionalType(0x1401e0e5008, 0x14003a0d2c0?, 0x0?, 0x0, 0x14022f1e720?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22685 +0x2b4
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromConditionalTypeNode(0x1401e0e5008, 0x1400300a1c0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22623 +0x220
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNodeWorker(0x101283d00?, 0x140229fd0b0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21311 +0x2b4
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeNode(0x1401e0e5008, 0x1400300a1c0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21229 +0x24
github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclaredTypeOfTypeAlias(0x1401e0e5008, 0x1401616e708)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22185 +0xf4
github.com/microsoft/typescript-go/internal/checker.(*Checker).tryGetDeclaredTypeOfSymbol(0x1400d8b1550?, 0x14016343110?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22023 +0x80
github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclaredTypeOfSymbol(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:22009
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeFromTypeAliasReference(0x1401e0e5008, 0x1400d0c2870, 0x1401616e708)
	github.com/microsoft/typescript-go/internal/checker/checker.go:21931 +0xac
...11 frames elided...
github.com/microsoft/typescript-go/internal/checker.(*Checker).getConstraintFromTypeParameter(0x1401e0e5008, 0x20?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15734 +0x118
github.com/microsoft/typescript-go/internal/checker.(*Checker).computeBaseConstraint(0x1401e0e5008, 0x1400a45fdc0, {0x14016a9c3c8, 0x1, 0x1})
	github.com/microsoft/typescript-go/internal/checker/checker.go:25738 +0x378
github.com/microsoft/typescript-go/internal/checker.(*Checker).getResolvedBaseConstraint(0x1401e0e5008, 0x1400a45fdc0, {0x0, 0x0, 0x0})
	github.com/microsoft/typescript-go/internal/checker/checker.go:25712 +0x160
github.com/microsoft/typescript-go/internal/checker.(*Checker).getBaseConstraintOfType(0x1401e0e5008, 0x14000033f20?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:25680 +0x84
github.com/microsoft/typescript-go/internal/checker.(*Checker).isLiteralOfContextualType(0x1401e0e5008, 0x14000976000, 0x140187b5400?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:23829 +0x144
github.com/microsoft/typescript-go/internal/checker.(*Checker).isLiteralOfContextualType.func1(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:23822
github.com/microsoft/typescript-go/internal/core.Some[...](...)
	github.com/microsoft/typescript-go/internal/core/core.go:139
github.com/microsoft/typescript-go/internal/checker.(*Checker).isLiteralOfContextualType(0x1401e0e5008, 0x14000976000, 0x140034635e0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:23821 +0x2a8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionWithContextualType(0x1401e0e5008, 0x1012d28a0?, 0x140183f3200, 0x14018496480, 0x8)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7009 +0x284
github.com/microsoft/typescript-go/internal/checker.(*Checker).inferTypeArguments(0x1401e0e5008, 0x14003476270, 0x140199e2300, {0x14003478438, 0x1, 0x1}, 0x8, 0x14018496480)
	github.com/microsoft/typescript-go/internal/checker/checker.go:9069 +0x344
github.com/microsoft/typescript-go/internal/checker.(*Checker).chooseOverload(0x1401e0e5008, 0x14022f1f2b0, 0x140129bcda0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8631 +0x66c
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveCall(0x1401e0e5008, 0x14003476270, {0x1400dc26780, 0x1, 0x1}, 0x0, 0x0, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8486 +0x3c8
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveCallExpression(0x1401e0e5008, 0x14003476270, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8145 +0x478
github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveSignature(0x1401e0e5528?, 0x1013fc7a0?, 0x14003476270?, 0xf11a8c?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8032 +0x58
github.com/microsoft/typescript-go/internal/checker.(*Checker).getResolvedSignature(0x1401e0e5008, 0x14003476270, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:8004 +0xd4
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkCallExpression(0x1401e0e5008, 0x14003476270, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7899 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionWorker(0x1401e0e5008, 0x100f0d15c?, 0x1283580?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7284 +0x2d0
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionEx(0x1401e0e5008, 0x14003476270, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7073 +0x54
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkExpressionCachedEx(0x1401e0e5008, 0x14003476270, 0x22f1f648?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:7042 +0xb4
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkDeclarationInitializer(0x1401e0e5008, 0x14003478140, 0x0, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15479 +0x78
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeForVariableLikeDeclaration(0x1401e0e5008, 0x14003478140, 0xa0?, 0x0)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15424 +0x71c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getWidenedTypeForVariableLikeDeclaration(0x1401e0e5008, 0x14003478140, 0x1)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15330 +0x30
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrPropertyWorker(0x1401e0e5008, 0x1401dfccd98)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15294 +0x23c
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfVariableOrParameterOrProperty(0x1401e0e5008, 0x1401dfccd98)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15231 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).getTypeOfSymbol(0x1401e0e5008?, 0x14003478140?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:15191 +0xa8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableLikeDeclaration(0x1401e0e5008, 0x14003478140)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5508 +0x258
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableDeclaration(0x1401e0e5008, 0x14003478140)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5404 +0x48
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElementWorker(0x1401e0e5008, 0x14003478140)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2209 +0x2d8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElement(0x1401e0e5008, 0x100ef0124?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2107 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElements(0x1401e0e5008, {0x14003478440, 0x1, 0x1400f26b380?})
	github.com/microsoft/typescript-go/internal/checker/checker.go:2098 +0x34
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableDeclarationList(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5399
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkVariableStatement(0x1401e0e5008, 0x14017ee0128?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:5395 +0xb8
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElementWorker(0x1401e0e5008, 0x140030e5968)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2179 +0x258
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElement(0x1401e0e5008, 0x140187b5680?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2107 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElements(0x1401e0e5008, {0x14003445508, 0x8, 0x100f1b2c0?})
	github.com/microsoft/typescript-go/internal/checker/checker.go:2098 +0x34
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkBlock(0x1401e0e5008, 0x14003478ec8)
	github.com/microsoft/typescript-go/internal/checker/checker.go:3535 +0x130
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElementWorker(0x1401e0e5008, 0x14003478ec8)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2177 +0x308
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceElement(0x1401e0e5008, 0x140195bab00?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2107 +0x50
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkFunctionExpressionOrObjectLiteralMethodDeferred(0x1401e0e5008, 0x14003407180)
	github.com/microsoft/typescript-go/internal/checker/checker.go:9725 +0xbc
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkDeferredNode(0x1401e0e5008, 0x1013fbba0?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2283 +0xd0
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkDeferredNodes-range1(...)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2268
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkDeferredNodes.(*OrderedSet[...]).Keys.func1(...)
	github.com/microsoft/typescript-go/internal/collections/ordered_map.go:117
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkDeferredNodes(0x1401e0e5008, 0x140034456f8?)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2264 +0xc0
github.com/microsoft/typescript-go/internal/checker.(*Checker).checkSourceFile(0x1401e0e5008, {0x1013f6470, 0x14018529450}, 0x140036eb608)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2071 +0x108
github.com/microsoft/typescript-go/internal/checker.(*Checker).CheckSourceFile(0x1401e0e5008, {0x1013f6470, 0x14018529450}, 0x140036eb608)
	github.com/microsoft/typescript-go/internal/checker/checker.go:2059 +0x58
github.com/microsoft/typescript-go/internal/checker.(*Checker).GetDiagnostics(0x1401e0e5008, {0x1013f6470?, 0x14018529450?}, 0x140036eb608)
	github.com/microsoft/typescript-go/internal/checker/checker.go:13158 +0x5c
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).GetDocumentDiagnostics(0x1401ebf3110, {0x1013f6470, 0x14018529450}, {0x140001543c0?, 0x0?})
	github.com/microsoft/typescript-go/internal/ls/diagnostics.go:23 +0xe8
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleDocumentDiagnostic(0x14000133d40, {0x1013f6470, 0x14018529450}, 0x140002a3aa0)
	github.com/microsoft/typescript-go/internal/lsp/server.go:517 +0xa4
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x1401ab13798?, {0x1013f6470?, 0x14018529450?}, 0x0?)
	github.com/microsoft/typescript-go/internal/lsp/server.go:397 +0x150
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:282 +0x3c
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 36
	github.com/microsoft/typescript-go/internal/lsp/server.go:300 +0x6c8
[Error - 10:18:21 AM] Server process exited with code 2.
[Error - 10:18:21 AM] The typescript.native-preview-lsp server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
mustafa-hanif

mustafa-hanif commented on May 30, 2025

@mustafa-hanif

Same for me, the only hint i can give in a nextjs project, with next-intl/server library, it crashes with the above error

ahejlsberg

ahejlsberg commented on Jun 16, 2025

@ahejlsberg
Member

This appears to have been fixed. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

        Participants

        @ahejlsberg@jakebailey@shawngustaw@theoludwig@mustafa-hanif

        Issue actions

          typeof json file with import panic: Unhandled case in Node.Expression (only occurs when using VSCode LSP, tsgo CLI works fine) · Issue #913 · microsoft/typescript-go