-
Notifications
You must be signed in to change notification settings - Fork 679
Closed
Labels
Description
CI's smoke test in race mode (https://github.com/microsoft/typescript-go/actions/runs/15566037970/job/43830253823) detected this race:
==================
WARNING: DATA RACE
Write at 0x00c00c7316b0 by goroutine 533:
runtime.mapassign_fast64ptr()
/opt/hostedtoolcache/go/1.24.4/x64/src/internal/runtime/maps/runtime_fast64_swiss.go:367 +0x0
github.com/microsoft/typescript-go/internal/core.(*LinkStore[go.shape.*github.com/microsoft/typescript-go/internal/ast.Node,go.shape.struct { github.com/microsoft/typescript-go/internal/checker.resolvedSignature *github.com/microsoft/typescript-go/internal/checker.Signature; github.com/microsoft/typescript-go/internal/checker.effectsSignature *github.com/microsoft/typescript-go/internal/checker.Signature; github.com/microsoft/typescript-go/internal/checker.decoratorSignature *github.com/microsoft/typescript-go/internal/checker.Signature }]).Get()
/home/runner/work/typescript-go/typescript-go/internal/core/linkstore.go:1[9](https://github.com/microsoft/typescript-go/actions/runs/15566037970/job/43830253823#step:11:10) +0x15b
github.com/microsoft/typescript-go/internal/checker.(*Checker).getSignatureFromDeclaration()
/home/runner/work/typescript-go/typescript-go/internal/checker/checker.go:18771 +0x5d
github.com/microsoft/typescript-go/internal/checker.(*Checker).getSignaturesOfSymbol()
/home/runner/work/typescript-go/typescript-go/internal/checker/checker.go:18765 +0x3b6
github.com/microsoft/typescript-go/internal/checker.(*emitResolver).IsImplementationOfOverload()
/home/runner/work/typescript-go/typescript-go/internal/checker/emitresolver.go:420 +0x29c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformTopLevelDeclaration()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:[10](https://github.com/microsoft/typescript-go/actions/runs/15566037970/job/43830253823#step:11:11)71 +0x465
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitDeclarationStatements()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:940 +0x84
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:[11](https://github.com/microsoft/typescript-go/actions/runs/15566037970/job/43830253823#step:11:12)8 +0x130
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit-fm()
<autogenerated>:1 +0x3d
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSlice()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:148 +0x133
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNodes()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:99 +0x84
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformModuleDeclaration()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:1179 +0x44c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformTopLevelDeclaration()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:1096 +0x864
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitDeclarationStatements()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:940 +0x84
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:118 +0x130
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit-fm()
<autogenerated>:1 +0x3d
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSlice()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:148 +0x133
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNodes()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:99 +0x84
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:185 +0x8f
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:172 +0x35c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:102 +0xfa
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit-fm()
<autogenerated>:1 +0x3d
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNode()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:51 +0x81
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:36 +0x691
github.com/microsoft/typescript-go/internal/transformers.(*Transformer).TransformSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/transformers/transformer.go:42 +0x66e
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emitDeclarationFile()
/home/runner/work/typescript-go/typescript-go/internal/compiler/emitter.go:108 +0x66c
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emit()
/home/runner/work/typescript-go/typescript-go/internal/compiler/emitter.go:43 +0x1cc
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit.func2()
/home/runner/work/typescript-go/typescript-go/internal/compiler/program.go:848 +0x1e4
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue.func1()
/home/runner/work/typescript-go/typescript-go/internal/core/workgroup.go:39 +0x8d
Previous read at 0x00c00c7316b0 by goroutine 481:
runtime.mapaccess1_fast64()
/opt/hostedtoolcache/go/1.24.4/x64/src/internal/runtime/maps/runtime_fast64_swiss.go:17 +0x0
github.com/microsoft/typescript-go/internal/core.(*LinkStore[go.shape.*github.com/microsoft/typescript-go/internal/ast.Node,go.shape.struct { github.com/microsoft/typescript-go/internal/checker.resolvedSignature *github.com/microsoft/typescript-go/internal/checker.Signature; github.com/microsoft/typescript-go/internal/checker.effectsSignature *github.com/microsoft/typescript-go/internal/checker.Signature; github.com/microsoft/typescript-go/internal/checker.decoratorSignature *github.com/microsoft/typescript-go/internal/checker.Signature }]).Get()
/home/runner/work/typescript-go/typescript-go/internal/core/linkstore.go:11 +0x7b
github.com/microsoft/typescript-go/internal/checker.(*Checker).getSignatureFromDeclaration()
/home/runner/work/typescript-go/typescript-go/internal/checker/checker.go:18771 +0x5d
github.com/microsoft/typescript-go/internal/checker.(*emitResolver).isOptionalParameter()
/home/runner/work/typescript-go/typescript-go/internal/checker/emitresolver.go:542 +0x1aa
github.com/microsoft/typescript-go/internal/checker.(*emitResolver).isOptionalUninitializedParameterProperty()
/home/runner/work/typescript-go/typescript-go/internal/checker/emitresolver.go:515 +0x6c
github.com/microsoft/typescript-go/internal/checker.(*emitResolver).requiresAddingImplicitUndefined()
/home/runner/work/typescript-go/typescript-go/internal/checker/emitresolver.go:497 +0x4d
github.com/microsoft/typescript-go/internal/checker.(*emitResolver).RequiresAddingImplicitUndefined()
/home/runner/work/typescript-go/typescript-go/internal/checker/emitresolver.go:490 +0xbb
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).ensureType()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:1001 +0x1db
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).ensureParameter()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:1539 +0x26e
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).updateParamList()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:1515 +0x2e4
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformFunctionDeclaration()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:1144 +0xfd
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformTopLevelDeclaration()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:1094 +0x6c4
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitDeclarationStatements()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:940 +0x84
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:118 +0x130
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit-fm()
<autogenerated>:1 +0x3d
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSlice()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:148 +0x133
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNodes()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:99 +0x84
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).transformSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:185 +0x8f
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visitSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:172 +0x35c
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit()
/home/runner/work/typescript-go/typescript-go/internal/transformers/declarations/transform.go:102 +0xfa
github.com/microsoft/typescript-go/internal/transformers/declarations.(*DeclarationTransformer).visit-fm()
<autogenerated>:1 +0x3d
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitNode()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:51 +0x81
github.com/microsoft/typescript-go/internal/ast.(*NodeVisitor).VisitSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/ast/visitor.go:36 +0x691
github.com/microsoft/typescript-go/internal/transformers.(*Transformer).TransformSourceFile()
/home/runner/work/typescript-go/typescript-go/internal/transformers/transformer.go:42 +0x66e
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emitDeclarationFile()
/home/runner/work/typescript-go/typescript-go/internal/compiler/emitter.go:108 +0x66c
github.com/microsoft/typescript-go/internal/compiler.(*emitter).emit()
/home/runner/work/typescript-go/typescript-go/internal/compiler/emitter.go:43 +0x1cc
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit.func2()
/home/runner/work/typescript-go/typescript-go/internal/compiler/program.go:848 +0x1e4
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue.func1()
/home/runner/work/typescript-go/typescript-go/internal/core/workgroup.go:39 +0x8d
Goroutine 533 (running) created at:
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue()
/home/runner/work/typescript-go/typescript-go/internal/core/workgroup.go:37 +0xf0
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit()
/home/runner/work/typescript-go/typescript-go/internal/compiler/program.go:840 +0x35e
github.com/microsoft/typescript-go/internal/execute.emitFilesAndReportErrors()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:269 +0x977
github.com/microsoft/typescript-go/internal/execute.performCompilation()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:189 +0x25a
github.com/microsoft/typescript-go/internal/execute.executeCommandLineWorker()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:137 +0x17[12](https://github.com/microsoft/typescript-go/actions/runs/15566037970/job/43830253823#step:11:13)
github.com/microsoft/typescript-go/internal/execute.CommandLine()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:35 +0x2[13](https://github.com/microsoft/typescript-go/actions/runs/15566037970/job/43830253823#step:11:14)
main.runMain()
/home/runner/work/typescript-go/typescript-go/cmd/tsgo/main.go:23 +0x171
main.main()
/home/runner/work/typescript-go/typescript-go/cmd/tsgo/main.go:10 +0x1c
Goroutine 481 (running) created at:
github.com/microsoft/typescript-go/internal/core.(*parallelWorkGroup).Queue()
/home/runner/work/typescript-go/typescript-go/internal/core/workgroup.go:37 +0xf0
github.com/microsoft/typescript-go/internal/compiler.(*Program).Emit()
/home/runner/work/typescript-go/typescript-go/internal/compiler/program.go:840 +0x35e
github.com/microsoft/typescript-go/internal/execute.emitFilesAndReportErrors()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:269 +0x977
github.com/microsoft/typescript-go/internal/execute.performCompilation()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:189 +0x25a
github.com/microsoft/typescript-go/internal/execute.executeCommandLineWorker()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:137 +0x[17](https://github.com/microsoft/typescript-go/actions/runs/15566037970/job/43830253823#step:11:18)12
github.com/microsoft/typescript-go/internal/execute.CommandLine()
/home/runner/work/typescript-go/typescript-go/internal/execute/tsc.go:35 +0x213
main.runMain()
/home/runner/work/typescript-go/typescript-go/cmd/tsgo/main.go:23 +0x171
main.main()
/home/runner/work/typescript-go/typescript-go/cmd/tsgo/main.go:10 +0x1c
==================
Found 1 data race(s)
RequiresAddingImplicitUndefined
should be locking before the switch so r.requiresAddingImplicitUndefined
is called under lock.