Build Information
Successful build of AmplitudeCore, reference main (53086f), with Swift 6.1 for macOS (SPM) on 12 Oct 2026 18:45:57 UTC.
Swift 6 data race errors: 12
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/amplitude/AmplitudeCore-Swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/amplitude/AmplitudeCore-Swift
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 53086ff docs: use stable Amplitude logo URL (#111)
Cloned https://github.com/amplitude/AmplitudeCore-Swift.git
Revision (git rev-parse @):
53086ff48f1e53498edb277046bd41c61a1f67d1
SUCCESS checkout https://github.com/amplitude/AmplitudeCore-Swift.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/amplitude/AmplitudeCore-Swift.git
https://github.com/amplitude/AmplitudeCore-Swift.git
{
"dependencies" : [
],
"manifest_display_name" : "AmplitudeCore",
"name" : "AmplitudeCore",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "4.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "AmplitudeCore",
"targets" : [
"AmplitudeCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AmplitudeCoreNoUIKit",
"targets" : [
"AmplitudeCoreNoUIKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AmplitudeCoreFramework",
"targets" : [
"AmplitudeCoreFramework"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AmplitudeCoreNoUIKitFramework",
"targets" : [
"AmplitudeCoreNoUIKitFramework"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "AmplitudeCoreTests",
"module_type" : "SwiftTarget",
"name" : "AmplitudeCoreTests",
"path" : "Tests/AmplitudeCoreTests",
"sources" : [
"AnalyticsEventSnapshotTests.swift",
"AppEnvironmentTests.swift",
"CodableExtensionTests.swift",
"CrashCatcherTests.swift",
"DiagnosticsClientTests.swift",
"DiagnosticsRemoteConfigTests.swift",
"DiagnosticsStorageTests.swift",
"JSONValueTests.swift",
"RemoteConfigTests.swift",
"SampleTests.swift",
"StringExtensionTests.swift"
],
"target_dependencies" : [
"AmplitudeCore"
],
"type" : "test"
},
{
"c99name" : "AmplitudeCoreNoUIKitFramework",
"module_type" : "BinaryTarget",
"name" : "AmplitudeCoreNoUIKitFramework",
"path" : "remote/archive/AmplitudeCoreNoUIKit.zip",
"product_memberships" : [
"AmplitudeCoreNoUIKitFramework"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "AmplitudeCoreNoUIKit",
"module_type" : "SwiftTarget",
"name" : "AmplitudeCoreNoUIKit",
"path" : "Sources/AmplitudeCoreNoUIKit",
"product_memberships" : [
"AmplitudeCoreNoUIKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Constants.swift",
"Context/AmplitudeContext.swift",
"Device/CoreDevice.swift",
"Diagnostics/CoreDiagnostics.swift",
"Diagnostics/DiagnosticsClient.swift",
"Diagnostics/DiagnosticsStorage.swift",
"Functionalities/InterfaceSignal.swift",
"Logger/CoreLogger.swift",
"Logger/OSLogger.swift",
"Plugins/AnalyticsClient.swift",
"Plugins/AnalyticsEvent.swift",
"Plugins/AnalyticsEventSnapshot.swift",
"Plugins/AnalyticsIdentity.swift",
"Plugins/PluginHost.swift",
"Plugins/UniversalPlugin.swift",
"Remote Config/RemoteConfigClient.swift",
"Types/ServerZone.swift",
"Utilities/AppEnvironment.swift",
"Utilities/CodableExtension.swift",
"Utilities/CrashCatcher.swift",
"Utilities/HttpUtil.swift",
"Utilities/JSONValue.swift",
"Utilities/Sample.swift",
"Utilities/Storage.swift",
"Utilities/StringExtension.swift"
],
"type" : "library"
},
{
"c99name" : "AmplitudeCoreFramework",
"module_type" : "BinaryTarget",
"name" : "AmplitudeCoreFramework",
"path" : "remote/archive/AmplitudeCore.zip",
"product_memberships" : [
"AmplitudeCoreFramework"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "AmplitudeCore",
"module_type" : "SwiftTarget",
"name" : "AmplitudeCore",
"path" : "Sources/AmplitudeCore",
"product_memberships" : [
"AmplitudeCore"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Constants.swift",
"Context/AmplitudeContext.swift",
"Device/CoreDevice.swift",
"Diagnostics/CoreDiagnostics.swift",
"Diagnostics/DiagnosticsClient.swift",
"Diagnostics/DiagnosticsStorage.swift",
"Functionalities/InterfaceSignal.swift",
"Logger/CoreLogger.swift",
"Logger/OSLogger.swift",
"Plugins/AnalyticsClient.swift",
"Plugins/AnalyticsEvent.swift",
"Plugins/AnalyticsEventSnapshot.swift",
"Plugins/AnalyticsIdentity.swift",
"Plugins/PluginHost.swift",
"Plugins/UniversalPlugin.swift",
"Remote Config/RemoteConfigClient.swift",
"Types/ServerZone.swift",
"Utilities/AppEnvironment.swift",
"Utilities/CodableExtension.swift",
"Utilities/CrashCatcher.swift",
"Utilities/HttpUtil.swift",
"Utilities/JSONValue.swift",
"Utilities/Sample.swift",
"Utilities/Storage.swift",
"Utilities/StringExtension.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
warning: 'spi-builder-workspace': /Users/admin/builder/spi-builder-workspace/Package@swift-5.9.swift:9:15: warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
7 | platforms: [
8 | .macOS(.v10_13),
9 | .iOS(.v11),
| `- warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
10 | .tvOS(.v11),
11 | .watchOS(.v4),
/Users/admin/builder/spi-builder-workspace/Package@swift-5.9.swift:10:16: warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
8 | .macOS(.v10_13),
9 | .iOS(.v11),
10 | .tvOS(.v11),
| `- warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
11 | .watchOS(.v4),
12 | .visionOS(.v1),
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[1/5] Copying PrivacyInfo.xcprivacy
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/55] Emitting module AmplitudeCore
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:23:24: warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ignore it, and catching it would turn a recoverable EPIPE into a crash.
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
| |- warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousSignalHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousSignalHandlers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:24:24: warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
24 | private static var isRegistered = false
| |- warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:26:24: warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
| |- warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousCrashState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousCrashState' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | // Pre-allocated for signal-safe access
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:29:24: warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
| |- warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathBuffer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathBuffer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | private static var crashFilePathLength: Int = 0
31 |
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:30:24: warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
30 | private static var crashFilePathLength: Int = 0
| |- warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathLength' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathLength' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | private typealias SwiftDemangleFunc = @convention(c) (
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:36:24: warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 | ) -> UnsafeMutablePointer<CChar>?
35 |
36 | private static var swiftDemangle: SwiftDemangleFunc? = {
| |- warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'swiftDemangle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'swiftDemangle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | guard let handle = dlopen(nil, RTLD_NOW),
38 | let sym = dlsym(handle, "swift_demangle") else { return nil }
[7/57] Emitting module AmplitudeCoreNoUIKit
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:23:24: warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ignore it, and catching it would turn a recoverable EPIPE into a crash.
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
| |- warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousSignalHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousSignalHandlers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:24:24: warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
24 | private static var isRegistered = false
| |- warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:26:24: warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
| |- warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousCrashState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousCrashState' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | // Pre-allocated for signal-safe access
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:29:24: warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
| |- warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathBuffer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathBuffer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | private static var crashFilePathLength: Int = 0
31 |
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:30:24: warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
30 | private static var crashFilePathLength: Int = 0
| |- warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathLength' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathLength' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | private typealias SwiftDemangleFunc = @convention(c) (
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:36:24: warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 | ) -> UnsafeMutablePointer<CChar>?
35 |
36 | private static var swiftDemangle: SwiftDemangleFunc? = {
| |- warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'swiftDemangle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'swiftDemangle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | guard let handle = dlopen(nil, RTLD_NOW),
38 | let sym = dlsym(handle, "swift_demangle") else { return nil }
[8/59] Compiling AmplitudeCoreNoUIKit StringExtension.swift
[9/59] Compiling AmplitudeCoreNoUIKit resource_bundle_accessor.swift
[12/59] Compiling AmplitudeCore PluginHost.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:23:24: warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ignore it, and catching it would turn a recoverable EPIPE into a crash.
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
| |- warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousSignalHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousSignalHandlers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:24:24: warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
24 | private static var isRegistered = false
| |- warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:26:24: warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
| |- warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousCrashState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousCrashState' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | // Pre-allocated for signal-safe access
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:29:24: warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
| |- warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathBuffer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathBuffer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | private static var crashFilePathLength: Int = 0
31 |
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:30:24: warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
30 | private static var crashFilePathLength: Int = 0
| |- warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathLength' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathLength' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | private typealias SwiftDemangleFunc = @convention(c) (
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:36:24: warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 | ) -> UnsafeMutablePointer<CChar>?
35 |
36 | private static var swiftDemangle: SwiftDemangleFunc? = {
| |- warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'swiftDemangle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'swiftDemangle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | guard let handle = dlopen(nil, RTLD_NOW),
38 | let sym = dlsym(handle, "swift_demangle") else { return nil }
[13/59] Compiling AmplitudeCore UniversalPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:23:24: warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ignore it, and catching it would turn a recoverable EPIPE into a crash.
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
| |- warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousSignalHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousSignalHandlers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:24:24: warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
24 | private static var isRegistered = false
| |- warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:26:24: warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
| |- warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousCrashState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousCrashState' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | // Pre-allocated for signal-safe access
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:29:24: warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
| |- warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathBuffer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathBuffer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | private static var crashFilePathLength: Int = 0
31 |
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:30:24: warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
30 | private static var crashFilePathLength: Int = 0
| |- warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathLength' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathLength' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | private typealias SwiftDemangleFunc = @convention(c) (
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Utilities/CrashCatcher.swift:36:24: warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 | ) -> UnsafeMutablePointer<CChar>?
35 |
36 | private static var swiftDemangle: SwiftDemangleFunc? = {
| |- warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'swiftDemangle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'swiftDemangle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | guard let handle = dlopen(nil, RTLD_NOW),
38 | let sym = dlsym(handle, "swift_demangle") else { return nil }
[14/59] Compiling AmplitudeCore CodableExtension.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:23:24: warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ignore it, and catching it would turn a recoverable EPIPE into a crash.
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
| |- warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousSignalHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousSignalHandlers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:24:24: warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
24 | private static var isRegistered = false
| |- warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:26:24: warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
| |- warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousCrashState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousCrashState' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | // Pre-allocated for signal-safe access
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:29:24: warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
| |- warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathBuffer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathBuffer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | private static var crashFilePathLength: Int = 0
31 |
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:30:24: warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
30 | private static var crashFilePathLength: Int = 0
| |- warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathLength' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathLength' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | private typealias SwiftDemangleFunc = @convention(c) (
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:36:24: warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 | ) -> UnsafeMutablePointer<CChar>?
35 |
36 | private static var swiftDemangle: SwiftDemangleFunc? = {
| |- warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'swiftDemangle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'swiftDemangle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | guard let handle = dlopen(nil, RTLD_NOW),
38 | let sym = dlsym(handle, "swift_demangle") else { return nil }
[15/59] Compiling AmplitudeCore CrashCatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:23:24: warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ignore it, and catching it would turn a recoverable EPIPE into a crash.
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
| |- warning: static property 'previousSignalHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousSignalHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousSignalHandlers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:24:24: warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | private static let fatalSignals: [Int32] = [SIGABRT, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGTRAP]
23 | private static var previousSignalHandlers: [Int32: sigaction] = [:]
24 | private static var isRegistered = false
| |- warning: static property 'isRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:26:24: warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | private static var isRegistered = false
25 | private static let registrationLock = NSLock()
26 | private static var previousCrashState: PreviousCrashState = .notDetected
| |- warning: static property 'previousCrashState' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'previousCrashState' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'previousCrashState' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | // Pre-allocated for signal-safe access
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:29:24: warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
| |- warning: static property 'crashFilePathBuffer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathBuffer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathBuffer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | private static var crashFilePathLength: Int = 0
31 |
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:30:24: warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | // Pre-allocated for signal-safe access
29 | private static var crashFilePathBuffer: [CChar] = []
30 | private static var crashFilePathLength: Int = 0
| |- warning: static property 'crashFilePathLength' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'crashFilePathLength' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'crashFilePathLength' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | private typealias SwiftDemangleFunc = @convention(c) (
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Utilities/CrashCatcher.swift:36:24: warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 | ) -> UnsafeMutablePointer<CChar>?
35 |
36 | private static var swiftDemangle: SwiftDemangleFunc? = {
| |- warning: static property 'swiftDemangle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'swiftDemangle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'swiftDemangle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | guard let handle = dlopen(nil, RTLD_NOW),
38 | let sym = dlsym(handle, "swift_demangle") else { return nil }
[16/59] Compiling AmplitudeCore RemoteConfigClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:280:44: warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | private class CallbackInfo {
| `- note: class 'CallbackInfo' does not conform to the 'Sendable' protocol
51 | let id: UUID
52 | let key: String?
:
278 | }
279 | if let updatedRemoteConfig = try await self?._updateConfigs().value, let self {
280 | for callback in await self.callbacks {
| `- warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
281 | switch callback.deliveryMode {
282 | case .all:
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:171:23: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
169 | callbacks.append(callbackInfo)
170 |
171 | Task.detached { [weak self, fetchLocalTask, fetchRemoteTask] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
172 | switch callbackInfo.deliveryMode {
| `- note: closure captures 'callbackInfo' which is accessible to 'self'-isolated code
173 | case .all:
174 | await withThrowingTaskGroup(of: (configInfo: RemoteConfigInfo, source: Source).self) { [fetchLocalTask, fetchRemoteTask] taskGroup in
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:220:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
218 | timeoutTask.cancel()
219 | if let self {
220 | await sendCallback(callbackInfo, configInfo: remoteConfig, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
221 | }
222 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:228:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
226 | // timeout or remote fetch error, try storage
227 | if let localConfig = try? await fetchLocalTask.value {
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:230:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
231 | }
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:188:41: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
186 | didSendCallback = true
187 |
188 | await self?.sendCallback(callbackInfo, configInfo: result.configInfo, source: result.source)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
189 |
190 | // no need to send local callbacks if we already have remote
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:201:33: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
199 | }
200 |
201 | await self?.sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
202 | }
203 | case .waitForRemote(timeout: let timeout):
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:291:32: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
289 | }
290 |
291 | await self.sendCallback(callback, configInfo: updatedRemoteConfig, source: .remote)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'self'-isolated 'callback' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
292 | }
293 | }
[17/59] Compiling AmplitudeCore ServerZone.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:280:44: warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | private class CallbackInfo {
| `- note: class 'CallbackInfo' does not conform to the 'Sendable' protocol
51 | let id: UUID
52 | let key: String?
:
278 | }
279 | if let updatedRemoteConfig = try await self?._updateConfigs().value, let self {
280 | for callback in await self.callbacks {
| `- warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
281 | switch callback.deliveryMode {
282 | case .all:
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:171:23: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
169 | callbacks.append(callbackInfo)
170 |
171 | Task.detached { [weak self, fetchLocalTask, fetchRemoteTask] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
172 | switch callbackInfo.deliveryMode {
| `- note: closure captures 'callbackInfo' which is accessible to 'self'-isolated code
173 | case .all:
174 | await withThrowingTaskGroup(of: (configInfo: RemoteConfigInfo, source: Source).self) { [fetchLocalTask, fetchRemoteTask] taskGroup in
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:220:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
218 | timeoutTask.cancel()
219 | if let self {
220 | await sendCallback(callbackInfo, configInfo: remoteConfig, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
221 | }
222 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:228:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
226 | // timeout or remote fetch error, try storage
227 | if let localConfig = try? await fetchLocalTask.value {
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:230:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
231 | }
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:188:41: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
186 | didSendCallback = true
187 |
188 | await self?.sendCallback(callbackInfo, configInfo: result.configInfo, source: result.source)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
189 |
190 | // no need to send local callbacks if we already have remote
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:201:33: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
199 | }
200 |
201 | await self?.sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
202 | }
203 | case .waitForRemote(timeout: let timeout):
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:291:32: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
289 | }
290 |
291 | await self.sendCallback(callback, configInfo: updatedRemoteConfig, source: .remote)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'self'-isolated 'callback' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
292 | }
293 | }
[18/59] Compiling AmplitudeCore AppEnvironment.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:280:44: warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | private class CallbackInfo {
| `- note: class 'CallbackInfo' does not conform to the 'Sendable' protocol
51 | let id: UUID
52 | let key: String?
:
278 | }
279 | if let updatedRemoteConfig = try await self?._updateConfigs().value, let self {
280 | for callback in await self.callbacks {
| `- warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
281 | switch callback.deliveryMode {
282 | case .all:
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:171:23: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
169 | callbacks.append(callbackInfo)
170 |
171 | Task.detached { [weak self, fetchLocalTask, fetchRemoteTask] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
172 | switch callbackInfo.deliveryMode {
| `- note: closure captures 'callbackInfo' which is accessible to 'self'-isolated code
173 | case .all:
174 | await withThrowingTaskGroup(of: (configInfo: RemoteConfigInfo, source: Source).self) { [fetchLocalTask, fetchRemoteTask] taskGroup in
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:220:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
218 | timeoutTask.cancel()
219 | if let self {
220 | await sendCallback(callbackInfo, configInfo: remoteConfig, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
221 | }
222 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:228:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
226 | // timeout or remote fetch error, try storage
227 | if let localConfig = try? await fetchLocalTask.value {
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:230:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
231 | }
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:188:41: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
186 | didSendCallback = true
187 |
188 | await self?.sendCallback(callbackInfo, configInfo: result.configInfo, source: result.source)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
189 |
190 | // no need to send local callbacks if we already have remote
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:201:33: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
199 | }
200 |
201 | await self?.sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
202 | }
203 | case .waitForRemote(timeout: let timeout):
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/Remote Config/RemoteConfigClient.swift:291:32: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
289 | }
290 |
291 | await self.sendCallback(callback, configInfo: updatedRemoteConfig, source: .remote)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'self'-isolated 'callback' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
292 | }
293 | }
[19/59] Compiling AmplitudeCore AnalyticsEventSnapshot.swift
[20/59] Compiling AmplitudeCore Constants.swift
[21/59] Compiling AmplitudeCore HttpUtil.swift
[22/59] Compiling AmplitudeCore JSONValue.swift
[23/59] Compiling AmplitudeCore DiagnosticsStorage.swift
[24/59] Compiling AmplitudeCore AnalyticsClient.swift
[25/59] Compiling AmplitudeCore AnalyticsEvent.swift
[26/59] Compiling AmplitudeCore InterfaceSignal.swift
[27/59] Compiling AmplitudeCore CoreLogger.swift
[28/59] Compiling AmplitudeCore CoreDiagnostics.swift
[29/59] Compiling AmplitudeCore OSLogger.swift
[30/59] Compiling AmplitudeCore DiagnosticsClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:280:44: warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | private class CallbackInfo {
| `- note: class 'CallbackInfo' does not conform to the 'Sendable' protocol
51 | let id: UUID
52 | let key: String?
:
278 | }
279 | if let updatedRemoteConfig = try await self?._updateConfigs().value, let self {
280 | for callback in await self.callbacks {
| `- warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
281 | switch callback.deliveryMode {
282 | case .all:
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:171:23: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
169 | callbacks.append(callbackInfo)
170 |
171 | Task.detached { [weak self, fetchLocalTask, fetchRemoteTask] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
172 | switch callbackInfo.deliveryMode {
| `- note: closure captures 'callbackInfo' which is accessible to 'self'-isolated code
173 | case .all:
174 | await withThrowingTaskGroup(of: (configInfo: RemoteConfigInfo, source: Source).self) { [fetchLocalTask, fetchRemoteTask] taskGroup in
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:220:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
218 | timeoutTask.cancel()
219 | if let self {
220 | await sendCallback(callbackInfo, configInfo: remoteConfig, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
221 | }
222 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:228:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
226 | // timeout or remote fetch error, try storage
227 | if let localConfig = try? await fetchLocalTask.value {
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:230:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
231 | }
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:188:41: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
186 | didSendCallback = true
187 |
188 | await self?.sendCallback(callbackInfo, configInfo: result.configInfo, source: result.source)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
189 |
190 | // no need to send local callbacks if we already have remote
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:201:33: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
199 | }
200 |
201 | await self?.sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
202 | }
203 | case .waitForRemote(timeout: let timeout):
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:291:32: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
289 | }
290 |
291 | await self.sendCallback(callback, configInfo: updatedRemoteConfig, source: .remote)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'self'-isolated 'callback' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
292 | }
293 | }
[32/59] Compiling AmplitudeCore Sample.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:280:44: warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | private class CallbackInfo {
| `- note: class 'CallbackInfo' does not conform to the 'Sendable' protocol
51 | let id: UUID
52 | let key: String?
:
278 | }
279 | if let updatedRemoteConfig = try await self?._updateConfigs().value, let self {
280 | for callback in await self.callbacks {
| `- warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
281 | switch callback.deliveryMode {
282 | case .all:
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:171:23: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
169 | callbacks.append(callbackInfo)
170 |
171 | Task.detached { [weak self, fetchLocalTask, fetchRemoteTask] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
172 | switch callbackInfo.deliveryMode {
| `- note: closure captures 'callbackInfo' which is accessible to 'self'-isolated code
173 | case .all:
174 | await withThrowingTaskGroup(of: (configInfo: RemoteConfigInfo, source: Source).self) { [fetchLocalTask, fetchRemoteTask] taskGroup in
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:220:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
218 | timeoutTask.cancel()
219 | if let self {
220 | await sendCallback(callbackInfo, configInfo: remoteConfig, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
221 | }
222 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:228:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
226 | // timeout or remote fetch error, try storage
227 | if let localConfig = try? await fetchLocalTask.value {
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:230:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
231 | }
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:188:41: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
186 | didSendCallback = true
187 |
188 | await self?.sendCallback(callbackInfo, configInfo: result.configInfo, source: result.source)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
189 |
190 | // no need to send local callbacks if we already have remote
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:201:33: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
199 | }
200 |
201 | await self?.sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
202 | }
203 | case .waitForRemote(timeout: let timeout):
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:291:32: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
289 | }
290 |
291 | await self.sendCallback(callback, configInfo: updatedRemoteConfig, source: .remote)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'self'-isolated 'callback' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
292 | }
293 | }
[33/59] Compiling AmplitudeCore Storage.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:280:44: warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | private class CallbackInfo {
| `- note: class 'CallbackInfo' does not conform to the 'Sendable' protocol
51 | let id: UUID
52 | let key: String?
:
278 | }
279 | if let updatedRemoteConfig = try await self?._updateConfigs().value, let self {
280 | for callback in await self.callbacks {
| `- warning: non-sendable type '[RemoteConfigClient.CallbackInfo]' of property 'callbacks' cannot exit actor-isolated context; this is an error in the Swift 6 language mode
281 | switch callback.deliveryMode {
282 | case .all:
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:171:23: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
169 | callbacks.append(callbackInfo)
170 |
171 | Task.detached { [weak self, fetchLocalTask, fetchRemoteTask] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
172 | switch callbackInfo.deliveryMode {
| `- note: closure captures 'callbackInfo' which is accessible to 'self'-isolated code
173 | case .all:
174 | await withThrowingTaskGroup(of: (configInfo: RemoteConfigInfo, source: Source).self) { [fetchLocalTask, fetchRemoteTask] taskGroup in
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:220:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
218 | timeoutTask.cancel()
219 | if let self {
220 | await sendCallback(callbackInfo, configInfo: remoteConfig, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
221 | }
222 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:228:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
226 | // timeout or remote fetch error, try storage
227 | if let localConfig = try? await fetchLocalTask.value {
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:230:31: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
228 | await sendCallback(callbackInfo, configInfo: localConfig, source: .cache)
229 | } else {
230 | await sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
231 | }
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:188:41: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
186 | didSendCallback = true
187 |
188 | await self?.sendCallback(callbackInfo, configInfo: result.configInfo, source: result.source)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
189 |
190 | // no need to send local callbacks if we already have remote
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:201:33: warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
199 | }
200 |
201 | await self?.sendCallback(callbackInfo, configInfo: nil, source: .remote)
| |- warning: sending 'callbackInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'callbackInfo' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and task-isolated uses
202 | }
203 | case .waitForRemote(timeout: let timeout):
/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/Remote Config/RemoteConfigClient.swift:291:32: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
289 | }
290 |
291 | await self.sendCallback(callback, configInfo: updatedRemoteConfig, source: .remote)
| |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'self'-isolated 'callback' to actor-isolated instance method 'sendCallback(_:configInfo:source:)' risks causing data races between actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
292 | }
293 | }
[34/59] Compiling AmplitudeCore AmplitudeContext.swift
[35/59] Compiling AmplitudeCore CoreDevice.swift
[36/59] Compiling AmplitudeCore AnalyticsIdentity.swift
Build complete! (11.97s)
warning: 'spi-builder-workspace': /Users/admin/builder/spi-builder-workspace/Package@swift-5.9.swift:9:15: warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
7 | platforms: [
8 | .macOS(.v10_13),
9 | .iOS(.v11),
| `- warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
10 | .tvOS(.v11),
11 | .watchOS(.v4),
/Users/admin/builder/spi-builder-workspace/Package@swift-5.9.swift:10:16: warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
8 | .macOS(.v10_13),
9 | .iOS(.v11),
10 | .tvOS(.v11),
| `- warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
11 | .watchOS(.v4),
12 | .visionOS(.v1),
Downloading binary artifact https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.5.4/AmplitudeCoreNoUIKit.zip
Downloading binary artifact https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.5.4/AmplitudeCore.zip
[16375/21008254] Downloading https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.5.4/AmplitudeCore.zip
[16481929/39642110] Downloading https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.5.4/AmplitudeCore.zip, https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.5.4/AmplitudeCoreNoUIKit.zip
Downloaded https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.5.4/AmplitudeCoreNoUIKit.zip (1.52s)
Downloaded https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.5.4/AmplitudeCore.zip (1.57s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "AmplitudeCore",
"name" : "AmplitudeCore",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "4.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "AmplitudeCore",
"targets" : [
"AmplitudeCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AmplitudeCoreNoUIKit",
"targets" : [
"AmplitudeCoreNoUIKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AmplitudeCoreFramework",
"targets" : [
"AmplitudeCoreFramework"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AmplitudeCoreNoUIKitFramework",
"targets" : [
"AmplitudeCoreNoUIKitFramework"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "AmplitudeCoreTests",
"module_type" : "SwiftTarget",
"name" : "AmplitudeCoreTests",
"path" : "Tests/AmplitudeCoreTests",
"sources" : [
"AnalyticsEventSnapshotTests.swift",
"AppEnvironmentTests.swift",
"CodableExtensionTests.swift",
"CrashCatcherTests.swift",
"DiagnosticsClientTests.swift",
"DiagnosticsRemoteConfigTests.swift",
"DiagnosticsStorageTests.swift",
"JSONValueTests.swift",
"RemoteConfigTests.swift",
"SampleTests.swift",
"StringExtensionTests.swift"
],
"target_dependencies" : [
"AmplitudeCore"
],
"type" : "test"
},
{
"c99name" : "AmplitudeCoreNoUIKitFramework",
"module_type" : "BinaryTarget",
"name" : "AmplitudeCoreNoUIKitFramework",
"path" : "remote/archive/AmplitudeCoreNoUIKit.zip",
"product_memberships" : [
"AmplitudeCoreNoUIKitFramework"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "AmplitudeCoreNoUIKit",
"module_type" : "SwiftTarget",
"name" : "AmplitudeCoreNoUIKit",
"path" : "Sources/AmplitudeCoreNoUIKit",
"product_memberships" : [
"AmplitudeCoreNoUIKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCoreNoUIKit/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Constants.swift",
"Context/AmplitudeContext.swift",
"Device/CoreDevice.swift",
"Diagnostics/CoreDiagnostics.swift",
"Diagnostics/DiagnosticsClient.swift",
"Diagnostics/DiagnosticsStorage.swift",
"Functionalities/InterfaceSignal.swift",
"Logger/CoreLogger.swift",
"Logger/OSLogger.swift",
"Plugins/AnalyticsClient.swift",
"Plugins/AnalyticsEvent.swift",
"Plugins/AnalyticsEventSnapshot.swift",
"Plugins/AnalyticsIdentity.swift",
"Plugins/PluginHost.swift",
"Plugins/UniversalPlugin.swift",
"Remote Config/RemoteConfigClient.swift",
"Types/ServerZone.swift",
"Utilities/AppEnvironment.swift",
"Utilities/CodableExtension.swift",
"Utilities/CrashCatcher.swift",
"Utilities/HttpUtil.swift",
"Utilities/JSONValue.swift",
"Utilities/Sample.swift",
"Utilities/Storage.swift",
"Utilities/StringExtension.swift"
],
"type" : "library"
},
{
"c99name" : "AmplitudeCoreFramework",
"module_type" : "BinaryTarget",
"name" : "AmplitudeCoreFramework",
"path" : "remote/archive/AmplitudeCore.zip",
"product_memberships" : [
"AmplitudeCoreFramework"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "AmplitudeCore",
"module_type" : "SwiftTarget",
"name" : "AmplitudeCore",
"path" : "Sources/AmplitudeCore",
"product_memberships" : [
"AmplitudeCore"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/AmplitudeCore/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Constants.swift",
"Context/AmplitudeContext.swift",
"Device/CoreDevice.swift",
"Diagnostics/CoreDiagnostics.swift",
"Diagnostics/DiagnosticsClient.swift",
"Diagnostics/DiagnosticsStorage.swift",
"Functionalities/InterfaceSignal.swift",
"Logger/CoreLogger.swift",
"Logger/OSLogger.swift",
"Plugins/AnalyticsClient.swift",
"Plugins/AnalyticsEvent.swift",
"Plugins/AnalyticsEventSnapshot.swift",
"Plugins/AnalyticsIdentity.swift",
"Plugins/PluginHost.swift",
"Plugins/UniversalPlugin.swift",
"Remote Config/RemoteConfigClient.swift",
"Types/ServerZone.swift",
"Utilities/AppEnvironment.swift",
"Utilities/CodableExtension.swift",
"Utilities/CrashCatcher.swift",
"Utilities/HttpUtil.swift",
"Utilities/JSONValue.swift",
"Utilities/Sample.swift",
"Utilities/Storage.swift",
"Utilities/StringExtension.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
warning: 'spi-builder-workspace': /Users/admin/builder/spi-builder-workspace/Package@swift-5.9.swift:9:15: warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
7 | platforms: [
8 | .macOS(.v10_13),
9 | .iOS(.v11),
| `- warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
10 | .tvOS(.v11),
11 | .watchOS(.v4),
/Users/admin/builder/spi-builder-workspace/Package@swift-5.9.swift:10:16: warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
8 | .macOS(.v10_13),
9 | .iOS(.v11),
10 | .tvOS(.v11),
| `- warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
11 | .watchOS(.v4),
12 | .visionOS(.v1),
Done.