Closed
Description
Description
There's a data race present when calling SyntaxVisitor.visit(_:)
that wasn't present in the 0.50600.1 release.
Thread Sanitizer Report
==================
WARNING: ThreadSanitizer: Swift access race (pid=93661)
Modifying access of Swift variable at 0x000109a50e70 by thread T13:
#0 BumpPtrAllocator.allocate(byteCount:alignment:) BumpPtrAllocator.swift:98 (swiftlint:arm64+0x100658208)
#1 specialized BumpPtrAllocator.allocate<A>(_:count:) BumpPtrAllocator.swift:129 (swiftlint:arm64+0x1006c0004)
#2 specialized static RawSyntax.makeLayout(kind:uninitializedCount:arena:initializingWith:) RawSyntax.swift:634 (swiftlint:arm64+0x10066a498)
#3 SyntaxData.replacingChild(_:at:) SyntaxData.swift:353 (swiftlint:arm64+0x100753894)
#4 SyntaxData.withLeadingTrivia(_:) SyntaxData.swift:359 (swiftlint:arm64+0x1007526c0)
#5 TokenSyntax.withoutTrivia() SyntaxOtherNodes.swift:142 (swiftlint:arm64+0x100755668)
#6 OperatorUsageWhitespaceVisitor.violation(operatorToken:) OperatorUsageWhitespaceRule.swift:186 (swiftlint:arm64+0x100580fe8)
#7 OperatorUsageWhitespaceVisitor.visitPost(_:) OperatorUsageWhitespaceRule.swift:145 (swiftlint:arm64+0x1005804b0)
#8 SyntaxVisitor.visitImplTypeInitializerClauseSyntax(_:) SyntaxVisitor.swift:3781 (swiftlint:arm64+0x1008fc21c)
#9 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5890 (swiftlint:arm64+0x1009068dc)
#10 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#11 SyntaxVisitor.visitImplTypealiasDeclSyntax(_:) SyntaxVisitor.swift:3790 (swiftlint:arm64+0x1008fc2d4)
#12 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5892 (swiftlint:arm64+0x1009068ec)
#13 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#14 SyntaxVisitor.visitImplMemberDeclListItemSyntax(_:) SyntaxVisitor.swift:4065 (swiftlint:arm64+0x1008fd850)
#15 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5942 (swiftlint:arm64+0x100906074)
#16 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#17 SyntaxVisitor.visitImplMemberDeclListSyntax(_:) SyntaxVisitor.swift:4054 (swiftlint:arm64+0x1008fd774)
#18 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5940 (swiftlint:arm64+0x100906064)
#19 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#20 SyntaxVisitor.visitImplMemberDeclBlockSyntax(_:) SyntaxVisitor.swift:4043 (swiftlint:arm64+0x1008fd698)
#21 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5938 (swiftlint:arm64+0x100906054)
#22 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#23 SyntaxVisitor.visitImplStructDeclSyntax(_:) SyntaxVisitor.swift:4010 (swiftlint:arm64+0x1008fd404)
#24 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5932 (swiftlint:arm64+0x100906034)
#25 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#26 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#27 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#28 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#29 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#30 SyntaxVisitor.visitImplSourceFileSyntax(_:) SyntaxVisitor.swift:4076 (swiftlint:arm64+0x1008fd92c)
#31 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5944 (swiftlint:arm64+0x10090698c)
#32 SyntaxVisitor.walk<A>(_:) SyntaxVisitor.swift:41 (swiftlint:arm64+0x1008f7f1c)
#33 OperatorUsageWhitespaceRule.violationRanges(file:) OperatorUsageWhitespaceRule.swift:32 (swiftlint:arm64+0x10057e9dc)
#34 OperatorUsageWhitespaceRule.validate(file:) OperatorUsageWhitespaceRule.swift:21 (swiftlint:arm64+0x10057e3c4)
#35 protocol witness for Rule.validate(file:using:compilerArguments:) in conformance OperatorUsageWhitespaceRule <compiler-generated>:67 (swiftlint:arm64+0x10026c918)
#36 specialized Rule.lint(file:regions:benchmark:storage:configuration:superfluousDisableCommandRule:compilerArguments:) Linter.swift:84 (swiftlint:arm64+0x1002076d0)
#37 closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:226 (swiftlint:arm64+0x100201f40)
#38 partial apply for closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) <compiler-generated> (swiftlint:arm64+0x100207254)
#39 specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:66 (swiftlint:arm64+0x1001d14e4)
#40 partial apply for specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) <compiler-generated> (swiftlint:arm64+0x1001d3d48)
#41 partial apply for thunk for @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6070)
#42 _dispatch_client_callout2 <null>:71622888 (libdispatch.dylib:arm64e+0x41f0)
#43 _swift_dispatch_apply_current <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6140)
#44 specialized Array.parallelCompactMap<A>(transform:) Array+SwiftLint.swift:59 (swiftlint:arm64+0x1001d0ab8)
#45 CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:225 (swiftlint:arm64+0x100200c34)
#46 CollectedLinter.styleViolations(using:) Linter.swift:197 (swiftlint:arm64+0x100200990)
#47 (1) suspend resume partial function for closure #1 in static LintOrAnalyzeCommand.collectViolations(builder:) LintOrAnalyzeCommand.swift:74 (swiftlint:arm64+0x100e41d38)
#48 swift::runJobInEstablishedExecutorContext(swift::Job*) <null>:71622888 (libswift_Concurrency.dylib:arm64e+0x3a534)
Previous write of size 8 at 0x000109a50e70 by thread T4:
#0 BumpPtrAllocator.allocate(byteCount:alignment:) BumpPtrAllocator.swift:98 (swiftlint:arm64+0x100658234)
#1 specialized BumpPtrAllocator.allocate<A>(_:count:) BumpPtrAllocator.swift:129 (swiftlint:arm64+0x1006c0004)
#2 specialized static RawSyntax.makeLayout(kind:uninitializedCount:arena:initializingWith:) RawSyntax.swift:634 (swiftlint:arm64+0x10066a498)
#3 SyntaxData.replacingChild(_:at:) SyntaxData.swift:353 (swiftlint:arm64+0x100753894)
#4 SyntaxData.withLeadingTrivia(_:) SyntaxData.swift:359 (swiftlint:arm64+0x1007526c0)
#5 TokenSyntax.withoutTrivia() SyntaxOtherNodes.swift:142 (swiftlint:arm64+0x100755668)
#6 OperatorUsageWhitespaceVisitor.violation(operatorToken:) OperatorUsageWhitespaceRule.swift:186 (swiftlint:arm64+0x100580fe8)
#7 OperatorUsageWhitespaceVisitor.visitPost(_:) OperatorUsageWhitespaceRule.swift:151 (swiftlint:arm64+0x100580678)
#8 SyntaxVisitor.visitImplAssignmentExprSyntax(_:) SyntaxVisitor.swift:3121 (swiftlint:arm64+0x1008f8e8c)
#9 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5770 (swiftlint:arm64+0x100905da4)
#10 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#11 SyntaxVisitor.visitImplExprListSyntax(_:) SyntaxVisitor.swift:3141 (swiftlint:arm64+0x1008f9020)
#12 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5774 (swiftlint:arm64+0x10090670c)
#13 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#14 SyntaxVisitor.visitImplSequenceExprSyntax(_:) SyntaxVisitor.swift:3130 (swiftlint:arm64+0x1008f8f44)
#15 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5772 (swiftlint:arm64+0x1009066fc)
#16 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#17 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#18 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#19 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#20 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#21 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5734 (swiftlint:arm64+0x100905d00)
#22 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#23 SyntaxVisitor.visitImplInitializerDeclSyntax(_:) SyntaxVisitor.swift:4131 (swiftlint:arm64+0x1008fdd78)
#24 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5954 (swiftlint:arm64+0x1009069cc)
#25 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#26 SyntaxVisitor.visitImplMemberDeclListItemSyntax(_:) SyntaxVisitor.swift:4065 (swiftlint:arm64+0x1008fd850)
#27 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5942 (swiftlint:arm64+0x100906074)
#28 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#29 SyntaxVisitor.visitImplMemberDeclListSyntax(_:) SyntaxVisitor.swift:4054 (swiftlint:arm64+0x1008fd774)
#30 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5940 (swiftlint:arm64+0x100906064)
#31 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#32 SyntaxVisitor.visitImplMemberDeclBlockSyntax(_:) SyntaxVisitor.swift:4043 (swiftlint:arm64+0x1008fd698)
#33 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5938 (swiftlint:arm64+0x100906054)
#34 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#35 SyntaxVisitor.visitImplStructDeclSyntax(_:) SyntaxVisitor.swift:4010 (swiftlint:arm64+0x1008fd404)
#36 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5932 (swiftlint:arm64+0x100906034)
#37 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#38 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#39 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#40 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#41 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#42 SyntaxVisitor.visitImplSourceFileSyntax(_:) SyntaxVisitor.swift:4076 (swiftlint:arm64+0x1008fd92c)
#43 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5944 (swiftlint:arm64+0x10090698c)
#44 SyntaxVisitor.walk<A>(_:) SyntaxVisitor.swift:41 (swiftlint:arm64+0x1008f7f1c)
#45 OperatorUsageWhitespaceRule.violationRanges(file:) OperatorUsageWhitespaceRule.swift:32 (swiftlint:arm64+0x10057e9dc)
#46 OperatorUsageWhitespaceRule.validate(file:) OperatorUsageWhitespaceRule.swift:21 (swiftlint:arm64+0x10057e3c4)
#47 protocol witness for Rule.validate(file:using:compilerArguments:) in conformance OperatorUsageWhitespaceRule <compiler-generated>:67 (swiftlint:arm64+0x10026c918)
#48 specialized Rule.lint(file:regions:benchmark:storage:configuration:superfluousDisableCommandRule:compilerArguments:) Linter.swift:84 (swiftlint:arm64+0x1002076d0)
#49 closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:226 (swiftlint:arm64+0x100201f40)
#50 partial apply for closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) <compiler-generated> (swiftlint:arm64+0x100207254)
#51 specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:66 (swiftlint:arm64+0x1001d14e4)
#52 partial apply for specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) <compiler-generated> (swiftlint:arm64+0x1001d3d48)
#53 partial apply for thunk for @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6070)
#54 _dispatch_client_callout2 <null>:71622888 (libdispatch.dylib:arm64e+0x41f0)
#55 _swift_dispatch_apply_current <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6140)
#56 specialized Array.parallelCompactMap<A>(transform:) Array+SwiftLint.swift:59 (swiftlint:arm64+0x1001d0ab8)
#57 CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:225 (swiftlint:arm64+0x100200c34)
#58 CollectedLinter.styleViolations(using:) Linter.swift:197 (swiftlint:arm64+0x100200990)
#59 (1) suspend resume partial function for closure #1 in static LintOrAnalyzeCommand.collectViolations(builder:) LintOrAnalyzeCommand.swift:74 (swiftlint:arm64+0x100e41d38)
#60 swift::runJobInEstablishedExecutorContext(swift::Job*) <null>:71622888 (libswift_Concurrency.dylib:arm64e+0x3a534)
Location is heap block of size 56 at 0x000109a50e40 allocated by thread T5:
#0 __sanitizer_mz_malloc <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x5c29c)
#1 _malloc_zone_malloc <null>:71622888 (libsystem_malloc.dylib:arm64e+0x1e744)
#2 one-time initialization function for default SyntaxArena.swift:201 (swiftlint:arm64+0x100730aa8)
#3 dispatch_once <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84d54)
#4 dispatch_once_f <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84e10)
#5 SyntaxData.replacingChild(_:at:) SyntaxData.swift:353 (swiftlint:arm64+0x1007539d8)
#6 SyntaxData.withLeadingTrivia(_:) SyntaxData.swift:359 (swiftlint:arm64+0x1007526c0)
#7 TokenSyntax.withoutTrivia() SyntaxOtherNodes.swift:142 (swiftlint:arm64+0x100755668)
#8 OperatorUsageWhitespaceVisitor.violation(operatorToken:) OperatorUsageWhitespaceRule.swift:186 (swiftlint:arm64+0x100580fe8)
#9 OperatorUsageWhitespaceVisitor.visitPost(_:) OperatorUsageWhitespaceRule.swift:145 (swiftlint:arm64+0x1005804b0)
#10 SyntaxVisitor.visitImplTypeInitializerClauseSyntax(_:) SyntaxVisitor.swift:3781 (swiftlint:arm64+0x1008fc21c)
#11 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5890 (swiftlint:arm64+0x1009068dc)
#12 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#13 SyntaxVisitor.visitImplTypealiasDeclSyntax(_:) SyntaxVisitor.swift:3790 (swiftlint:arm64+0x1008fc2d4)
#14 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5892 (swiftlint:arm64+0x1009068ec)
#15 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#16 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#17 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#18 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#19 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#20 SyntaxVisitor.visitImplSourceFileSyntax(_:) SyntaxVisitor.swift:4076 (swiftlint:arm64+0x1008fd92c)
#21 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5944 (swiftlint:arm64+0x10090698c)
#22 SyntaxVisitor.walk<A>(_:) SyntaxVisitor.swift:41 (swiftlint:arm64+0x1008f7f1c)
#23 OperatorUsageWhitespaceRule.violationRanges(file:) OperatorUsageWhitespaceRule.swift:32 (swiftlint:arm64+0x10057e9dc)
#24 OperatorUsageWhitespaceRule.validate(file:) OperatorUsageWhitespaceRule.swift:21 (swiftlint:arm64+0x10057e3c4)
#25 protocol witness for Rule.validate(file:using:compilerArguments:) in conformance OperatorUsageWhitespaceRule <compiler-generated>:67 (swiftlint:arm64+0x10026c918)
#26 specialized Rule.lint(file:regions:benchmark:storage:configuration:superfluousDisableCommandRule:compilerArguments:) Linter.swift:84 (swiftlint:arm64+0x1002076d0)
#27 closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:226 (swiftlint:arm64+0x100201f40)
#28 partial apply for closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) <compiler-generated> (swiftlint:arm64+0x100207254)
#29 specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:66 (swiftlint:arm64+0x1001d14e4)
#30 partial apply for specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) <compiler-generated> (swiftlint:arm64+0x1001d3d48)
#31 partial apply for thunk for @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6070)
#32 _dispatch_client_callout2 <null>:71622888 (libdispatch.dylib:arm64e+0x41f0)
#33 _swift_dispatch_apply_current <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6140)
#34 specialized Array.parallelCompactMap<A>(transform:) Array+SwiftLint.swift:59 (swiftlint:arm64+0x1001d0ab8)
#35 CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:225 (swiftlint:arm64+0x100200c34)
#36 CollectedLinter.styleViolations(using:) Linter.swift:197 (swiftlint:arm64+0x100200990)
#37 (1) suspend resume partial function for closure #1 in static LintOrAnalyzeCommand.collectViolations(builder:) LintOrAnalyzeCommand.swift:74 (swiftlint:arm64+0x100e41d38)
#38 swift::runJobInEstablishedExecutorContext(swift::Job*) <null>:71622888 (libswift_Concurrency.dylib:arm64e+0x3a534)
Thread T13 (tid=16124395, running) is a GCD worker thread
Thread T4 (tid=16124384, running) is a GCD worker thread
Thread T5 (tid=16124386, running) is a GCD worker thread
SUMMARY: ThreadSanitizer: Swift access race BumpPtrAllocator.swift:98 in BumpPtrAllocator.allocate(byteCount:alignment:)
==================
==================
WARNING: ThreadSanitizer: data race (pid=93661)
Read of size 8 at 0x000109a50e60 by thread T13:
#0 BumpPtrAllocator.allocate(byteCount:alignment:) BumpPtrAllocator.swift:101 (swiftlint:arm64+0x10065825c)
#1 specialized BumpPtrAllocator.allocate<A>(_:count:) BumpPtrAllocator.swift:129 (swiftlint:arm64+0x1006c0004)
#2 specialized static RawSyntax.makeLayout(kind:uninitializedCount:arena:initializingWith:) RawSyntax.swift:634 (swiftlint:arm64+0x10066a498)
#3 SyntaxData.replacingChild(_:at:) SyntaxData.swift:353 (swiftlint:arm64+0x100753894)
#4 SyntaxData.withLeadingTrivia(_:) SyntaxData.swift:359 (swiftlint:arm64+0x1007526c0)
#5 TokenSyntax.withoutTrivia() SyntaxOtherNodes.swift:142 (swiftlint:arm64+0x100755668)
#6 OperatorUsageWhitespaceVisitor.violation(operatorToken:) OperatorUsageWhitespaceRule.swift:186 (swiftlint:arm64+0x100580fe8)
#7 OperatorUsageWhitespaceVisitor.visitPost(_:) OperatorUsageWhitespaceRule.swift:145 (swiftlint:arm64+0x1005804b0)
#8 SyntaxVisitor.visitImplTypeInitializerClauseSyntax(_:) SyntaxVisitor.swift:3781 (swiftlint:arm64+0x1008fc21c)
#9 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5890 (swiftlint:arm64+0x1009068dc)
#10 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#11 SyntaxVisitor.visitImplTypealiasDeclSyntax(_:) SyntaxVisitor.swift:3790 (swiftlint:arm64+0x1008fc2d4)
#12 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5892 (swiftlint:arm64+0x1009068ec)
#13 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#14 SyntaxVisitor.visitImplMemberDeclListItemSyntax(_:) SyntaxVisitor.swift:4065 (swiftlint:arm64+0x1008fd850)
#15 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5942 (swiftlint:arm64+0x100906074)
#16 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#17 SyntaxVisitor.visitImplMemberDeclListSyntax(_:) SyntaxVisitor.swift:4054 (swiftlint:arm64+0x1008fd774)
#18 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5940 (swiftlint:arm64+0x100906064)
#19 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#20 SyntaxVisitor.visitImplMemberDeclBlockSyntax(_:) SyntaxVisitor.swift:4043 (swiftlint:arm64+0x1008fd698)
#21 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5938 (swiftlint:arm64+0x100906054)
#22 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#23 SyntaxVisitor.visitImplStructDeclSyntax(_:) SyntaxVisitor.swift:4010 (swiftlint:arm64+0x1008fd404)
#24 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5932 (swiftlint:arm64+0x100906034)
#25 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#26 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#27 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#28 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#29 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#30 SyntaxVisitor.visitImplSourceFileSyntax(_:) SyntaxVisitor.swift:4076 (swiftlint:arm64+0x1008fd92c)
#31 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5944 (swiftlint:arm64+0x10090698c)
#32 SyntaxVisitor.walk<A>(_:) SyntaxVisitor.swift:41 (swiftlint:arm64+0x1008f7f1c)
#33 OperatorUsageWhitespaceRule.violationRanges(file:) OperatorUsageWhitespaceRule.swift:32 (swiftlint:arm64+0x10057e9dc)
#34 OperatorUsageWhitespaceRule.validate(file:) OperatorUsageWhitespaceRule.swift:21 (swiftlint:arm64+0x10057e3c4)
#35 protocol witness for Rule.validate(file:using:compilerArguments:) in conformance OperatorUsageWhitespaceRule <compiler-generated>:67 (swiftlint:arm64+0x10026c918)
#36 specialized Rule.lint(file:regions:benchmark:storage:configuration:superfluousDisableCommandRule:compilerArguments:) Linter.swift:84 (swiftlint:arm64+0x1002076d0)
#37 closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:226 (swiftlint:arm64+0x100201f40)
#38 partial apply for closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) <compiler-generated> (swiftlint:arm64+0x100207254)
#39 specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:66 (swiftlint:arm64+0x1001d14e4)
#40 partial apply for specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) <compiler-generated> (swiftlint:arm64+0x1001d3d48)
#41 partial apply for thunk for @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6070)
#42 _dispatch_client_callout2 <null>:71622888 (libdispatch.dylib:arm64e+0x41f0)
#43 _swift_dispatch_apply_current <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6140)
#44 specialized Array.parallelCompactMap<A>(transform:) Array+SwiftLint.swift:59 (swiftlint:arm64+0x1001d0ab8)
#45 CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:225 (swiftlint:arm64+0x100200c34)
#46 CollectedLinter.styleViolations(using:) Linter.swift:197 (swiftlint:arm64+0x100200990)
#47 (1) suspend resume partial function for closure #1 in static LintOrAnalyzeCommand.collectViolations(builder:) LintOrAnalyzeCommand.swift:74 (swiftlint:arm64+0x100e41d38)
#48 swift::runJobInEstablishedExecutorContext(swift::Job*) <null>:71622888 (libswift_Concurrency.dylib:arm64e+0x3a534)
Previous write of size 8 at 0x000109a50e60 by thread T8:
#0 BumpPtrAllocator.startNewSlab() BumpPtrAllocator.swift:63 (swiftlint:arm64+0x100657f64)
#1 BumpPtrAllocator.allocate(byteCount:alignment:) BumpPtrAllocator.swift:114 (swiftlint:arm64+0x100658294)
#2 specialized BumpPtrAllocator.allocate<A>(_:count:) BumpPtrAllocator.swift:129 (swiftlint:arm64+0x1006c0004)
#3 specialized static RawSyntax.makeLayout(kind:uninitializedCount:arena:initializingWith:) RawSyntax.swift:634 (swiftlint:arm64+0x10066a498)
#4 SyntaxData.replacingChild(_:at:) SyntaxData.swift:353 (swiftlint:arm64+0x100753894)
#5 SyntaxData.replacingChild(_:at:) SyntaxData.swift:354 (swiftlint:arm64+0x1007538fc)
#6 SyntaxData.replacingChild(_:at:) SyntaxData.swift:354 (swiftlint:arm64+0x1007538fc)
#7 SyntaxData.withTrailingTrivia(_:) SyntaxData.swift:367 (swiftlint:arm64+0x10075284c)
#8 TokenSyntax.withoutTrivia() SyntaxOtherNodes.swift:142 (swiftlint:arm64+0x1007556c8)
#9 OperatorUsageWhitespaceVisitor.violation(operatorToken:) OperatorUsageWhitespaceRule.swift:186 (swiftlint:arm64+0x100580fe8)
#10 OperatorUsageWhitespaceVisitor.visitPost(_:) OperatorUsageWhitespaceRule.swift:151 (swiftlint:arm64+0x100580678)
#11 SyntaxVisitor.visitImplAssignmentExprSyntax(_:) SyntaxVisitor.swift:3121 (swiftlint:arm64+0x1008f8e8c)
#12 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5770 (swiftlint:arm64+0x100905da4)
#13 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#14 SyntaxVisitor.visitImplExprListSyntax(_:) SyntaxVisitor.swift:3141 (swiftlint:arm64+0x1008f9020)
#15 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5774 (swiftlint:arm64+0x10090670c)
#16 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#17 SyntaxVisitor.visitImplSequenceExprSyntax(_:) SyntaxVisitor.swift:3130 (swiftlint:arm64+0x1008f8f44)
#18 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5772 (swiftlint:arm64+0x1009066fc)
#19 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#20 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#21 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#22 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#23 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#24 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5734 (swiftlint:arm64+0x100905d00)
#25 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#26 SyntaxVisitor.visitImplInitializerDeclSyntax(_:) SyntaxVisitor.swift:4131 (swiftlint:arm64+0x1008fdd78)
#27 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5954 (swiftlint:arm64+0x1009069cc)
#28 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#29 SyntaxVisitor.visitImplMemberDeclListItemSyntax(_:) SyntaxVisitor.swift:4065 (swiftlint:arm64+0x1008fd850)
#30 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5942 (swiftlint:arm64+0x100906074)
#31 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#32 SyntaxVisitor.visitImplMemberDeclListSyntax(_:) SyntaxVisitor.swift:4054 (swiftlint:arm64+0x1008fd774)
#33 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5940 (swiftlint:arm64+0x100906064)
#34 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#35 SyntaxVisitor.visitImplMemberDeclBlockSyntax(_:) SyntaxVisitor.swift:4043 (swiftlint:arm64+0x1008fd698)
#36 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5938 (swiftlint:arm64+0x100906054)
#37 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#38 SyntaxVisitor.visitImplStructDeclSyntax(_:) SyntaxVisitor.swift:4010 (swiftlint:arm64+0x1008fd404)
#39 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5932 (swiftlint:arm64+0x100906034)
#40 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#41 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#42 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#43 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#44 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#45 SyntaxVisitor.visitImplSourceFileSyntax(_:) SyntaxVisitor.swift:4076 (swiftlint:arm64+0x1008fd92c)
#46 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5944 (swiftlint:arm64+0x10090698c)
#47 SyntaxVisitor.walk<A>(_:) SyntaxVisitor.swift:41 (swiftlint:arm64+0x1008f7f1c)
#48 OperatorUsageWhitespaceRule.violationRanges(file:) OperatorUsageWhitespaceRule.swift:32 (swiftlint:arm64+0x10057e9dc)
#49 OperatorUsageWhitespaceRule.validate(file:) OperatorUsageWhitespaceRule.swift:21 (swiftlint:arm64+0x10057e3c4)
#50 protocol witness for Rule.validate(file:using:compilerArguments:) in conformance OperatorUsageWhitespaceRule <compiler-generated>:67 (swiftlint:arm64+0x10026c918)
#51 specialized Rule.lint(file:regions:benchmark:storage:configuration:superfluousDisableCommandRule:compilerArguments:) Linter.swift:84 (swiftlint:arm64+0x1002076d0)
#52 closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:226 (swiftlint:arm64+0x100201f40)
#53 partial apply for closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) <compiler-generated> (swiftlint:arm64+0x100207254)
#54 specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:66 (swiftlint:arm64+0x1001d14e4)
#55 partial apply for specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) <compiler-generated> (swiftlint:arm64+0x1001d3d48)
#56 partial apply for thunk for @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6070)
#57 _dispatch_client_callout2 <null>:71622888 (libdispatch.dylib:arm64e+0x41f0)
#58 _swift_dispatch_apply_current <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6140)
#59 specialized Array.parallelCompactMap<A>(transform:) Array+SwiftLint.swift:59 (swiftlint:arm64+0x1001d0ab8)
#60 CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:225 (swiftlint:arm64+0x100200c34)
#61 CollectedLinter.styleViolations(using:) Linter.swift:197 (swiftlint:arm64+0x100200990)
#62 (1) suspend resume partial function for closure #1 in static LintOrAnalyzeCommand.collectViolations(builder:) LintOrAnalyzeCommand.swift:74 (swiftlint:arm64+0x100e41d38)
#63 swift::runJobInEstablishedExecutorContext(swift::Job*) <null>:71622888 (libswift_Concurrency.dylib:arm64e+0x3a534)
Location is heap block of size 56 at 0x000109a50e40 allocated by thread T5:
#0 __sanitizer_mz_malloc <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x5c29c)
#1 _malloc_zone_malloc <null>:71622888 (libsystem_malloc.dylib:arm64e+0x1e744)
#2 one-time initialization function for default SyntaxArena.swift:201 (swiftlint:arm64+0x100730aa8)
#3 dispatch_once <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84d54)
#4 dispatch_once_f <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84e10)
#5 SyntaxData.replacingChild(_:at:) SyntaxData.swift:353 (swiftlint:arm64+0x1007539d8)
#6 SyntaxData.withLeadingTrivia(_:) SyntaxData.swift:359 (swiftlint:arm64+0x1007526c0)
#7 TokenSyntax.withoutTrivia() SyntaxOtherNodes.swift:142 (swiftlint:arm64+0x100755668)
#8 OperatorUsageWhitespaceVisitor.violation(operatorToken:) OperatorUsageWhitespaceRule.swift:186 (swiftlint:arm64+0x100580fe8)
#9 OperatorUsageWhitespaceVisitor.visitPost(_:) OperatorUsageWhitespaceRule.swift:145 (swiftlint:arm64+0x1005804b0)
#10 SyntaxVisitor.visitImplTypeInitializerClauseSyntax(_:) SyntaxVisitor.swift:3781 (swiftlint:arm64+0x1008fc21c)
#11 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5890 (swiftlint:arm64+0x1009068dc)
#12 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#13 SyntaxVisitor.visitImplTypealiasDeclSyntax(_:) SyntaxVisitor.swift:3790 (swiftlint:arm64+0x1008fc2d4)
#14 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5892 (swiftlint:arm64+0x1009068ec)
#15 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#16 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#17 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#18 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#19 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#20 SyntaxVisitor.visitImplSourceFileSyntax(_:) SyntaxVisitor.swift:4076 (swiftlint:arm64+0x1008fd92c)
#21 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5944 (swiftlint:arm64+0x10090698c)
#22 SyntaxVisitor.walk<A>(_:) SyntaxVisitor.swift:41 (swiftlint:arm64+0x1008f7f1c)
#23 OperatorUsageWhitespaceRule.violationRanges(file:) OperatorUsageWhitespaceRule.swift:32 (swiftlint:arm64+0x10057e9dc)
#24 OperatorUsageWhitespaceRule.validate(file:) OperatorUsageWhitespaceRule.swift:21 (swiftlint:arm64+0x10057e3c4)
#25 protocol witness for Rule.validate(file:using:compilerArguments:) in conformance OperatorUsageWhitespaceRule <compiler-generated>:67 (swiftlint:arm64+0x10026c918)
#26 specialized Rule.lint(file:regions:benchmark:storage:configuration:superfluousDisableCommandRule:compilerArguments:) Linter.swift:84 (swiftlint:arm64+0x1002076d0)
#27 closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:226 (swiftlint:arm64+0x100201f40)
#28 partial apply for closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) <compiler-generated> (swiftlint:arm64+0x100207254)
#29 specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:66 (swiftlint:arm64+0x1001d14e4)
#30 partial apply for specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) <compiler-generated> (swiftlint:arm64+0x1001d3d48)
#31 partial apply for thunk for @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6070)
#32 _dispatch_client_callout2 <null>:71622888 (libdispatch.dylib:arm64e+0x41f0)
#33 _swift_dispatch_apply_current <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6140)
#34 specialized Array.parallelCompactMap<A>(transform:) Array+SwiftLint.swift:59 (swiftlint:arm64+0x1001d0ab8)
#35 CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:225 (swiftlint:arm64+0x100200c34)
#36 CollectedLinter.styleViolations(using:) Linter.swift:197 (swiftlint:arm64+0x100200990)
#37 (1) suspend resume partial function for closure #1 in static LintOrAnalyzeCommand.collectViolations(builder:) LintOrAnalyzeCommand.swift:74 (swiftlint:arm64+0x100e41d38)
#38 swift::runJobInEstablishedExecutorContext(swift::Job*) <null>:71622888 (libswift_Concurrency.dylib:arm64e+0x3a534)
Thread T13 (tid=16124395, running) is a GCD worker thread
Thread T8 (tid=16124389, running) is a GCD worker thread
Thread T5 (tid=16124386, running) is a GCD worker thread
SUMMARY: ThreadSanitizer: data race BumpPtrAllocator.swift:101 in BumpPtrAllocator.allocate(byteCount:alignment:)
==================
... some output omitted for brevity ...
==================
SUMMARY: ThreadSanitizer: data race <compiler-generated> in specialized _NativeSet.insertNew(_:at:isUnique:)
==================
==93661==ERROR: ThreadSanitizer: SEGV on unknown address 0x000000000008 (pc 0x0001ab284bc0 bp 0x00016f54c910 sp 0x00016f54c870 T16124394)
==93661==The signal is caused by a UNKNOWN memory access.
==93661==Hint: address points to the zero page.
#0 swift_isUniquelyReferenced_nonNull_native <null>:71622888 (libswiftCore.dylib:arm64e+0x3c4bc0)
#1 specialized static RawSyntax.makeLayout(kind:uninitializedCount:arena:initializingWith:) RawSyntax.swift:648 (swiftlint:arm64+0x10066a898)
#2 SyntaxData.replacingChild(_:at:) SyntaxData.swift:353 (swiftlint:arm64+0x100753894)
#3 SyntaxData.withLeadingTrivia(_:) SyntaxData.swift:359 (swiftlint:arm64+0x1007526c0)
#4 TokenSyntax.withoutTrivia() SyntaxOtherNodes.swift:142 (swiftlint:arm64+0x100755668)
#5 OperatorUsageWhitespaceVisitor.violation(operatorToken:) OperatorUsageWhitespaceRule.swift:186 (swiftlint:arm64+0x100580fe8)
#6 OperatorUsageWhitespaceVisitor.visitPost(_:) OperatorUsageWhitespaceRule.swift:139 (swiftlint:arm64+0x1005802e8)
#7 SyntaxVisitor.visitImplInitializerClauseSyntax(_:) SyntaxVisitor.swift:4089 (swiftlint:arm64+0x1008fda2c)
#8 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5946 (swiftlint:arm64+0x10090699c)
#9 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#10 SyntaxVisitor.visitImplPatternBindingSyntax(_:) SyntaxVisitor.swift:4252 (swiftlint:arm64+0x1008fe6ec)
#11 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5976 (swiftlint:arm64+0x1009060f4)
#12 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#13 SyntaxVisitor.visitImplPatternBindingListSyntax(_:) SyntaxVisitor.swift:4263 (swiftlint:arm64+0x1008fe7c8)
#14 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5978 (swiftlint:arm64+0x100906a1c)
#15 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#16 SyntaxVisitor.visitImplVariableDeclSyntax(_:) SyntaxVisitor.swift:4274 (swiftlint:arm64+0x1008fe8a4)
#17 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5980 (swiftlint:arm64+0x100906a2c)
#18 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#19 SyntaxVisitor.visitImplMemberDeclListItemSyntax(_:) SyntaxVisitor.swift:4065 (swiftlint:arm64+0x1008fd850)
#20 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5942 (swiftlint:arm64+0x100906074)
#21 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#22 SyntaxVisitor.visitImplMemberDeclListSyntax(_:) SyntaxVisitor.swift:4054 (swiftlint:arm64+0x1008fd774)
#23 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5940 (swiftlint:arm64+0x100906064)
#24 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#25 SyntaxVisitor.visitImplMemberDeclBlockSyntax(_:) SyntaxVisitor.swift:4043 (swiftlint:arm64+0x1008fd698)
#26 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5938 (swiftlint:arm64+0x100906054)
#27 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#28 SyntaxVisitor.visitImplClassDeclSyntax(_:) SyntaxVisitor.swift:3988 (swiftlint:arm64+0x1008fd24c)
#29 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5928 (swiftlint:arm64+0x10090695c)
#30 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#31 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5730 (swiftlint:arm64+0x100906628)
#32 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#33 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5732 (swiftlint:arm64+0x100905c78)
#34 specialized SyntaxVisitor.visitChildren<A>(_:) SyntaxVisitor.swift:6244 (swiftlint:arm64+0x10090787c)
#35 SyntaxVisitor.visitImplSourceFileSyntax(_:) SyntaxVisitor.swift:4076 (swiftlint:arm64+0x1008fd92c)
#36 SyntaxVisitor.visit(_:) SyntaxVisitor.swift:5944 (swiftlint:arm64+0x10090698c)
#37 SyntaxVisitor.walk<A>(_:) SyntaxVisitor.swift:41 (swiftlint:arm64+0x1008f7f1c)
#38 OperatorUsageWhitespaceRule.violationRanges(file:) OperatorUsageWhitespaceRule.swift:32 (swiftlint:arm64+0x10057e9dc)
#39 OperatorUsageWhitespaceRule.validate(file:) OperatorUsageWhitespaceRule.swift:21 (swiftlint:arm64+0x10057e3c4)
#40 protocol witness for Rule.validate(file:using:compilerArguments:) in conformance OperatorUsageWhitespaceRule <compiler-generated>:67 (swiftlint:arm64+0x10026c918)
#41 specialized Rule.lint(file:regions:benchmark:storage:configuration:superfluousDisableCommandRule:compilerArguments:) Linter.swift:84 (swiftlint:arm64+0x1002076d0)
#42 closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:226 (swiftlint:arm64+0x100201f40)
#43 partial apply for closure #2 in CollectedLinter.getStyleViolations(using:benchmark:) <compiler-generated> (swiftlint:arm64+0x100207254)
#44 specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:66 (swiftlint:arm64+0x1001d14e4)
#45 partial apply for specialized closure #1 in closure #1 in Array.parallelMap<A>(transform:) <compiler-generated> (swiftlint:arm64+0x1001d3d48)
#46 partial apply for thunk for @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6070)
#47 thunk for @escaping @callee_guaranteed (@unowned Int) -> () <null>:71622888 (libswiftDispatch.dylib:arm64e+0x609c)
#48 __wrap_dispatch_apply_block_invoke <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x86518)
#49 _dispatch_client_callout2 <null>:71622888 (libdispatch.dylib:arm64e+0x41f0)
#50 _dispatch_apply_invoke_and_wait <null>:71622888 (libdispatch.dylib:arm64e+0x18f88)
#51 _dispatch_apply_with_attr_f <null>:71622888 (libdispatch.dylib:arm64e+0x18268)
#52 dispatch_apply <null>:71622888 (libdispatch.dylib:arm64e+0x18478)
#53 wrap_dispatch_apply <null>:71622888 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x86488)
#54 _swift_dispatch_apply_current <null>:71622888 (libswiftDispatch.dylib:arm64e+0x6140)
#55 static OS_dispatch_queue.concurrentPerform(iterations:execute:) <null>:71622888 (libswiftDispatch.dylib:arm64e+0x5ff4)
#56 specialized closure #1 in Array.parallelMap<A>(transform:) Array+SwiftLint.swift:65 (swiftlint:arm64+0x1001d10d0)
#57 specialized Array.parallelCompactMap<A>(transform:) Array+SwiftLint.swift:59 (swiftlint:arm64+0x1001d0ab8)
#58 CollectedLinter.getStyleViolations(using:benchmark:) Linter.swift:225 (swiftlint:arm64+0x100200c34)
#59 CollectedLinter.styleViolations(using:) Linter.swift:197 (swiftlint:arm64+0x100200990)
#60 (1) suspend resume partial function for closure #1 in static LintOrAnalyzeCommand.collectViolations(builder:) LintOrAnalyzeCommand.swift:74 (swiftlint:arm64+0x100e41d38)
#61 swift::runJobInEstablishedExecutorContext(swift::Job*) <null>:71622888 (libswift_Concurrency.dylib:arm64e+0x3a534)
==93661==Register values:
x[0] = 0x8000000000000000 x[1] = 0x0000000000000008 x[2] = 0x00000001044e7f00 x[3] = 0x0000000114007c40
x[4] = 0x0000000063000000 x[5] = 0x0000000000000000 x[6] = 0x00000001044cc00c x[7] = 0x00000001044cc00c
x[8] = 0x00000000000a0030 x[9] = 0x0000000000000000 x[10] = 0x0000000000000001 x[11] = 0x0000000000000001
x[12] = 0x0000000000000000 x[13] = 0x0000000000000008 x[14] = 0x00000001096142f8 x[15] = 0x0000000109614300
x[16] = 0x00000001ab284bc0 x[17] = 0x00000001044dcb08 x[18] = 0x0000000000000000 x[19] = 0x0000000109616f80
x[20] = 0x000000010a4337b8 x[21] = 0x000000016f54c950 x[22] = 0x00000001096142f8 x[23] = 0x000000010a433780
x[24] = 0x0000000000000002 x[25] = 0x000000010a4337b8 x[26] = 0x000000010a4337c0 x[27] = 0x0000000000000007
x[28] = 0x0000000200000000 fp = 0x000000016f54c910 lr = 0x00000001015a4cf4 sp = 0x000000016f54c870
ThreadSanitizer can not provide additional info.
SUMMARY: ThreadSanitizer: SEGV (libswiftCore.dylib:arm64e+0x3c4bc0) in swift_isUniquelyReferenced_nonNull_native+0x0
==93661==ABORTING
See the full unabridged output attached. jp-swift-syntax-swift-parser-tsan.txt
Steps to Reproduce
I don't yet have a minimal repro project, but in the meantime here's how to repro:
$ git clone https://github.com/realm/SwiftLint
$ cd SwiftLint
$ git checkout jp-swift-syntax-swift-parser-tsan
$ swift run --configuration release --sanitize thread swiftlint
The previous commit (pointing to SwiftSyntax 0.50600.1) doesn't have this race.
Tested with Xcode 14 RC1 & macOS 12.5.1 on an Apple M1 Max.
I can avoid this race by disabling all parallelism.