Build Information
Successful build of PerfectHTTPServer, reference master (4843cd), with Swift 6.4 for macOS (SPM) on 15 Sep 2026 18:37:35 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-httpserver.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-httpserver
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 4843cd5 Merge pull request #49 from 123FLO321/hasher
Cloned https://github.com/perfectlysoft/perfect-httpserver.git
Revision (git rev-parse @):
4843cd54762d59b7e70841663ae561b279b80946
SUCCESS checkout https://github.com/perfectlysoft/perfect-httpserver.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/perfectlysoft/perfect-httpserver.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 308]
[Planning deferred tasks]
[55 / 605]
[65 / 607] PerfectCZlib
[84 / 634] PerfectLib
[88 / 634] PerfectThread
[92 / 634] PerfectThread
[98 / 634] PerfectThread-product
[101 / 634] PerfectCZlib
[104 / 634] PerfectCZlib
[114 / 634] PerfectThread-product
[116 / 634] PerfectLib-product
[117 / 634] PerfectLib-product
[123 / 634] PerfectCZlib
[140 / 644] COpenSSL
[155 / 644]
[171 / 644] COpenSSL
[185 / 644] COpenSSL
[201 / 644] COpenSSL
[227 / 644] COpenSSL
[248 / 644] COpenSSL
[268 / 644] COpenSSL
[286 / 644] COpenSSL
[308 / 644] COpenSSL
[331 / 644] COpenSSL
[356 / 644] COpenSSL
[380 / 644] COpenSSL
[408 / 644] COpenSSL
[431 / 644] COpenSSL
[456 / 644] COpenSSL
[481 / 644] COpenSSL
[508 / 644] COpenSSL
[534 / 644] COpenSSL
[558 / 644] COpenSSL
[580 / 644] COpenSSL
[601 / 644] COpenSSL
[618 / 654] PerfectCrypto
[620 / 654] COpenSSL
[621 / 654] PerfectCrypto
[636 / 663] PerfectNet
[636 / 663] PerfectCrypto
[650 / 675] PerfectHTTP
[654 / 675] PerfectHTTP
[656 / 675] PerfectHTTP
[667 / 687] PerfectHTTPServer
[671 / 687] PerfectNet
[675 / 687] PerfectHTTPServer
[684 / 687] PerfectHTTPServer
Build complete! (10.68 sec)
Fetching https://github.com/PerfectlySoft/Perfect-HTTP.git
Fetching https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
[1/570] Fetching perfect-net
[64/1378] Fetching perfect-net, perfect-http
[65/1715] Fetching perfect-net, perfect-http, perfect-czlib-src
Fetched https://github.com/PerfectlySoft/Perfect-CZlib-src.git (1.22s)
Fetched https://github.com/PerfectlySoft/Perfect-HTTP.git (1.22s)
Fetched https://github.com/PerfectlySoft/Perfect-Net.git (1.22s)
Computing version for https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Computed https://github.com/PerfectlySoft/Perfect-CZlib-src.git at 0.0.4 (1.95s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0 (0.71s)
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
[1/379] Fetching perfect-thread
[380/991] Fetching perfect-thread, perfect-crypto
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git (1.52s)
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git (1.52s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.3.0 (2.23s)
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Fetching https://github.com/PerfectlySoft/PerfectLib.git
[1/10784] Fetching perfectlib
[1403/14745] Fetching perfectlib, perfect-copenssl
Fetched https://github.com/PerfectlySoft/PerfectLib.git (6.32s)
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git (6.32s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (7.01s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.66s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4 (0.65s)
Computing version for https://github.com/PerfectlySoft/Perfect-HTTP.git
Computed https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.3.0 (0.65s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
Creating working copy for https://github.com/PerfectlySoft/Perfect-HTTP.git
Working copy of https://github.com/PerfectlySoft/Perfect-HTTP.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Net.git
Working copy of https://github.com/PerfectlySoft/Perfect-Net.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Working copy of https://github.com/PerfectlySoft/Perfect-CZlib-src.git resolved at 0.0.4
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 3.1.4
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
<module-includes>:1:9: [1;39mnote: [1;39min file included from <module-includes>:1:[0;0m
[0;36m1 |[0;0m #import "czlib.h"
[0;36m|[0;0m `- [1;39mnote: [1;39min file included from <module-includes>:1:[0;0m
[0;36m2 |[0;0m
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:10: [1;39mnote: [1;39min file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:[0;0m
[0;36m2 |[0;0m #include "../zconf.h"
[0;36m3 |[0;0m #include "../zlib.h"
[0;36m4 |[0;0m #include "../zutil.h"
[0;36m|[0;0m `- [1;39mnote: [1;39min file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:[0;0m
[0;36m5 |[0;0m #include "../inftrees.h"
[0;36m6 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m71 |[0;0m }
[0;36m72 |[0;0m #else
[0;36m73 |[0;0m var hashValue: Int { return Int(net.fd.fd) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m74 |[0;0m #endif
[0;36m75 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTPContentCompression.swift:52:21: [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m if !bytes.isEmpty {
[0;36m52 |[0;0m stream.next_in = [4;39mUnsafeMutablePointer(mutating: bytes)[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m53 |[0;0m stream.avail_in = uInt(bytes.count)
[0;36m54 |[0;0m } else {
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m71 |[0;0m }
[0;36m72 |[0;0m #else
[0;36m73 |[0;0m var hashValue: Int { return Int(net.fd.fd) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m74 |[0;0m #endif
[0;36m75 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m71 |[0;0m }
[0;36m72 |[0;0m #else
[0;36m73 |[0;0m var hashValue: Int { return Int(net.fd.fd) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m74 |[0;0m #endif
[0;36m75 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP11/HTTP11Request.swift:386:44: [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m384 |[0;0m case .headerField:
[0;36m385 |[0;0m workingBuffer.append(0)
[0;36m386 |[0;0m lastHeaderName = String(validatingUTF8: [4;39mUnsafeMutableRawPointer(mutating: workingBuffer)[0;0m.assumingMemoryBound(to: Int8.self))
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m387 |[0;0m workingBuffer.removeAll()
[0;36m388 |[0;0m case .headerValue:
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP11/HTTP11Request.swift:467:7: [1;33mwarning: [1;39minitialization of 'UnsafePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m465 |[0;0m // either way no further action should be taken
[0;36m466 |[0;0m func didReadSomeBytes(_ b: [UInt8], callback: @escaping StatusCallback) -> Bool {
[0;36m467 |[0;0m _ = [4;39mUnsafePointer(b)[0;0m.withMemoryRebound(to: Int8.self, capacity: b.count) {
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m468 |[0;0m http_parser_execute(&parser, &parserSettings, $0, b.count)
[0;36m469 |[0;0m }
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Client.swift:143:45: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m140 |[0;0m
[0;36m141 |[0;0m func readOneFrame() {
[0;36m142 |[0;0m Threading.dispatch {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m143 |[0;0m self.readHTTP2Frame(timeout: -1) { [weak self]
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m144 |[0;0m f in
[0;36m145 |[0;0m if let frame = f {
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
Build complete.
{
"dependencies" : [
{
"identity" : "perfect-net",
"requirement" : {
"range" : [
{
"lower_bound" : "3.1.2",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-Net.git"
},
{
"identity" : "perfect-http",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.12",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-HTTP.git"
},
{
"identity" : "perfect-czlib-src",
"requirement" : {
"range" : [
{
"lower_bound" : "0.0.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-CZlib-src.git"
}
],
"manifest_display_name" : "PerfectHTTPServer",
"name" : "PerfectHTTPServer",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "PerfectHTTPServer",
"targets" : [
"PerfectHTTPServer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "PerfectHTTPServerTests",
"module_type" : "SwiftTarget",
"name" : "PerfectHTTPServerTests",
"path" : "Tests/PerfectHTTPServerTests",
"sources" : [
"PerfectHTTPServerTests.swift"
],
"target_dependencies" : [
"PerfectHTTPServer"
],
"type" : "test"
},
{
"c99name" : "PerfectHTTPServer",
"module_type" : "SwiftTarget",
"name" : "PerfectHTTPServer",
"path" : "Sources/PerfectHTTPServer",
"product_dependencies" : [
"PerfectNet",
"PerfectHTTP",
"PerfectCZlib"
],
"product_memberships" : [
"PerfectHTTPServer"
],
"sources" : [
"HTTP11/HTTP11Request.swift",
"HTTP11/HTTP11Response.swift",
"HTTP2/HPACK.swift",
"HTTP2/HTTP2.swift",
"HTTP2/HTTP2Client.swift",
"HTTP2/HTTP2Frame.swift",
"HTTP2/HTTP2FrameReader.swift",
"HTTP2/HTTP2FrameWriter.swift",
"HTTP2/HTTP2PrefaceValidator.swift",
"HTTP2/HTTP2Request.swift",
"HTTP2/HTTP2Response.swift",
"HTTP2/HTTP2Session.swift",
"HTTP2/HTTP2SessionSettings.swift",
"HTTPContentCompression.swift",
"HTTPMultiplexer.swift",
"HTTPServer.swift",
"HTTPServerEx.swift",
"HTTPServerExConfig.swift"
],
"target_dependencies" : [
"PerfectCHTTPParser"
],
"type" : "library"
},
{
"c99name" : "PerfectCHTTPParser",
"module_type" : "ClangTarget",
"name" : "PerfectCHTTPParser",
"path" : "Sources/PerfectCHTTPParser",
"product_memberships" : [
"PerfectHTTPServer"
],
"sources" : [
"http_parser.c"
],
"type" : "library"
}
],
"tools_version" : "4.1"
}
Done.