The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Fortify, reference main (999f26), with Swift 6.0 for Linux on 25 Mar 2025 19:43:19 UTC.

Swift 6 data race errors: 4

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/johnno1962/Fortify.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/johnno1962/Fortify
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 999f264 Remove #filePath
Cloned https://github.com/johnno1962/Fortify.git
Revision (git rev-parse @):
999f2644ed80ecd67db3344c79bfe9f329f03ad5
SUCCESS checkout https://github.com/johnno1962/Fortify.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/johnno1962/Fortify.git
https://github.com/johnno1962/Fortify.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "stringindex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/StringIndex"
    },
    {
      "identity" : "swiftregex5",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.1",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/SwiftRegex5.git"
    },
    {
      "identity" : "popen",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/Popen.git"
    },
    {
      "identity" : "dlkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.3",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/DLKit"
    }
  ],
  "manifest_display_name" : "Fortify",
  "name" : "Fortify",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Fortify",
      "targets" : [
        "Fortify"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FortifyTests",
      "module_type" : "SwiftTarget",
      "name" : "FortifyTests",
      "path" : "Tests/FortifyTests",
      "sources" : [
        "FortifyTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Fortify"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Fortify",
      "module_type" : "SwiftTarget",
      "name" : "Fortify",
      "path" : "Sources",
      "product_dependencies" : [
        "StringIndex",
        "DLKit",
        "Popen",
        "DLKitC",
        "SwiftRegex"
      ],
      "product_memberships" : [
        "Fortify"
      ],
      "sources" : [
        "Fortify.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:081dcf4fb829aea9d08447f4790431afbdfbcc335bfeed728ca69c6f181ae2aa
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/johnno1962/StringIndex
Fetching https://github.com/johnno1962/DLKit
[1/387] Fetching dlkit
[36/541] Fetching dlkit, stringindex
Fetching https://github.com/johnno1962/Popen.git
Fetching https://github.com/johnno1962/SwiftRegex5.git
Fetched https://github.com/johnno1962/StringIndex from cache (0.35s)
Fetched https://github.com/johnno1962/DLKit from cache (0.35s)
[1/209] Fetching swiftregex5
Fetched https://github.com/johnno1962/SwiftRegex5.git from cache (0.24s)
[1/127] Fetching popen
Fetched https://github.com/johnno1962/Popen.git from cache (5.20s)
Computing version for https://github.com/johnno1962/SwiftRegex5.git
Computed https://github.com/johnno1962/SwiftRegex5.git at 6.1.3 (0.84s)
Computing version for https://github.com/johnno1962/StringIndex
Computed https://github.com/johnno1962/StringIndex at 2.2.4 (1.02s)
Computing version for https://github.com/johnno1962/Popen.git
Computed https://github.com/johnno1962/Popen.git at 2.1.7 (0.70s)
Computing version for https://github.com/johnno1962/DLKit
Computed https://github.com/johnno1962/DLKit at 3.4.7 (0.67s)
Fetching https://github.com/johnno1962/fishhook
[1/169] Fetching fishhook
Fetched https://github.com/johnno1962/fishhook from cache (0.73s)
Computing version for https://github.com/johnno1962/fishhook
Computed https://github.com/johnno1962/fishhook at 1.2.1 (1.00s)
Creating working copy for https://github.com/johnno1962/fishhook
Working copy of https://github.com/johnno1962/fishhook resolved at 1.2.1
Creating working copy for https://github.com/johnno1962/DLKit
Working copy of https://github.com/johnno1962/DLKit resolved at 3.4.7
Creating working copy for https://github.com/johnno1962/Popen.git
Working copy of https://github.com/johnno1962/Popen.git resolved at 2.1.7
Creating working copy for https://github.com/johnno1962/StringIndex
Working copy of https://github.com/johnno1962/StringIndex resolved at 2.2.4
Creating working copy for https://github.com/johnno1962/SwiftRegex5.git
Working copy of https://github.com/johnno1962/SwiftRegex5.git resolved at 6.1.3
Building for debugging...
[0/10] Write sources
[5/10] Compiling DLKitC trie_dladdr.mm
[6/10] Compiling DLKitC DLKitC.c
[7/10] Compiling fishhook fishhook.c
[8/10] Compiling DLKitC trie_dlops.mm
[9/10] Write swift-version-24593BA9C3E375BF.txt
[11/30] Compiling Popen Topen.swift
[12/30] Compiling DLKit Iterators.swift
[13/30] Compiling DLKit ImageSymbols.swift
[14/30] Compiling DLKit Interposing.swift
[15/30] Compiling DLKit FileSymbols.swift
[16/30] Compiling DLKit DLKit.swift
[17/30] Emitting module DLKit
[18/30] Compiling DLKit Demangling.swift
[20/31] Compiling Popen Fstat.swift
[21/31] Compiling Popen Glob.swift
[22/31] Compiling Popen Popen.swift
[23/31] Compiling Popen Stream.swift
[24/31] Compiling StringIndex Subscripts.swift
[25/31] Compiling StringIndex OffsetIndex.swift
[26/31] Emitting module StringIndex
[27/31] Compiling StringIndex StringIndex.swift
[28/32] Emitting module SwiftRegex
[29/32] Compiling SwiftRegex TupleRegex.swift
[31/33] Compiling Popen Fopen.swift
[32/33] Emitting module Popen
[35/36] Compiling Fortify Fortify.swift
/host/spi-builder-workspace/Sources/Fortify.swift:81:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 79 | }
 80 |
 81 | @_silgen_name ("setjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
/host/spi-builder-workspace/Sources/Fortify.swift:84:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
 84 | @_silgen_name ("longjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 85 | public func longjump(_: UnsafeMutablePointer<jmp_buf>, _: Int32) -> Never
 86 |
/host/spi-builder-workspace/Sources/Fortify.swift:91:24: warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 89 | open class Fortify: ThreadLocal {
 90 |
 91 |     static private var pthreadKey: pthread_key_t = 0
    |                        |- warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'pthreadKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'pthreadKey' 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
 92 |
 93 |     override open class var threadKeyPointer: UnsafeMutablePointer<pthread_key_t> {
/host/spi-builder-workspace/Sources/Fortify.swift:116:23: warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
114 |     }()
115 |
116 |     public static var signalsTrapped = [
    |                       |- warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'signalsTrapped' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'signalsTrapped' 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
117 |         SIGILL: "SIGILL", // Force unwrap of nil etc.
118 |         SIGABRT: "SIGABRT", // Bad cast 5.2
/host/spi-builder-workspace/Sources/Fortify.swift:156:25: warning: capture of 'runLoop' with non-sendable type 'RunLoop' in a `@Sendable` closure; this is an error in the Swift 6 language mode
154 |                 do {
155 |                     try protect {
156 |                         runLoop.run()
    |                         `- warning: capture of 'runLoop' with non-sendable type 'RunLoop' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |                     }
158 |                 }
Foundation.RunLoop:1:12: note: class 'RunLoop' does not conform to the 'Sendable' protocol
 1 | open class RunLoop : NSObject {
   |            `- note: class 'RunLoop' does not conform to the 'Sendable' protocol
 2 |     @available(*, noasync)
 3 |     open class var current: RunLoop { get }
/host/spi-builder-workspace/Sources/Fortify.swift:160:21: warning: capture of 'onError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
158 |                 }
159 |                 catch {
160 |                     onError(error)
    |                     |- warning: capture of 'onError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
161 |                 }
162 |             }
/host/spi-builder-workspace/Sources/Fortify.swift:156:25: warning: capture of 'runLoop' with non-sendable type 'RunLoop' in an isolated closure; this is an error in the Swift 6 language mode
154 |                 do {
155 |                     try protect {
156 |                         runLoop.run()
    |                         `- warning: capture of 'runLoop' with non-sendable type 'RunLoop' in an isolated closure; this is an error in the Swift 6 language mode
157 |                     }
158 |                 }
Foundation.RunLoop:1:12: note: class 'RunLoop' does not conform to the 'Sendable' protocol
 1 | open class RunLoop : NSObject {
   |            `- note: class 'RunLoop' does not conform to the 'Sendable' protocol
 2 |     @available(*, noasync)
 3 |     open class var current: RunLoop { get }
[36/36] Emitting module Fortify
/host/spi-builder-workspace/Sources/Fortify.swift:81:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 79 | }
 80 |
 81 | @_silgen_name ("setjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
/host/spi-builder-workspace/Sources/Fortify.swift:84:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
 84 | @_silgen_name ("longjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 85 | public func longjump(_: UnsafeMutablePointer<jmp_buf>, _: Int32) -> Never
 86 |
/host/spi-builder-workspace/Sources/Fortify.swift:91:24: warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 89 | open class Fortify: ThreadLocal {
 90 |
 91 |     static private var pthreadKey: pthread_key_t = 0
    |                        |- warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'pthreadKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'pthreadKey' 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
 92 |
 93 |     override open class var threadKeyPointer: UnsafeMutablePointer<pthread_key_t> {
/host/spi-builder-workspace/Sources/Fortify.swift:116:23: warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
114 |     }()
115 |
116 |     public static var signalsTrapped = [
    |                       |- warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'signalsTrapped' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'signalsTrapped' 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
117 |         SIGILL: "SIGILL", // Force unwrap of nil etc.
118 |         SIGABRT: "SIGABRT", // Bad cast 5.2
Build complete! (26.01s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "stringindex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/StringIndex"
    },
    {
      "identity" : "swiftregex5",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.1",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/SwiftRegex5.git"
    },
    {
      "identity" : "popen",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/Popen.git"
    },
    {
      "identity" : "dlkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.3",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/DLKit"
    }
  ],
  "manifest_display_name" : "Fortify",
  "name" : "Fortify",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Fortify",
      "targets" : [
        "Fortify"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FortifyTests",
      "module_type" : "SwiftTarget",
      "name" : "FortifyTests",
      "path" : "Tests/FortifyTests",
      "sources" : [
        "FortifyTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Fortify"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Fortify",
      "module_type" : "SwiftTarget",
      "name" : "Fortify",
      "path" : "Sources",
      "product_dependencies" : [
        "StringIndex",
        "DLKit",
        "Popen",
        "DLKitC",
        "SwiftRegex"
      ],
      "product_memberships" : [
        "Fortify"
      ],
      "sources" : [
        "Fortify.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:081dcf4fb829aea9d08447f4790431afbdfbcc335bfeed728ca69c6f181ae2aa
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.