Build Information
Successful build of SwiftLibXML, reference main (35dea8), with Swift 6.1 for Linux on 13 Mar 2026 04:25:09 UTC.
Swift 6 data race errors: 3
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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>&1Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/rhx/SwiftLibXML.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/rhx/SwiftLibXML
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 35dea8f Merge branch 'development'
Cloned https://github.com/rhx/SwiftLibXML.git
Revision (git rev-parse @):
35dea8fe9a65a8971eb5fde906fd41b07d855d6a
SUCCESS checkout https://github.com/rhx/SwiftLibXML.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/rhx/SwiftLibXML.git
https://github.com/rhx/SwiftLibXML.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "swift-docc-static",
"requirement" : {
"branch" : [
"main"
]
},
"type" : "sourceControl",
"url" : "https://github.com/mipalgu/swift-docc-static.git"
}
],
"manifest_display_name" : "SwiftLibXML",
"name" : "SwiftLibXML",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SwiftLibXML",
"targets" : [
"SwiftLibXML"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftLibXMLTests",
"module_type" : "SwiftTarget",
"name" : "SwiftLibXMLTests",
"path" : "Tests/SwiftLibXMLTests",
"sources" : [
"SwiftLibXMLTests.swift"
],
"target_dependencies" : [
"SwiftLibXML"
],
"type" : "test"
},
{
"c99name" : "SwiftLibXML",
"module_type" : "SwiftTarget",
"name" : "SwiftLibXML",
"path" : "Sources/SwiftLibXML",
"product_memberships" : [
"SwiftLibXML"
],
"sources" : [
"EmptySequence.swift",
"XMLAttribute.swift",
"XMLDocument.swift",
"XMLElement.swift",
"XMLNameSpace.swift",
"XMLPath.swift"
],
"target_dependencies" : [
"CLibXML2"
],
"type" : "library"
},
{
"c99name" : "CLibXML2",
"module_type" : "SystemLibraryTarget",
"name" : "CLibXML2",
"path" : "Sources/CLibXML2",
"product_memberships" : [
"SwiftLibXML"
],
"sources" : [
],
"type" : "system-target"
}
],
"tools_version" : "5.6"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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:8e1c3aab9de7fa4f6e33977b6a4cee007e876da3e605dda0be6b9b9bf86aa951
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/9] Compiling SwiftLibXML EmptySequence.swift
[4/9] Emitting module SwiftLibXML
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLDocument.swift:21:12: warning: let 'xmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> xmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// `unsigned int`; `numericCast` bridges the two safely for the positive-only
20 | /// flag values that XML parser options use.
21 | public let xmlMemoryParser: (UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> xmlDocPtr? = {
| |- warning: let 'xmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> xmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'xmlMemoryParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | xmlReadMemory($0, $1, $2, $3, numericCast($4))
23 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLDocument.swift:29:12: warning: let 'htmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> htmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
27 | /// Wraps `htmlReadMemory` with a stable `Int32` options type across all
28 | /// platforms. See ``xmlMemoryParser`` for details.
29 | public let htmlMemoryParser: (UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> htmlDocPtr? = {
| |- warning: let 'htmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> htmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'htmlMemoryParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | htmlReadMemory($0, $1, $2, $3, numericCast($4))
31 | }
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLDocument.swift:143:1: warning: extension declares a conformance of imported type 'xmlParserOption' to imported protocols 'OptionSet', 'SetAlgebra', 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'CLibXML2' introduce this conformance in the future
141 | }
142 |
143 | extension XMLDocument.ParserOptions: OptionSet {
| |- warning: extension declares a conformance of imported type 'xmlParserOption' to imported protocols 'OptionSet', 'SetAlgebra', 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'CLibXML2' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
144 | /// Recover on errors
145 | public static let recover = XML_PARSE_RECOVER
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLElement.swift:42:9: warning: reference to var 'xmlFree' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
40 | let content: UnsafeMutablePointer<xmlChar>? = xmlNodeGetContent(node)
41 | let txt = content.map { String(cString: UnsafePointer<xmlChar>($0)) } ?? ""
42 | xmlFree(content)
| `- warning: reference to var 'xmlFree' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
43 | return txt
44 | }
/usr/include/libxml2/libxml/globals.h:250:23: note: var declared here
248 | XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
249 | XMLPUBVAR xmlReallocFunc xmlRealloc;
250 | XMLPUBVAR xmlFreeFunc xmlFree;
| `- note: var declared here
251 | XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
252 | #endif /* LIBXML_THREAD_ALLOC_ENABLED */
[5/9] Compiling SwiftLibXML XMLPath.swift
[6/9] Compiling SwiftLibXML XMLElement.swift
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLElement.swift:42:9: warning: reference to var 'xmlFree' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
40 | let content: UnsafeMutablePointer<xmlChar>? = xmlNodeGetContent(node)
41 | let txt = content.map { String(cString: UnsafePointer<xmlChar>($0)) } ?? ""
42 | xmlFree(content)
| `- warning: reference to var 'xmlFree' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
43 | return txt
44 | }
/usr/include/libxml2/libxml/globals.h:250:23: note: var declared here
248 | XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
249 | XMLPUBVAR xmlReallocFunc xmlRealloc;
250 | XMLPUBVAR xmlFreeFunc xmlFree;
| `- note: var declared here
251 | XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
252 | #endif /* LIBXML_THREAD_ALLOC_ENABLED */
[7/9] Compiling SwiftLibXML XMLNameSpace.swift
[8/9] Compiling SwiftLibXML XMLAttribute.swift
[9/9] Compiling SwiftLibXML XMLDocument.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLDocument.swift:21:12: warning: let 'xmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> xmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// `unsigned int`; `numericCast` bridges the two safely for the positive-only
20 | /// flag values that XML parser options use.
21 | public let xmlMemoryParser: (UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> xmlDocPtr? = {
| |- warning: let 'xmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> xmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'xmlMemoryParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | xmlReadMemory($0, $1, $2, $3, numericCast($4))
23 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLDocument.swift:29:12: warning: let 'htmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> htmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
27 | /// Wraps `htmlReadMemory` with a stable `Int32` options type across all
28 | /// platforms. See ``xmlMemoryParser`` for details.
29 | public let htmlMemoryParser: (UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> htmlDocPtr? = {
| |- warning: let 'htmlMemoryParser' is not concurrency-safe because non-'Sendable' type '(UnsafePointer<CChar>?, Int32, UnsafePointer<CChar>?, UnsafePointer<CChar>?, Int32) -> htmlDocPtr?' (aka '(Optional<UnsafePointer<Int8>>, Int32, Optional<UnsafePointer<Int8>>, Optional<UnsafePointer<Int8>>, Int32) -> Optional<UnsafeMutablePointer<_xmlDoc>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'htmlMemoryParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | htmlReadMemory($0, $1, $2, $3, numericCast($4))
31 | }
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLDocument.swift:143:1: warning: extension declares a conformance of imported type 'xmlParserOption' to imported protocols 'OptionSet', 'SetAlgebra', 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'CLibXML2' introduce this conformance in the future
141 | }
142 |
143 | extension XMLDocument.ParserOptions: OptionSet {
| |- warning: extension declares a conformance of imported type 'xmlParserOption' to imported protocols 'OptionSet', 'SetAlgebra', 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'CLibXML2' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
144 | /// Recover on errors
145 | public static let recover = XML_PARSE_RECOVER
/host/spi-builder-workspace/Sources/SwiftLibXML/XMLDocument.swift:124:9: warning: reference to var 'xmlFree' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
122 | let s = xmlNodeListGetString(xml, children, 1) else { return nil }
123 | let value = String(cString: UnsafePointer<xmlChar>(s))
124 | xmlFree(s)
| `- warning: reference to var 'xmlFree' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
125 | return value
126 | }
/usr/include/libxml2/libxml/globals.h:250:23: note: var declared here
248 | XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
249 | XMLPUBVAR xmlReallocFunc xmlRealloc;
250 | XMLPUBVAR xmlFreeFunc xmlFree;
| `- note: var declared here
251 | XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
252 | #endif /* LIBXML_THREAD_ALLOC_ENABLED */
Build complete! (10.27s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftLibXML",
"name" : "SwiftLibXML",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SwiftLibXML",
"targets" : [
"SwiftLibXML"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftLibXMLTests",
"module_type" : "SwiftTarget",
"name" : "SwiftLibXMLTests",
"path" : "Tests/SwiftLibXMLTests",
"sources" : [
"SwiftLibXMLTests.swift"
],
"target_dependencies" : [
"SwiftLibXML"
],
"type" : "test"
},
{
"c99name" : "SwiftLibXML",
"module_type" : "SwiftTarget",
"name" : "SwiftLibXML",
"path" : "Sources/SwiftLibXML",
"product_memberships" : [
"SwiftLibXML"
],
"sources" : [
"EmptySequence.swift",
"XMLAttribute.swift",
"XMLDocument.swift",
"XMLElement.swift",
"XMLNameSpace.swift",
"XMLPath.swift"
],
"target_dependencies" : [
"CLibXML2"
],
"type" : "library"
},
{
"c99name" : "CLibXML2",
"module_type" : "SystemLibraryTarget",
"name" : "CLibXML2",
"path" : "Sources/CLibXML2",
"product_memberships" : [
"SwiftLibXML"
],
"sources" : [
],
"type" : "system-target"
}
],
"tools_version" : "5.6"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:8e1c3aab9de7fa4f6e33977b6a4cee007e876da3e605dda0be6b9b9bf86aa951
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.