Build Information
Successful build of BCrypt, reference master (7b8bf6
), with Swift 6.1 for Linux on 28 Apr 2025 06:19:23 UTC.
Swift 6 data race errors: 2
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vapor-community/bcrypt.git
Reference: master
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/vapor-community/bcrypt
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 7b8bf62 Update README.md
Cloned https://github.com/vapor-community/bcrypt.git
Revision (git rev-parse @):
7b8bf62f997d4098804f2a06f205370b6f3c7c8b
SUCCESS checkout https://github.com/vapor-community/bcrypt.git at master
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/vapor-community/bcrypt.git
https://github.com/vapor-community/bcrypt.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "random",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/random.git"
}
],
"manifest_display_name" : "BCrypt",
"name" : "BCrypt",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "BCrypt",
"targets" : [
"BCrypt"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "BCryptTests",
"module_type" : "SwiftTarget",
"name" : "BCryptTests",
"path" : "Tests/BCryptTests",
"sources" : [
"BCryptTests.swift"
],
"target_dependencies" : [
"BCrypt"
],
"type" : "test"
},
{
"c99name" : "BCrypt",
"module_type" : "SwiftTarget",
"name" : "BCrypt",
"path" : "Sources/BCrypt",
"product_dependencies" : [
"Random"
],
"product_memberships" : [
"BCrypt"
],
"sources" : [
"BCryptError.swift",
"Base64.swift",
"Convenience.swift",
"Export.swift",
"Hash.swift",
"Keys.swift",
"Parser.swift",
"Salt.swift",
"Serializer.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-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.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/vapor/random.git
[1/148] Fetching random
Fetched https://github.com/vapor/random.git from cache (0.28s)
Computing version for https://github.com/vapor/random.git
Computed https://github.com/vapor/random.git at 1.2.0 (0.77s)
Fetching https://github.com/vapor/core.git
[1/20143] Fetching core
Fetched https://github.com/vapor/core.git from cache (0.67s)
Computing version for https://github.com/vapor/core.git
Computed https://github.com/vapor/core.git at 2.2.1 (1.18s)
Fetching https://github.com/vapor/bits.git
Fetching https://github.com/vapor/debugging.git
[1/358] Fetching bits
[238/618] Fetching bits, debugging
Fetched https://github.com/vapor/debugging.git from cache (0.26s)
Fetched https://github.com/vapor/bits.git from cache (0.26s)
Computing version for https://github.com/vapor/debugging.git
Computed https://github.com/vapor/debugging.git at 1.1.1 (0.73s)
Computing version for https://github.com/vapor/bits.git
Computed https://github.com/vapor/bits.git at 1.1.1 (0.47s)
Creating working copy for https://github.com/vapor/debugging.git
Working copy of https://github.com/vapor/debugging.git resolved at 1.1.1
Creating working copy for https://github.com/vapor/random.git
Working copy of https://github.com/vapor/random.git resolved at 1.2.0
Creating working copy for https://github.com/vapor/bits.git
Working copy of https://github.com/vapor/bits.git resolved at 1.1.1
Creating working copy for https://github.com/vapor/core.git
Working copy of https://github.com/vapor/core.git resolved at 2.2.1
Building for debugging...
[0/7] Write sources
[6/7] Write swift-version-24593BA9C3E375BF.txt
[8/29] Emitting module Bits
[9/31] Compiling Bits UnsignedInteger+BytesConvertible.swift
[10/31] Compiling Bits UnsignedInteger+Shifting.swift
[11/31] Emitting module Debugging
[12/31] Compiling Debugging Debuggable.swift
[14/32] Compiling Bits Operators.swift
[15/32] Compiling Bits String+BytesConvertible.swift
[16/32] Emitting module libc
[17/32] Compiling libc libc.swift
[19/33] Compiling Bits Data+BytesConvertible.swift
[20/33] Compiling Bits HexEncoder.swift
[21/33] Compiling Bits Byte+ControlCharacters.swift
[22/33] Compiling Bits Byte+Convenience.swift
[23/33] Compiling Bits Byte+PatternMatching.swift
[24/33] Compiling Bits Aliases.swift
[25/33] Compiling Bits Base64Encoder.swift
[26/33] Compiling Bits Byte+Alphabet.swift
[27/33] Compiling Bits Byte+Random.swift
[28/33] Compiling Bits Byte+UTF8Numbers.swift
[29/33] Compiling Bits ByteSequence+Conversions.swift
[30/33] Compiling Bits Bytes+Base64.swift
[31/33] Compiling Bits Bytes+Hex.swift
[32/33] Compiling Bits Bytes+Percent.swift
[33/33] Compiling Bits BytesConvertible.swift
[35/56] Emitting module Core
[36/58] Compiling Core StaticDataBuffer.swift
[37/58] Compiling Core String+CaseInsensitiveCompare.swift
[38/58] Compiling Core String+Polymorphic.swift
[39/58] Compiling Core Result.swift
[40/58] Compiling Core Semaphore.swift
[41/58] Compiling Core Sequence.swift
[42/58] Compiling Core DispatchTime+Utilities.swift
[43/58] Compiling Core EmptyInitializable.swift
[44/58] Compiling Core Exports.swift
[45/58] Compiling Core Extendable.swift
[46/58] Compiling Core FileProtocol.swift
[47/58] Compiling Core Int+Hex.swift
[48/58] Compiling Core Lock.swift
[49/58] Compiling Core Portal.swift
[50/58] Compiling Core RFC1123.swift
[51/58] Compiling Core Collection+Safe.swift
[52/58] Compiling Core DataFile.swift
[53/58] Compiling Core Dispatch.swift
[54/58] Compiling Core Array.swift
[55/58] Compiling Core Bits.swift
[56/58] Compiling Core Cache.swift
[57/58] Compiling Core String.swift
[58/58] Compiling Core WorkingDirectory.swift
[60/66] Compiling Random RandomProtocol.swift
[61/66] Compiling Random URandom.swift
[62/66] Emitting module Random
[63/66] Compiling Random Array+Random.swift
[64/66] Compiling Random Exports.swift
[65/66] Compiling Random EmptyInitializable.swift
[66/66] Compiling Random OSRandom.swift
[68/76] Compiling BCrypt Keys.swift
[69/77] Compiling BCrypt Salt.swift
/host/spi-builder-workspace/Sources/BCrypt/Salt.swift:4:23: warning: static property 'defaultRandom' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | public struct Salt {
4 | public static var defaultRandom: RandomProtocol = OSRandom()
| |- warning: static property 'defaultRandom' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultRandom' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultRandom' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | public static var defaultCost: UInt = 6
6 |
/host/spi-builder-workspace/Sources/BCrypt/Salt.swift:5:23: warning: static property 'defaultCost' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct Salt {
4 | public static var defaultRandom: RandomProtocol = OSRandom()
5 | public static var defaultCost: UInt = 6
| |- warning: static property 'defaultCost' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultCost' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultCost' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public enum Version {
[70/77] Compiling BCrypt Parser.swift
[71/77] Compiling BCrypt Serializer.swift
[72/77] Compiling BCrypt Export.swift
[73/77] Compiling BCrypt Convenience.swift
[74/77] Emitting module BCrypt
/host/spi-builder-workspace/Sources/BCrypt/Salt.swift:4:23: warning: static property 'defaultRandom' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | public struct Salt {
4 | public static var defaultRandom: RandomProtocol = OSRandom()
| |- warning: static property 'defaultRandom' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultRandom' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultRandom' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | public static var defaultCost: UInt = 6
6 |
/host/spi-builder-workspace/Sources/BCrypt/Salt.swift:5:23: warning: static property 'defaultCost' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct Salt {
4 | public static var defaultRandom: RandomProtocol = OSRandom()
5 | public static var defaultCost: UInt = 6
| |- warning: static property 'defaultCost' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultCost' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultCost' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public enum Version {
[75/77] Compiling BCrypt BCryptError.swift
[76/77] Compiling BCrypt Base64.swift
[77/77] Compiling BCrypt Hash.swift
/host/spi-builder-workspace/Sources/BCrypt/Hash.swift:18:19: warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
16 | .allocate(capacity: Key.p.count)
17 | p.initialize(
18 | from: UnsafeMutableRawPointer(mutating: Key.p)
| | |- note: implicit argument conversion from '[UInt32]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'
| | `- note: use the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
19 | .assumingMemoryBound(to: UInt32.self),
20 | count: Key.p.count
/host/spi-builder-workspace/Sources/BCrypt/Hash.swift:26:19: warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
24 | .allocate(capacity: Key.s.count)
25 | s.initialize(
26 | from: UnsafeMutableRawPointer(mutating: Key.s)
| | |- note: implicit argument conversion from '[UInt32]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'
| | `- note: use the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer
27 | .assumingMemoryBound(to: UInt32.self),
28 | count: Key.s.count
/host/spi-builder-workspace/Sources/BCrypt/Hash.swift:180:56: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
178 | let slen: Int = 1024
179 |
180 | let keyPointer : UnsafeMutablePointer<UInt8> = UnsafeMutablePointer<UInt8>(mutating: key)
| | |- note: implicit argument conversion from 'Bytes' (aka 'Array<UInt8>') to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
| | `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
181 | let keyLength : Int = key.count
182 |
/host/spi-builder-workspace/Sources/BCrypt/Hash.swift:212:55: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
210 | var lr: [UInt32] = [0, 0]
211 |
212 | let keyPointer: UnsafeMutablePointer<UInt8> = UnsafeMutablePointer<UInt8>(mutating: key)
| | |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
| | `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
213 | let keyLength: Int = key.count
214 | let dataPointer: UnsafeMutablePointer<UInt8> = UnsafeMutablePointer<UInt8>(mutating: data)
/host/spi-builder-workspace/Sources/BCrypt/Hash.swift:214:56: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
212 | let keyPointer: UnsafeMutablePointer<UInt8> = UnsafeMutablePointer<UInt8>(mutating: key)
213 | let keyLength: Int = key.count
214 | let dataPointer: UnsafeMutablePointer<UInt8> = UnsafeMutablePointer<UInt8>(mutating: data)
| | |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
| | `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
| `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer
215 | let dataLength: Int = data.count
216 |
Build complete! (14.43s)
Build complete.
{
"dependencies" : [
{
"identity" : "random",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/random.git"
}
],
"manifest_display_name" : "BCrypt",
"name" : "BCrypt",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "BCrypt",
"targets" : [
"BCrypt"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "BCryptTests",
"module_type" : "SwiftTarget",
"name" : "BCryptTests",
"path" : "Tests/BCryptTests",
"sources" : [
"BCryptTests.swift"
],
"target_dependencies" : [
"BCrypt"
],
"type" : "test"
},
{
"c99name" : "BCrypt",
"module_type" : "SwiftTarget",
"name" : "BCrypt",
"path" : "Sources/BCrypt",
"product_dependencies" : [
"Random"
],
"product_memberships" : [
"BCrypt"
],
"sources" : [
"BCryptError.swift",
"Base64.swift",
"Convenience.swift",
"Export.swift",
"Hash.swift",
"Keys.swift",
"Parser.swift",
"Salt.swift",
"Serializer.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.