Build Information
Successful build of XCTAssertCrash, reference master (4b414b
), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 13:12:45 UTC.
Swift 6 data race errors: 5
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/norio-nomura/xctassertcrash.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/norio-nomura/xctassertcrash
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 4b414b3 [GitHub Actions] Update action-swiftlint to 3.0.1
Cloned https://github.com/norio-nomura/xctassertcrash.git
Revision (git rev-parse @):
4b414b3b865299332b4b0c185c530fe3ea681867
SUCCESS checkout https://github.com/norio-nomura/xctassertcrash.git at master
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "xctassertcrash",
"name": "XCTAssertCrash",
"url": "https://github.com/norio-nomura/xctassertcrash.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/xctassertcrash",
"dependencies": [
]
}
]
}
Fetching https://github.com/norio-nomura/xctassertcrash.git
[1/224] Fetching xctassertcrash
Fetched https://github.com/norio-nomura/xctassertcrash.git from cache (0.77s)
Creating working copy for https://github.com/norio-nomura/xctassertcrash.git
Working copy of https://github.com/norio-nomura/xctassertcrash.git resolved at master (4b414b3)
warning: '.resolve-product-dependencies': dependency 'xctassertcrash' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/norio-nomura/xctassertcrash.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/4] Write sources
[1/4] Write swift-version--7754E27361AE5C74.txt
[2/4] Compiling CMachExceptionHandler CMachExceptionHandler.c
[3/4] Compiling CMachExceptionHandler mach_excServer.c
[5/10] Emitting module XCTAssertCrash
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/MachException.swift:34:16: warning: static property 'callSignalHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
32 | }()
33 |
34 | static var callSignalHandler: @convention(c) (Int32) -> Void = { signal in
| |- warning: static property 'callSignalHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'callSignalHandler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'callSignalHandler' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 | SwiftReportFatalErrorsToDebugger.restore()
36 | if let handler = Thread.current.unregisterSignalHandler() {
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/PosixSignal.swift:37:16: warning: static property 'registeredSignalInfo' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | static var registeredSignalInfo = [SignalInfo]()
| |- warning: static property 'registeredSignalInfo' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registeredSignalInfo' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registeredSignalInfo' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | static let queue = DispatchQueue(label: "XCTAssertCrash.registerHandlers()")
39 |
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:28:24: warning: static property 'registeredThreads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | private static let queue = DispatchQueue(label: "XCTAssertCrash.MachExceptionHandler")
28 | private static var registeredThreads = Set<Thread>()
| |- warning: static property 'registeredThreads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registeredThreads' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registeredThreads' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | private static let name = "_swift_reportFatalErrorsToDebugger"
30 | private static let pointer = dlopen(nil, RTLD_GLOBAL)
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:30:24: warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
28 | private static var registeredThreads = Set<Thread>()
29 | private static let name = "_swift_reportFatalErrorsToDebugger"
30 | private static let pointer = dlopen(nil, RTLD_GLOBAL)
| |- warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'pointer' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | .map { dlsym($0, name) }
32 | .flatMap { unsafeBitCast($0, to: UnsafeMutablePointer<Bool>.self) }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/XCTAssertCrash.swift:18:12: warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | /// #endif
17 | /// ```
18 | public var skipXCTAssertCrashIfIsBeingDebugged: Bool = {
| |- warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'skipXCTAssertCrashIfIsBeingDebugged' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'skipXCTAssertCrashIfIsBeingDebugged' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | #if canImport(Darwin) && !os(tvOS) && !os(watchOS)
20 | return false
[6/10] Compiling XCTAssertCrash SwiftReportFatalErrorsToDebugger.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:28:24: warning: static property 'registeredThreads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | private static let queue = DispatchQueue(label: "XCTAssertCrash.MachExceptionHandler")
28 | private static var registeredThreads = Set<Thread>()
| |- warning: static property 'registeredThreads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registeredThreads' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registeredThreads' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | private static let name = "_swift_reportFatalErrorsToDebugger"
30 | private static let pointer = dlopen(nil, RTLD_GLOBAL)
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/SwiftReportFatalErrorsToDebugger.swift:30:24: warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
28 | private static var registeredThreads = Set<Thread>()
29 | private static let name = "_swift_reportFatalErrorsToDebugger"
30 | private static let pointer = dlopen(nil, RTLD_GLOBAL)
| |- warning: static property 'pointer' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<Bool>?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'pointer' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | .map { dlsym($0, name) }
32 | .flatMap { unsafeBitCast($0, to: UnsafeMutablePointer<Bool>.self) }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[7/10] Compiling XCTAssertCrash PosixSignal.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/PosixSignal.swift:37:16: warning: static property 'registeredSignalInfo' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | static var registeredSignalInfo = [SignalInfo]()
| |- warning: static property 'registeredSignalInfo' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registeredSignalInfo' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registeredSignalInfo' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | static let queue = DispatchQueue(label: "XCTAssertCrash.registerHandlers()")
39 |
[8/10] Compiling XCTAssertCrash XCTAssertCrash.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/XCTAssertCrash.swift:18:12: warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | /// #endif
17 | /// ```
18 | public var skipXCTAssertCrashIfIsBeingDebugged: Bool = {
| |- warning: var 'skipXCTAssertCrashIfIsBeingDebugged' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'skipXCTAssertCrashIfIsBeingDebugged' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'skipXCTAssertCrashIfIsBeingDebugged' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | #if canImport(Darwin) && !os(tvOS) && !os(watchOS)
20 | return false
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/XCTAssertCrash.swift:82:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
80 | }
81 | if #available(macOS 12, iOS 10, tvOS 10, watchOS 3, *) {
82 | thread = Thread(block: block)
| `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
83 | } else {
84 | thread = _Thread(block: block)
[9/10] Compiling XCTAssertCrash ThreadState.swift
[10/10] Compiling XCTAssertCrash MachException.swift
/Users/admin/builder/spi-builder-workspace/Sources/XCTAssertCrash/MachException.swift:34:16: warning: static property 'callSignalHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
32 | }()
33 |
34 | static var callSignalHandler: @convention(c) (Int32) -> Void = { signal in
| |- warning: static property 'callSignalHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'callSignalHandler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'callSignalHandler' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 | SwiftReportFatalErrorsToDebugger.restore()
36 | if let handler = Thread.current.unregisterSignalHandler() {
Build complete! (13.34s)
Build complete.
{
"c_language_standard" : "gnu99",
"dependencies" : [
],
"manifest_display_name" : "XCTAssertCrash",
"name" : "XCTAssertCrash",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.10"
},
{
"name" : "ios",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "9.0"
}
],
"products" : [
{
"name" : "XCTAssertCrash",
"targets" : [
"XCTAssertCrash"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "XCTAssertCrashTests",
"module_type" : "SwiftTarget",
"name" : "XCTAssertCrashTests",
"path" : "Tests/XCTAssertCrashTests",
"sources" : [
"AbortTests.swift",
"XCTAssertCrashTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"XCTAssertCrash"
],
"type" : "test"
},
{
"c99name" : "XCTAssertCrash",
"module_type" : "SwiftTarget",
"name" : "XCTAssertCrash",
"path" : "Sources/XCTAssertCrash",
"product_memberships" : [
"XCTAssertCrash"
],
"sources" : [
"MachException.swift",
"PosixSignal.swift",
"SwiftReportFatalErrorsToDebugger.swift",
"ThreadState.swift",
"XCTAssertCrash.swift"
],
"target_dependencies" : [
"CMachExceptionHandler"
],
"type" : "library"
},
{
"c99name" : "CMachExceptionHandler",
"module_type" : "ClangTarget",
"name" : "CMachExceptionHandler",
"path" : "Sources/CMachExceptionHandler",
"product_memberships" : [
"XCTAssertCrash"
],
"sources" : [
"CMachExceptionHandler.c",
"mach_excServer.c"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.