-
Notifications
You must be signed in to change notification settings - Fork 806
Open
Labels
Description
Stack trace
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x922ccf]
goroutine 2917882 [running]:
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).injectClassTypeMetadata(0xc48e0d1b80, 0x0, 0xc48d2a1880?)
github.com/microsoft/typescript-go/internal/transformers/tstransforms/metadata.go:196 +0x52f
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).visitClassDeclaration(0xc48e0d1b80, 0xc0972393b0)
github.com/microsoft/typescript-go/internal/transformers/tstransforms/metadata.go:104 +0x12e
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).visit(0xc48e0d1b80, 0xc0972393b0)
github.com/microsoft/typescript-go/internal/transformers/tstransforms/metadata.go:39 +0x245
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSlice(0xc4909a0600, {0xc4b74585a0, 0xb, 0xb})
github.com/microsoft/typescript-go/internal/ast/visitor.go:148 +0xc2
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNodes(0xc4909a0600, 0xc3c9c82148)
github.com/microsoft/typescript-go/internal/ast/visitor.go:99 +0x37
github.com/microsoft/typescript-go/internal/printer.(*EmitContext).VisitVariableEnvironment(0xc48f050e60, 0xc3c9c82148, 0xc4909a0600)
github.com/microsoft/typescript-go/internal/printer/emitcontext.go:753 +0x16d
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).visitTopLevelStatements(0xc48d2a1c48?, 0x419265?)
github.com/microsoft/typescript-go/internal/ast/visitor.go:255 +0x25
github.com/microsoft/typescript-go/internal/ast.(*SourceFile).VisitEachChild(0xc4b02ee308, 0xc4909a0600)
github.com/microsoft/typescript-go/internal/ast/ast.go:10890 +0x2a
github.com/microsoft/typescript-go/internal/ast.(*Node).VisitEachChild(...)
github.com/microsoft/typescript-go/internal/ast/ast.go:246
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitEachChild(...)
github.com/microsoft/typescript-go/internal/ast/visitor.go:191
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).visit(0xc48e0d1b80, 0xc4b02ee308)
github.com/microsoft/typescript-go/internal/transformers/tstransforms/metadata.go:56 +0x4fc
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNode(0xc48f050e60?, 0x7fefdc677850?)
github.com/microsoft/typescript-go/internal/ast/visitor.go:51 +0x27
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).emitJSFile(0xc451d43e10, 0xc4b02ee308, {0xc2079faee0, 0x70}, {0xc37b2e9f00, 0x74})
github.com/microsoft/typescript-go/internal/compiler/emitter.go:165 +0x1a6
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emit(0xc451d43e10)
github.com/microsoft/typescript-go/internal/compiler/emitter.go:47 +0x3c
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit.func2()
github.com/microsoft/typescript-go/internal/compiler/program.go:1437 +0x1b8
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue.func1()
github.com/microsoft/typescript-go/internal/core/workgroup.go:40 +0x13
sync.(*WaitGroup).Go.func1()
sync/waitgroup.go:239 +0x4a
created by sync.(*WaitGroup).Go in goroutine 2918022
sync/waitgroup.go:237 +0x73
Error: The script failed with exit code 2
Steps to reproduce
- tsgo --build tsconfig.json
it's proprietary code so I can't really share the project here. I'll just debug it myself whenever I get a chance.
Built it with debug mode on — finally got proper detailed stack traces out of it.
commit 2ca325f (HEAD -> main, origin/main, origin/HEAD)
Author: Jake Bailey 5341706+jakebailey@users.noreply.github.com
Date: Fri Jan 23 09:50:54 2026 -0800Don't build all platforms in parallel for release in CI (#2575)
goroutine 3535638 [running]:
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).injectClassTypeMetadata(0xc2b2e28fa0, 0x0, 0xc56666dcb0)
/workspace/typescript-go/internal/transformers/tstransforms/metadata.go:196 +0x146
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).visitClassDeclaration(0xc2b2e28fa0, 0xc56666dcb0)
/workspace/typescript-go/internal/transformers/tstransforms/metadata.go:104 +0x20b
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).visit(0xc2b2e28fa0, 0xc56666dcb0)
/workspace/typescript-go/internal/transformers/tstransforms/metadata.go:39 +0x2d8
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSlice(0xc5d04ec1e0, {0xc56a66fc00, 0xb, 0xb})
/workspace/typescript-go/internal/ast/visitor.go:148 +0x144
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNodes(0xc5d04ec1e0, 0xc571fdcbe0)
/workspace/typescript-go/internal/ast/visitor.go:99 +0xc5
github.com/microsoft/typescript-go/internal/printer.(*EmitContext).VisitVariableEnvironment(0xc15f7c4460, 0xc571fdcbe0, 0xc5d04ec1e0)
/workspace/typescript-go/internal/printer/emitcontext.go:753 +0x3f
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).visitTopLevelStatements(0xc5d04ec1e0, 0xc571fdcbe0)
/workspace/typescript-go/internal/ast/visitor.go:255 +0x4b
github.com/microsoft/typescript-go/internal/ast.(*SourceFile).VisitEachChild(0xc571ffe608, 0xc5d04ec1e0)
/workspace/typescript-go/internal/ast/ast.go:10890 +0x45
github.com/microsoft/typescript-go/internal/ast.(*Node).VisitEachChild(0xc571ffe608, 0xc5d04ec1e0)
/workspace/typescript-go/internal/ast/ast.go:246 +0x42
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitEachChild(0xc5d04ec1e0, 0xc571ffe608)
/workspace/typescript-go/internal/ast/visitor.go:191 +0x6c
github.com/microsoft/typescript-go/internal/transformers/tstransforms.(*MetadataTransformer).visit(0xc2b2e28fa0, 0xc571ffe608)
/workspace/typescript-go/internal/transformers/tstransforms/metadata.go:56 +0x65e
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNode(0xc5d04ec1e0, 0xc571ffe608)
/workspace/typescript-go/internal/ast/visitor.go:51 +0x87
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSourceFile(0xc5d04ec1e0, 0xc571ffe608)
/workspace/typescript-go/internal/ast/visitor.go:36 +0x47
github.com/microsoft/typescript-go/internal/transformers.(*Transformer).TransformSourceFile(0xc2b2e28fa0, 0xc571ffe608)
/workspace/typescript-go/internal/transformers/transformer.go:40 +0x3b
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emitJSFile(0xc58c0365b0, 0xc571ffe608, {0xc51a26a5b0, 0x67}, {0xc51a26a620, 0x6b})
/workspace/typescript-go/internal/compiler/emitter.go:165 +0x305
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emit(0xc58c0365b0)
/workspace/typescript-go/internal/compiler/emitter.go:47 +0xa5
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit.func2()
/workspace/typescript-go/internal/compiler/program.go:1437 +0x2a9
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue.func1()
/workspace/typescript-go/internal/core/workgroup.go:40 +0x1b
sync.(*WaitGroup).Go.func1()
/home/byteide/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/sync/waitgroup.go:239 +0x6c
created by sync.(*WaitGroup).Go in goroutine 3535669
/home/byteide/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/sync/waitgroup.go:237 +0xa5