Skip to content

Panic without repro #2160

@anilanar

Description

@anilanar

Stack trace

I'm hoping this is useful to find a bug somewhere, otherwise I have no reproduction because it's simply crashing for our codebase on my first try.

panic: runtime error: slice bounds out of range [86:85]

goroutine 100800 [running]:
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExportsOrImports(0x140001c7208, {0x12b050440, 0x1401907b8f0}, {0x1402afbb920, 0x60}, {0x1402afbb920, 0x45}, {0x1400a969090, 0xf}, {{0x0?, ...}, ...}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:1207 +0xfe0
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExportsOrImports-range1(...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:1237
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExportsOrImports.(*OrderedMap[...]).Entries.func1(...)
        github.com/microsoft/typescript-go/internal/collections/ordered_map.go:175
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExportsOrImports(0x140001c7208, {0x12b050440, 0x1401907b8f0}, {0x1402afbb920, 0x60}, {0x1402afbb920, 0x45}, {0x1400a969090, 0xf}, {{0xf?, ...}, ...}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:1235 +0x398
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExportsOrImports-range1(...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:1237
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExportsOrImports.(*OrderedMap[...]).Entries.func1(...)
        github.com/microsoft/typescript-go/internal/collections/ordered_map.go:175
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExportsOrImports(0x140001c7208, {0x12b050440, 0x1401907b8f0}, {0x1402afbb920, 0x60}, {0x1402afbb920, 0x45}, {0x1400a969090, 0xf}, {{0x8?, ...}, ...}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:1235 +0x398
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExports-range1(...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:927
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExports.(*OrderedMap[...]).Entries.func1(...)
        github.com/microsoft/typescript-go/internal/collections/ordered_map.go:175
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameFromExports(0x140001c7208, {0x12b050440, 0x1401907b8f0}, {0x1402afbb920, 0x60}, {0x1402afbb920, 0x45}, {0x1402afbb958, 0xd}, {{0x38?, ...}, ...}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:919 +0x2fc
github.com/microsoft/typescript-go/internal/modulespecifiers.tryDirectoryWithPackageJson({0x0?, 0x0?, 0x0?, 0x0?}, {{0x1402afbb920?, 0x1401907b8f0?}, 0x8?, 0x72?}, {0x101447a38, 0x14011a5e308}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:817 +0x2f0
github.com/microsoft/typescript-go/internal/modulespecifiers.tryGetModuleNameAsNodeModule({{0x1402afbb920?, 0x1401907b8f0?}, 0x8?, 0x72?}, {0x0, {0x14000d10b60, 0x67}, {0x14000d10b60, 0x4c}}, {0x101447a38, ...}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:711 +0x18c
github.com/microsoft/typescript-go/internal/modulespecifiers.computeModuleSpecifiers({0x1401907bc80, 0x1, 0x14000d10b60?}, 0x140001c7208, {0x101447a38, 0x14011a5e308}, {0x12b050440, 0x1401907b8f0}, {{0x100eefeb7, 0x10}, ...}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:390 +0x48c
github.com/microsoft/typescript-go/internal/modulespecifiers.GetModuleSpecifiersWithInfo(0x140446eeee0, {0x101445238?, 0x1405f285908?}, 0x140001c7208, {0x101447a38, 0x14011a5e308}, {0x12b050440, 0x1401907b8f0}, {{0x100eefeb7, 0x10}, ...}, ...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:71 +0x1a0
github.com/microsoft/typescript-go/internal/modulespecifiers.GetModuleSpecifiers(...)
        github.com/microsoft/typescript-go/internal/modulespecifiers/specifiers.go:29
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).getSpecifierForModuleSymbol(0x1401ddbff10, 0x140446eeee0, 0x0)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:1194 +0x43c
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).getSymbolChain.func1(...)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:989
github.com/microsoft/typescript-go/internal/core.Map[...](...)
        github.com/microsoft/typescript-go/internal/core/core.go:58
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).getSymbolChain(0x1401ddbff10, 0x14035444878, 0xc09e8, 0x1, 0x1)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:987 +0x558
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).lookupSymbolChainWorker(0x140655724b0?, 0x14035444878, 0x36f0e600?, 0x40?)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:956 +0x4c
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).lookupSymbolChain(0x1401ddbff10, 0x14035444878, 0xc09e8, 0x1)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:948 +0x58
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).symbolToTypeNode(0x1401ddbff10, 0x1406552c780?, 0xc09e8, 0x0)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:510 +0x40
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).typeReferenceToTypeNode(0x1401ddbff10, 0x1406552c780)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:2720 +0xbbc
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).typeToTypeNode(0x1401ddbff10, 0x14065afcc08?)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:2978 +0x744
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).serializeInferredReturnTypeForSignature(0x1401ddbff10, 0x14065afcc08?, 0x1406552c780)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:1651 +0x80
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).serializeReturnTypeForSignature(0x1401ddbff10, 0x14065afcc08)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:1934 +0x80
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).signatureToSignatureDeclarationHelper(0x1401ddbff10, 0x14065afcc08, 0xb9, 0x0)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:1721 +0x3a8
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).createTypeNodeFromObjectType(0x1401ddbff10, 0x140368fe3c0)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:2382 +0x160
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).visitAndTransformType(0x1401ddbff10, 0x140368fe3c0, 0x10143be08)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:2776 +0x510
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).createAnonymousTypeNode(0x1401ddbff10, 0x140368fe3c0)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:2502 +0x2ec
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).typeToTypeNode(0x1401ddbff10, 0x14038388140?)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:3047 +0x5f4
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilderImpl).serializeTypeForDeclaration(0x1401ddbff10, 0x14011d04c98, 0x800081c0d?, 0x10144e1c0?)
        github.com/microsoft/typescript-go/internal/checker/nodebuilderimpl.go:2006 +0x2b4
github.com/microsoft/typescript-go/internal/checker.(*NodeBuilder).SerializeTypeForDeclaration(0x1406557b4d0, 0x14011d04c98, 0x1403d18aa38, 0x1009396d0?, 0x11d04c98?, 0x140?, {0x10144e1c0?, 0x14038388140?})
        github.com/microsoft/typescript-go/internal/checker/nodebuilder.go:108 +0x5c
github.com/microsoft/typescript-go/internal/checker.(*EmitResolver).CreateTypeOfDeclaration(0x14057b1b560, 0x14065500000, 0x14011d04c98, 0x14011a5e308, 0x81c0d, 0x8, {0x10144e1c0, 0x14038388140})
        github.com/microsoft/typescript-go/internal/checker/emitresolver.go:942 +0x378
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).ensureType(0x1405f713ce0, 0x14011d04c98, 0xe8?)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:1103 +0x28c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformVariableDeclaration(0x1405f713ce0, 0x14011d04c98)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:660 +0x84
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitDeclarationSubtree(0x1405f713ce0, 0x14011d04c98)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:464 +0xa30
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit(0x140137bf6c8?, 0x100c6dfdc?)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:149 +0x13c
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSlice(0x14020affa40, {0x14011a258f0, 0x1, 0x1})
        github.com/microsoft/typescript-go/internal/ast/visitor.go:148 +0xa0
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNodes(0x14020affa40, 0x14011a29a60)
        github.com/microsoft/typescript-go/internal/ast/visitor.go:99 +0x3c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformVariableStatement(0x1405f713ce0, 0x1401169dbd0)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:1483 +0xcc
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformTopLevelDeclaration(0x1405f713ce0, 0x1401169dbd0)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:1186 +0x308
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitDeclarationStatements(0x1405f713ce0, 0x1401169dbd0)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:1034 +0x120c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit(0x14065416b38?, 0x100cec830?)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:123 +0x114
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSlice(0x14020affa40, {0x1400e932f00, 0x5, 0x5})
        github.com/microsoft/typescript-go/internal/ast/visitor.go:148 +0xa0
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNodes(0x14020affa40, 0x14011a29a80)
        github.com/microsoft/typescript-go/internal/ast/visitor.go:99 +0x3c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformSourceFile(0x1405f713ce0, 0x14011a5e308)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:191 +0x30
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitSourceFile(0x1405f713ce0, 0x14011a5e308)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:178 +0x164
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit(0x14038d29c00?, 0x69?)
        github.com/microsoft/typescript-go/internal/transformers/declarations/transform.go:106 +0xf4
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNode(0x1405787c630?, 0x14065500000?)
        github.com/microsoft/typescript-go/internal/ast/visitor.go:51 +0x30
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSourceFile(...)
        github.com/microsoft/typescript-go/internal/ast/visitor.go:36
github.com/microsoft/typescript-go/internal/transformers.(*Transformer).TransformSourceFile(...)
        github.com/microsoft/typescript-go/internal/transformers/transformer.go:40
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emitDeclarationFile(0x1405787c630, 0x14011a5e308, {0x14038d29c00, 0x69}, {0x0, 0x0})
        github.com/microsoft/typescript-go/internal/compiler/emitter.go:193 +0x1a8
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emit(0x1405787c630)
        github.com/microsoft/typescript-go/internal/compiler/emitter.go:48 +0x48
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit.func2()
        github.com/microsoft/typescript-go/internal/compiler/program.go:1416 +0x194
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue.func1()
        github.com/microsoft/typescript-go/internal/core/workgroup.go:40 +0x24
sync.(*WaitGroup).Go.func1()
        sync/waitgroup.go:239 +0x4c
created by sync.(*WaitGroup).Go in goroutine 127537
        sync/waitgroup.go:237 +0x70

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