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 2.1.12 (999f26), with Swift 6.0 for Linux on 25 Mar 2025 19:43:04 UTC.

Swift 6 data race errors: 4

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/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: 2.1.12
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
 * tag               2.1.12     -> FETCH_HEAD
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 2.1.12
========================================
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-0":/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/Popen.git
Fetching https://github.com/johnno1962/SwiftRegex5.git
Fetching https://github.com/johnno1962/DLKit
Fetching https://github.com/johnno1962/StringIndex
[1/209] Fetching swiftregex5
[100/596] Fetching swiftregex5, dlkit
[597/750] Fetching swiftregex5, dlkit, stringindex
[685/877] Fetching swiftregex5, dlkit, stringindex, popen
Fetched https://github.com/johnno1962/Popen.git from cache (0.29s)
Fetched https://github.com/johnno1962/SwiftRegex5.git from cache (0.29s)
Fetched https://github.com/johnno1962/StringIndex from cache (0.29s)
Fetched https://github.com/johnno1962/DLKit from cache (0.29s)
Computing version for https://github.com/johnno1962/SwiftRegex5.git
Computed https://github.com/johnno1962/SwiftRegex5.git at 6.1.3 (1.11s)
Computing version for https://github.com/johnno1962/StringIndex
Computed https://github.com/johnno1962/StringIndex at 2.2.4 (0.69s)
Computing version for https://github.com/johnno1962/Popen.git
Computed https://github.com/johnno1962/Popen.git at 2.1.7 (0.65s)
Computing version for https://github.com/johnno1962/DLKit
Computed https://github.com/johnno1962/DLKit at 3.4.7 (1.06s)
Fetching https://github.com/johnno1962/fishhook
[1/169] Fetching fishhook
Fetched https://github.com/johnno1962/fishhook from cache (0.30s)
Computing version for https://github.com/johnno1962/fishhook
Computed https://github.com/johnno1962/fishhook at 1.2.1 (0.98s)
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
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/fishhook
Working copy of https://github.com/johnno1962/fishhook resolved at 1.2.1
Building for debugging...
[0/10] Write sources
[5/10] Compiling DLKitC DLKitC.c
[6/10] Compiling DLKitC trie_dlops.mm
[7/10] Compiling fishhook fishhook.c
[8/10] Compiling DLKitC trie_dladdr.mm
[8/10] Write swift-version-24593BA9C3E375BF.txt
[11/30] Compiling DLKit Iterators.swift
[12/30] Compiling DLKit Interposing.swift
[13/30] Compiling DLKit ImageSymbols.swift
[14/30] Compiling DLKit FileSymbols.swift
[15/30] Compiling DLKit DLKit.swift
[16/30] Emitting module DLKit
[17/30] Compiling DLKit Demangling.swift
[19/31] Compiling StringIndex StringIndex.swift
[20/31] Compiling Popen Topen.swift
[21/31] Compiling Popen Popen.swift
[22/31] Compiling Popen Stream.swift
[23/31] Compiling StringIndex Subscripts.swift
[24/31] Emitting module SwiftRegex
[25/31] Compiling SwiftRegex TupleRegex.swift
[27/32] Compiling Popen Fstat.swift
[28/32] Compiling Popen Glob.swift
[29/32] Emitting module Popen
[30/32] Compiling Popen Fopen.swift
[31/33] Emitting module StringIndex
[32/33] Compiling StringIndex OffsetIndex.swift
[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! (20.76s)
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.