Skip to content

Fatal error from nil Statements in JSON source file #4265

@DanielRosenwasser

Description

@DanielRosenwasser

No repro, but stack trace is

internal/tsoptions.convertConfigFileToObject()
	internal/tsoptions/tsconfigparsing.go:310
internal/tsoptions.parseOwnConfigOfJsonSourceFile()
	internal/tsoptions/tsconfigparsing.go:257
internal/tsoptions.parseConfig()
	internal/tsoptions/tsconfigparsing.go:1062
internal/tsoptions.ParseExtendedConfig()
	internal/tsoptions/tsconfigparsing.go:1020
internal/project.NewSession.NewExtendedConfigCache.func4()
	internal/project/extendedconfigcache.go:29
internal/project.(*OwnerCache[...]).LoadAndAcquire()
	internal/project/ownercache.go:42
internal/project.(*configFileRegistryBuilder).GetExtendedConfig()
	internal/project/configfileregistrybuilder.go:716
internal/tsoptions.getExtendedConfig()
	internal/tsoptions/tsconfigparsing.go:988
internal/tsoptions.parseConfig.func1()
	internal/tsoptions/tsconfigparsing.go:1074
internal/tsoptions.parseConfig()
	internal/tsoptions/tsconfigparsing.go:1134
internal/tsoptions.parseJsonConfigFileContentWorker()
	internal/tsoptions/tsconfigparsing.go:1197
internal/tsoptions.ParseJsonSourceFileConfigFileContent()
	internal/tsoptions/tsconfigparsing.go:738
internal/tsoptions.GetParsedCommandLineOfConfigFilePath()
	internal/tsoptions/tsconfigparsing.go:1815
internal/project.(*configFileRegistryBuilder).reloadIfNeeded()
	internal/project/configfileregistrybuilder.go:128
internal/project.(*configFileRegistryBuilder).acquireConfigForFile.func2()
	internal/project/configfileregistrybuilder.go:292
internal/project/dirty.(*SyncMapEntry[...]).changeLocked()
	internal/project/dirty/syncmap.go:105
internal/project/dirty.(*SyncMapEntry[...]).ChangeIf()
	internal/project/dirty/syncmap.go:135
internal/project.(*configFileRegistryBuilder).acquireConfigForFile()
	internal/project/configfileregistrybuilder.go:277

I think it's probably from a source file with nil Statements created in readJsonConfigFile:

SourceFile: (&ast.NodeFactory{}).NewSourceFile(ast.SourceFileParseOptions{FileName: fileName, Path: path}, "", nil, (&ast.NodeFactory{}).NewToken(ast.KindEndOfFile)).AsSourceFile(),

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions