Build Information
Failed to build Swift2Python, reference main (0e0b84), with Swift 6.2 for Linux on 16 Jul 2026 22:27:38 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344844-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 333316120c8b89ed7d21f1b34865290794301d91
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/zbenwhite/Swift2Python.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/zbenwhite/Swift2Python
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 0e0b844 small adjustments to codex-written documentation
Cloned https://github.com/zbenwhite/Swift2Python.git
Revision (git rev-parse @):
0e0b84484c2499243c96eff62e9cf5ce0769f560
SUCCESS checkout https://github.com/zbenwhite/Swift2Python.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.2
Building package at path: $PWD
https://github.com/zbenwhite/Swift2Python.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:146297aca0eb7f3e338453cbf4c0aa72424647d7d0d3f35fda2f7ef7698dd3aa
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.2-latest
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-collections.git
[1/7773] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (0.51s)
[1/26103] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (1.19s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.6.0 (1.47s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.14.0 (0.17s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.14.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.6.0
Building for debugging...
[0/12] Write sources
[11/12] Write swift-version-24593BA9C3E375BF.txt
[13/41] Compiling InternalCollectionsUtilities UnsafeMutableRawBufferPointer+Extras.swift
[14/41] Compiling InternalCollectionsUtilities UnsafeRawBufferPointer+Extras.swift
[15/43] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[16/43] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[17/43] Compiling InternalCollectionsUtilities _SortedCollection.swift
[18/43] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[19/43] Compiling InternalCollectionsUtilities LifetimeOverride.swift
[20/43] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[21/43] Compiling InternalCollectionsUtilities Span+Extras.swift
[22/43] Compiling Logging LoggingSystem.swift
[23/43] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[24/43] Compiling InternalCollectionsUtilities Integer rank.swift
[25/44] Compiling InternalCollectionsUtilities String+Padding.swift
[26/44] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[27/44] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[28/44] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[29/44] Compiling Logging Logger+With.swift
[30/44] Compiling InternalCollectionsUtilities Debugging.swift
[31/44] Compiling InternalCollectionsUtilities Descriptions.swift
[33/44] Emitting module InternalCollectionsUtilities
[35/44] Compiling Logging SwiftLogNoOpLogHandler.swift
[36/44] Compiling Logging Locks.swift
[38/45] Compiling Logging Logger+Attributes.swift
[39/45] Compiling Logging Logger.swift
[40/252] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[41/252] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[42/252] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[43/252] Compiling OrderedCollections OrderedDictionary+Move.swift
[44/252] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[45/277] Compiling HeapModule Heap+Invariants.swift
[46/304] Compiling HeapModule Heap+ExpressibleByArrayLiteral.swift
[47/349] Compiling HeapModule _HeapNode.swift
[48/349] Compiling OrderedCollections OrderedSet+Descriptions.swift
[49/349] Compiling BitCollections BitSet+SetAlgebra formIntersection.swift
[50/349] Compiling BitCollections BitSet+SetAlgebra formSymmetricDifference.swift
[51/349] Compiling BitCollections BitArray+Equatable.swift
[52/349] Compiling BitCollections BitArray+ExpressibleByArrayLiteral.swift
[53/349] Compiling BitCollections BitArray+Invariants.swift
[54/349] Compiling BitCollections BitSet+SetAlgebra isSuperset.swift
[55/349] Compiling BitCollections BitSet+SetAlgebra subtract.swift
[56/349] Compiling BitCollections BitSet+SetAlgebra subtracting.swift
[57/349] Compiling BitCollections BitSet+SetAlgebra symmetricDifference.swift
[58/349] Compiling BitCollections BitArray+ExpressibleByStringLiteral.swift
[59/349] Compiling BitCollections BitArray+Extras.swift
[60/349] Compiling BitCollections BitArray+Fill.swift
[61/349] Compiling BitCollections BitArray+Hashable.swift
[62/349] Compiling BitCollections BitArray+Initializers.swift
[63/349] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[64/349] Compiling OrderedCollections OrderedDictionary+Values.swift
[65/349] Compiling BitCollections BitSet+Invariants.swift
[66/349] Compiling OrderedCollections OrderedSet+Codable.swift
[67/349] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[68/349] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[69/349] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[70/349] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[71/349] Compiling OrderedCollections OrderedDictionary+Elements.swift
[72/349] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[73/349] Compiling Logging MetadataProvider.swift
[76/349] Emitting module Logging
[77/349] Compiling HeapModule Heap+Descriptions.swift
[79/349] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[80/349] Compiling HeapModule Heap.swift
[82/350] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[83/350] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[84/350] Compiling OrderedCollections OrderedDictionary+Codable.swift
[85/350] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[87/350] Emitting module ContainersPreview
[88/350] Compiling ContainersPreview Ref.swift
[89/350] Compiling ContainersPreview Shared.swift
[90/350] Compiling ContainersPreview SpanIterator.swift
[91/350] Compiling ContainersPreview UniqueBox.swift
[93/351] Compiling HeapModule Heap+UnsafeHandle.swift
[94/351] Emitting module HeapModule
[96/393] Compiling HashTreeCollections TreeSet+Hashable.swift
[97/393] Compiling HashTreeCollections TreeSet+Sendable.swift
[98/393] Compiling HashTreeCollections TreeSet+Sequence.swift
[99/393] Compiling HashTreeCollections TreeSet+SetAlgebra Initializers.swift
[100/393] Compiling HashTreeCollections TreeSet+SetAlgebra basics.swift
[101/393] Compiling HashTreeCollections TreeSet+SetAlgebra formIntersection.swift
[102/393] Compiling HashTreeCollections TreeSet+SetAlgebra formSymmetricDifference.swift
[103/393] Compiling HashTreeCollections TreeSet+SetAlgebra formUnion.swift
[104/393] Compiling HashTreeCollections TreeSet+SetAlgebra intersection.swift
[105/393] Compiling HashTreeCollections TreeSet+SetAlgebra isDisjoint.swift
[106/403] Compiling DequeModule RigidDeque+Container.swift
[107/403] Compiling DequeModule RigidDeque+Descriptions.swift
[108/403] Compiling DequeModule RigidDeque+Equatable.swift
[109/403] Compiling DequeModule RigidDeque+Experimental.swift
[110/403] Compiling DequeModule RigidDeque+Hashable.swift
[111/403] Compiling DequeModule RigidDeque+Initializers.swift
[112/403] Compiling DequeModule RigidDeque+Insertions.swift
[113/410] Compiling DequeModule Deque+Testing.swift
[114/410] Compiling DequeModule Deque._Storage.swift
[115/410] Compiling DequeModule Deque._UnsafeHandle.swift
[116/410] Compiling DequeModule Deque.swift
[117/410] Compiling DequeModule _DequeBuffer.swift
[118/410] Compiling DequeModule _DequeBufferHeader.swift
[119/410] Compiling DequeModule RigidDeque+Append.swift
[120/410] Compiling DequeModule RigidDeque+Consumption.swift
[121/410] Compiling DequeModule UniqueDeque+Descriptions.swift
[122/410] Compiling DequeModule UniqueDeque+Equatable.swift
[123/410] Compiling DequeModule UniqueDeque+Experimental.swift
[124/410] Compiling DequeModule UniqueDeque+Hashable.swift
[125/410] Compiling DequeModule UniqueDeque+Initializers.swift
[126/410] Compiling DequeModule UniqueDeque+Insertions.swift
[127/410] Compiling DequeModule UniqueDeque+Prepend.swift
[128/410] Compiling DequeModule UniqueDeque+Removals.swift
[129/417] Compiling BitCollections BitArray+Shifts.swift
[130/417] Compiling BitCollections BitArray+Testing.swift
[131/417] Compiling BitCollections BitArray._UnsafeHandle.swift
[132/417] Compiling BitCollections BitArray.swift
[133/417] Compiling HashTreeCollections TreeSet+Extras.swift
[134/417] Compiling BitCollections BitSet.Index.swift
[135/417] Compiling BitCollections BitSet._UnsafeHandle.swift
[136/417] Compiling BitCollections BitSet.swift
[139/417] Compiling OrderedCollections OrderedSet+Sendable.swift
[140/417] Compiling OrderedCollections OrderedSet+SubSequence.swift
[141/417] Compiling OrderedCollections OrderedSet+Testing.swift
[142/417] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[143/417] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[144/417] Compiling OrderedCollections OrderedSet.swift
[145/417] Compiling OrderedCollections _UnsafeBitset.swift
[146/417] Compiling HashTreeCollections TreeDictionary+Sequence.swift
[147/417] Compiling HashTreeCollections TreeDictionary+Values.swift
[148/417] Compiling BitCollections BitSet+SetAlgebra isSubset.swift
[149/417] Compiling BitCollections BitArray+LosslessStringConvertible.swift
[150/417] Compiling BitCollections BitArray+RandomBits.swift
[151/417] Compiling BitCollections BitArray+RangeReplaceableCollection.swift
[158/417] Emitting module BitCollections
[159/417] Compiling DequeModule UniqueDeque+Container.swift
[160/417] Compiling DequeModule UniqueDeque+Deprecated.swift
[180/422] Compiling DequeModule RigidDeque+Prepend.swift
[181/422] Compiling DequeModule RigidDeque+Removals.swift
[182/422] Compiling DequeModule RigidDeque+Replacements.swift
[183/422] Compiling DequeModule RigidDeque+Testing.swift
[184/422] Compiling DequeModule RigidDeque.swift
[185/422] Compiling DequeModule UniqueDeque+Append.swift
[186/422] Compiling DequeModule UniqueDeque+Consumption.swift
[195/422] Compiling HashTreeCollections TreeSet+SetAlgebra isEqualSet.swift
[196/422] Compiling HashTreeCollections TreeSet+SetAlgebra isStrictSubset.swift
[197/422] Compiling HashTreeCollections TreeSet+SetAlgebra isStrictSuperset.swift
[198/422] Compiling HashTreeCollections TreeSet+SetAlgebra isSubset.swift
[199/422] Compiling HashTreeCollections TreeSet+SetAlgebra isSuperset.swift
[200/422] Compiling HashTreeCollections TreeSet+SetAlgebra subtract.swift
[201/422] Compiling HashTreeCollections TreeSet+SetAlgebra subtracting.swift
[202/422] Compiling HashTreeCollections TreeSet+SetAlgebra symmetricDifference.swift
[203/422] Compiling HashTreeCollections TreeSet+SetAlgebra union.swift
[204/422] Compiling HashTreeCollections TreeSet.swift
[205/422] Compiling DequeModule Deque+Codable.swift
[206/422] Compiling DequeModule Deque+Collection.swift
[207/422] Compiling DequeModule Deque+CustomReflectable.swift
[208/422] Compiling DequeModule Deque+Descriptions.swift
[209/422] Compiling DequeModule Deque+Equatable.swift
[210/422] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[211/422] Compiling DequeModule Deque+Extras.swift
[212/422] Compiling DequeModule Deque+Hashable.swift
[224/422] Compiling DequeModule UniqueDeque+Replacements.swift
[225/422] Compiling DequeModule UniqueDeque.swift
[226/422] Compiling DequeModule _DequeSlot.swift
[227/422] Compiling DequeModule _UnsafeDequeHandle.swift
[228/422] Compiling DequeModule _UnsafeDequeSegments.swift
[405/432] Emitting module OrderedCollections
[407/433] Emitting module _RopeModule
[408/433] Compiling _RopeModule Rope+Join.swift
[409/433] Compiling _RopeModule Rope+MutatingForEach.swift
[410/433] Compiling _RopeModule Rope+Remove.swift
[411/433] Compiling _RopeModule Rope+RemoveSubrange.swift
[412/433] Compiling _RopeModule Rope+Split.swift
[413/433] Compiling _RopeModule Optional Utilities.swift
[414/433] Compiling _RopeModule String Utilities.swift
[415/433] Compiling _RopeModule String.Index+ABI.swift
[416/433] Compiling _RopeModule _CharacterRecognizer.swift
[433/434] Emitting module HashTreeCollections
[435/435] Emitting module DequeModule
[437/442] Compiling Collections OrderedCollections reexports.swift
[438/442] Compiling Collections HeapModule reexports.swift
[439/442] Compiling Collections HashTreeCollections reexports.swift
[440/442] Compiling Collections DequeModule reexports.swift
[441/442] Emitting module Collections
[442/442] Compiling Collections BitCollections reexports.swift
[444/470] Emitting module Swift2Python
[445/473] Compiling Swift2Python PythonObject.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonRuntime.swift:165:36: error: value of type 'glob_t' has no member 'gl_matchc'
163 | }
164 |
165 | return (0..<Int(globResult.gl_matchc)).compactMap { index in
| `- error: value of type 'glob_t' has no member 'gl_matchc'
166 | guard let match = matches[index] else {
167 | return nil
/host/spi-builder-workspace/Sources/Swift2Python/PythonRuntime.swift:178:64: error: cannot find '_SYS_NAMELEN' in scope
176 |
177 | let machine = withUnsafePointer(to: &uts.machine) {
178 | $0.withMemoryRebound(to: CChar.self, capacity: Int(_SYS_NAMELEN)) {
| `- error: cannot find '_SYS_NAMELEN' in scope
179 | String(cString: $0)
180 | }
[446/473] Compiling Swift2Python PythonObjectIdentity.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonRuntime.swift:165:36: error: value of type 'glob_t' has no member 'gl_matchc'
163 | }
164 |
165 | return (0..<Int(globResult.gl_matchc)).compactMap { index in
| `- error: value of type 'glob_t' has no member 'gl_matchc'
166 | guard let match = matches[index] else {
167 | return nil
/host/spi-builder-workspace/Sources/Swift2Python/PythonRuntime.swift:178:64: error: cannot find '_SYS_NAMELEN' in scope
176 |
177 | let machine = withUnsafePointer(to: &uts.machine) {
178 | $0.withMemoryRebound(to: CChar.self, capacity: Int(_SYS_NAMELEN)) {
| `- error: cannot find '_SYS_NAMELEN' in scope
179 | String(cString: $0)
180 | }
[447/473] Compiling Swift2Python PythonRuntime.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonRuntime.swift:165:36: error: value of type 'glob_t' has no member 'gl_matchc'
163 | }
164 |
165 | return (0..<Int(globResult.gl_matchc)).compactMap { index in
| `- error: value of type 'glob_t' has no member 'gl_matchc'
166 | guard let match = matches[index] else {
167 | return nil
/host/spi-builder-workspace/Sources/Swift2Python/PythonRuntime.swift:178:64: error: cannot find '_SYS_NAMELEN' in scope
176 |
177 | let machine = withUnsafePointer(to: &uts.machine) {
178 | $0.withMemoryRebound(to: CChar.self, capacity: Int(_SYS_NAMELEN)) {
| `- error: cannot find '_SYS_NAMELEN' in scope
179 | String(cString: $0)
180 | }
[448/473] Compiling Swift2Python Container.swift
[449/473] Compiling Swift2Python Conversions.swift
[450/473] Compiling Swift2Python Operators.swift
[451/473] Compiling Swift2Python PythonError.swift
[452/473] Compiling Swift2Python SafePythonObject+Container.swift
[453/473] Compiling Swift2Python SafePythonObject+Convert.swift
[454/473] Compiling Swift2Python SafePythonObject.swift
[455/473] Compiling Swift2Python SafePythonObject+Arithmetic.swift
[456/473] Compiling Swift2Python SafePythonObject+Bitwise.swift
[457/473] Compiling Swift2Python SafePythonObject+Compare.swift
[458/473] Compiling Swift2Python PythonInterpreter+Set.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:37:21: error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
34 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
35 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
36 | try await withGIL {
| `- note: access can happen concurrently
37 | try addItem(valuePtr, toSet: setPtr, orElse: { try throwPythonError() })
| |- error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'setPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
38 | }
39 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:68:21: error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
65 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
66 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
67 | try await withGIL {
| `- note: access can happen concurrently
68 | try addItem(valuePtr, toSet: frozenSetPtr, orElse: { try throwPythonError() })
| |- error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'frozenSetPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
69 | }
70 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:318:51: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
316 | // This requires the GIL.
317 | private func isAnySet(_ objPtr: UnsafeMutableRawPointer, onError throwError: () throws -> Never) throws -> Bool {
318 | try isSet(objPtr, onError: throwError) || isFrozenSet(objPtr, onError: throwError)
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| |- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
319 | }
320 |
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Tuple.swift:169:21: error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
166 | let pyObj = try await element.toPythonObject(interpreter: self)
167 | let itemPtr = try requirePythonPointer(forObject: pyObj)
168 | _ = try await withGIL {
| `- note: access can happen concurrently
169 | try setItem(itemPtr, onTuple: tuplePtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'tuplePtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
170 | }
171 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[459/473] Compiling Swift2Python PythonInterpreter+Slice.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:37:21: error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
34 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
35 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
36 | try await withGIL {
| `- note: access can happen concurrently
37 | try addItem(valuePtr, toSet: setPtr, orElse: { try throwPythonError() })
| |- error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'setPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
38 | }
39 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:68:21: error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
65 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
66 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
67 | try await withGIL {
| `- note: access can happen concurrently
68 | try addItem(valuePtr, toSet: frozenSetPtr, orElse: { try throwPythonError() })
| |- error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'frozenSetPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
69 | }
70 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:318:51: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
316 | // This requires the GIL.
317 | private func isAnySet(_ objPtr: UnsafeMutableRawPointer, onError throwError: () throws -> Never) throws -> Bool {
318 | try isSet(objPtr, onError: throwError) || isFrozenSet(objPtr, onError: throwError)
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| |- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
319 | }
320 |
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Tuple.swift:169:21: error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
166 | let pyObj = try await element.toPythonObject(interpreter: self)
167 | let itemPtr = try requirePythonPointer(forObject: pyObj)
168 | _ = try await withGIL {
| `- note: access can happen concurrently
169 | try setItem(itemPtr, onTuple: tuplePtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'tuplePtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
170 | }
171 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[460/473] Compiling Swift2Python PythonInterpreter+Tuple.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:37:21: error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
34 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
35 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
36 | try await withGIL {
| `- note: access can happen concurrently
37 | try addItem(valuePtr, toSet: setPtr, orElse: { try throwPythonError() })
| |- error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'setPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
38 | }
39 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:68:21: error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
65 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
66 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
67 | try await withGIL {
| `- note: access can happen concurrently
68 | try addItem(valuePtr, toSet: frozenSetPtr, orElse: { try throwPythonError() })
| |- error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'frozenSetPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
69 | }
70 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:318:51: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
316 | // This requires the GIL.
317 | private func isAnySet(_ objPtr: UnsafeMutableRawPointer, onError throwError: () throws -> Never) throws -> Bool {
318 | try isSet(objPtr, onError: throwError) || isFrozenSet(objPtr, onError: throwError)
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| |- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
319 | }
320 |
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Tuple.swift:169:21: error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
166 | let pyObj = try await element.toPythonObject(interpreter: self)
167 | let itemPtr = try requirePythonPointer(forObject: pyObj)
168 | _ = try await withGIL {
| `- note: access can happen concurrently
169 | try setItem(itemPtr, onTuple: tuplePtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'tuplePtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
170 | }
171 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[461/473] Compiling Swift2Python PythonInterpreter.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:37:21: error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
34 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
35 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
36 | try await withGIL {
| `- note: access can happen concurrently
37 | try addItem(valuePtr, toSet: setPtr, orElse: { try throwPythonError() })
| |- error: sending 'setPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'setPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
38 | }
39 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:68:21: error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
65 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
66 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
67 | try await withGIL {
| `- note: access can happen concurrently
68 | try addItem(valuePtr, toSet: frozenSetPtr, orElse: { try throwPythonError() })
| |- error: sending 'frozenSetPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'frozenSetPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
69 | }
70 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Set.swift:318:51: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
316 | // This requires the GIL.
317 | private func isAnySet(_ objPtr: UnsafeMutableRawPointer, onError throwError: () throws -> Never) throws -> Bool {
318 | try isSet(objPtr, onError: throwError) || isFrozenSet(objPtr, onError: throwError)
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| |- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
319 | }
320 |
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Tuple.swift:169:21: error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
166 | let pyObj = try await element.toPythonObject(interpreter: self)
167 | let itemPtr = try requirePythonPointer(forObject: pyObj)
168 | _ = try await withGIL {
| `- note: access can happen concurrently
169 | try setItem(itemPtr, onTuple: tuplePtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'tuplePtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'tuplePtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
170 | }
171 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[462/473] Compiling Swift2Python PythonInterpreter+Bytes.swift
[463/473] Compiling Swift2Python PythonInterpreter+Callable.swift
[464/473] Compiling Swift2Python PythonInterpreter+Compare.swift
[465/473] Compiling Swift2Python PythonInterpreter+Convert.swift
[466/473] Compiling Swift2Python PythonInterpreter+Dictionary.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:38:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
36 | let keyPtr = try requirePythonPointer(forObject: keyObj)
37 | let valuePtr = try requirePythonPointer(forObject: valueObj)
38 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
39 | }
40 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:68:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
66 | let keyPtr = try requirePythonPointer(forObject: keyObj)
67 | let valuePtr = try requirePythonPointer(forObject: valueObj)
68 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
69 | }
70 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:99:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
97 | let keyPtr = try requirePythonPointer(forObject: keyObj)
98 | let valuePtr = try requirePythonPointer(forObject: valueObj)
99 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
100 | }
101 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:128:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
126 | let keyPtr = try requirePythonPointer(forObject: keyObj)
127 | let valuePtr = try requirePythonPointer(forObject: valueObj)
128 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
129 | }
130 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:147:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
145 | let keyPtr = try requirePythonPointer(forObject: keyObj)
146 | let valuePtr = try requirePythonPointer(forObject: valueObj)
147 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
148 | }
149 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Error.swift:163:42: error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
161 | // earlier. PyErr_GetRaisedException on Python 3.12+ only gives the value,
162 | // so derive the type from value.__class__ in that path.
163 | let resolvedTypePtr = typePtr ?? getAttributePointer("__class__", from: exceptionPtr)
| | |- error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'exceptionPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
164 | defer {
165 | // Attribute lookup returns a new reference. A type pointer supplied by
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:39:21: error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
36 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
37 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
38 | _ = try await withGIL {
| `- note: access can happen concurrently
39 | try setItem(valuePtr, onList: listPtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'listPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
40 | }
41 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:27: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:97: error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'throwError' is captured by a nonisolated closure. nonisolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[467/473] Compiling Swift2Python PythonInterpreter+Error.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:38:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
36 | let keyPtr = try requirePythonPointer(forObject: keyObj)
37 | let valuePtr = try requirePythonPointer(forObject: valueObj)
38 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
39 | }
40 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:68:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
66 | let keyPtr = try requirePythonPointer(forObject: keyObj)
67 | let valuePtr = try requirePythonPointer(forObject: valueObj)
68 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
69 | }
70 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:99:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
97 | let keyPtr = try requirePythonPointer(forObject: keyObj)
98 | let valuePtr = try requirePythonPointer(forObject: valueObj)
99 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
100 | }
101 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:128:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
126 | let keyPtr = try requirePythonPointer(forObject: keyObj)
127 | let valuePtr = try requirePythonPointer(forObject: valueObj)
128 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
129 | }
130 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:147:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
145 | let keyPtr = try requirePythonPointer(forObject: keyObj)
146 | let valuePtr = try requirePythonPointer(forObject: valueObj)
147 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
148 | }
149 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Error.swift:163:42: error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
161 | // earlier. PyErr_GetRaisedException on Python 3.12+ only gives the value,
162 | // so derive the type from value.__class__ in that path.
163 | let resolvedTypePtr = typePtr ?? getAttributePointer("__class__", from: exceptionPtr)
| | |- error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'exceptionPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
164 | defer {
165 | // Attribute lookup returns a new reference. A type pointer supplied by
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:39:21: error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
36 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
37 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
38 | _ = try await withGIL {
| `- note: access can happen concurrently
39 | try setItem(valuePtr, onList: listPtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'listPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
40 | }
41 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:27: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:97: error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'throwError' is captured by a nonisolated closure. nonisolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[468/473] Compiling Swift2Python PythonInterpreter+Iteration.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:38:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
36 | let keyPtr = try requirePythonPointer(forObject: keyObj)
37 | let valuePtr = try requirePythonPointer(forObject: valueObj)
38 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
39 | }
40 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:68:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
66 | let keyPtr = try requirePythonPointer(forObject: keyObj)
67 | let valuePtr = try requirePythonPointer(forObject: valueObj)
68 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
69 | }
70 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:99:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
97 | let keyPtr = try requirePythonPointer(forObject: keyObj)
98 | let valuePtr = try requirePythonPointer(forObject: valueObj)
99 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
100 | }
101 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:128:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
126 | let keyPtr = try requirePythonPointer(forObject: keyObj)
127 | let valuePtr = try requirePythonPointer(forObject: valueObj)
128 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
129 | }
130 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:147:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
145 | let keyPtr = try requirePythonPointer(forObject: keyObj)
146 | let valuePtr = try requirePythonPointer(forObject: valueObj)
147 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
148 | }
149 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Error.swift:163:42: error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
161 | // earlier. PyErr_GetRaisedException on Python 3.12+ only gives the value,
162 | // so derive the type from value.__class__ in that path.
163 | let resolvedTypePtr = typePtr ?? getAttributePointer("__class__", from: exceptionPtr)
| | |- error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'exceptionPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
164 | defer {
165 | // Attribute lookup returns a new reference. A type pointer supplied by
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:39:21: error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
36 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
37 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
38 | _ = try await withGIL {
| `- note: access can happen concurrently
39 | try setItem(valuePtr, onList: listPtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'listPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
40 | }
41 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:27: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:97: error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'throwError' is captured by a nonisolated closure. nonisolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[469/473] Compiling Swift2Python PythonInterpreter+List.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:38:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
36 | let keyPtr = try requirePythonPointer(forObject: keyObj)
37 | let valuePtr = try requirePythonPointer(forObject: valueObj)
38 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
39 | }
40 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:68:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
66 | let keyPtr = try requirePythonPointer(forObject: keyObj)
67 | let valuePtr = try requirePythonPointer(forObject: valueObj)
68 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
69 | }
70 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:99:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
97 | let keyPtr = try requirePythonPointer(forObject: keyObj)
98 | let valuePtr = try requirePythonPointer(forObject: valueObj)
99 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
100 | }
101 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:128:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
126 | let keyPtr = try requirePythonPointer(forObject: keyObj)
127 | let valuePtr = try requirePythonPointer(forObject: valueObj)
128 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
129 | }
130 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Dictionary.swift:147:41: error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
145 | let keyPtr = try requirePythonPointer(forObject: keyObj)
146 | let valuePtr = try requirePythonPointer(forObject: valueObj)
147 | _ = try await withGIL { try setValue(valuePtr, onDict: dictPtr, atKey: keyPtr, orElse: { try throwPythonError() }) }
| | |- error: sending 'dictPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'dictPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
148 | }
149 | return newPythonObject(fromReturnedPointer: dictPtr)
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+Error.swift:163:42: error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
161 | // earlier. PyErr_GetRaisedException on Python 3.12+ only gives the value,
162 | // so derive the type from value.__class__ in that path.
163 | let resolvedTypePtr = typePtr ?? getAttributePointer("__class__", from: exceptionPtr)
| | |- error: sending 'exceptionPtr' risks causing data races [#SendingRisksDataRace]
| | `- note: 'self'-isolated 'exceptionPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
| `- note: access can happen concurrently
164 | defer {
165 | // Attribute lookup returns a new reference. A type pointer supplied by
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:39:21: error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
36 | let valuePythonObject = try await element.toPythonObject(interpreter: self)
37 | let valuePtr = try requirePythonPointer(forObject: valuePythonObject)
38 | _ = try await withGIL {
| `- note: access can happen concurrently
39 | try setItem(valuePtr, onList: listPtr, atIndex: index, orElse: { try throwPythonError() })
| |- error: sending 'listPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'listPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
40 | }
41 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:27: error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'objPtr' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'objPtr' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+List.swift:175:97: error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
172 | }
173 | let size = try getSizeOf(list: objPtr, onError: { try throwError() } )
174 | return try (0..<size).map { index in
| `- note: access can happen concurrently
175 | let ptr = try getItemAt(index: index, fromList: objPtr, onError: { try throwError() } )
| |- error: sending 'throwError' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'throwError' is captured by a nonisolated closure. nonisolated uses in closure may race against later actor-isolated uses
176 | return try handleEachItem(ptr)
177 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[470/473] Compiling Swift2Python PythonInterpreter+Logical.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+RefCount.swift:97:31: error: sending 'record' risks causing data races [#SendingRisksDataRace]
95 | if andAlsoPythonsRefCount {
96 | try await withGIL {
97 | api.Py_DecRef(record.objectPtr)
| |- error: sending 'record' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'record' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
98 | }
99 | }
100 | if andRemoveWhenZero && record.referenceCount <= 0 {
| `- note: access can happen concurrently
101 | pythonObjectRegistry.removeValue(forKey: forPythonObjectID)
102 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[471/473] Compiling Swift2Python PythonInterpreter+Operator.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+RefCount.swift:97:31: error: sending 'record' risks causing data races [#SendingRisksDataRace]
95 | if andAlsoPythonsRefCount {
96 | try await withGIL {
97 | api.Py_DecRef(record.objectPtr)
| |- error: sending 'record' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'record' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
98 | }
99 | }
100 | if andRemoveWhenZero && record.referenceCount <= 0 {
| `- note: access can happen concurrently
101 | pythonObjectRegistry.removeValue(forKey: forPythonObjectID)
102 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[472/473] Compiling Swift2Python PythonInterpreter+PythonAPI.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+RefCount.swift:97:31: error: sending 'record' risks causing data races [#SendingRisksDataRace]
95 | if andAlsoPythonsRefCount {
96 | try await withGIL {
97 | api.Py_DecRef(record.objectPtr)
| |- error: sending 'record' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'record' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
98 | }
99 | }
100 | if andRemoveWhenZero && record.referenceCount <= 0 {
| `- note: access can happen concurrently
101 | pythonObjectRegistry.removeValue(forKey: forPythonObjectID)
102 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[473/473] Compiling Swift2Python PythonInterpreter+RefCount.swift
/host/spi-builder-workspace/Sources/Swift2Python/PythonInterpreter+RefCount.swift:97:31: error: sending 'record' risks causing data races [#SendingRisksDataRace]
95 | if andAlsoPythonsRefCount {
96 | try await withGIL {
97 | api.Py_DecRef(record.objectPtr)
| |- error: sending 'record' risks causing data races [#SendingRisksDataRace]
| `- note: 'self'-isolated 'record' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later actor-isolated uses
98 | }
99 | }
100 | if andRemoveWhenZero && record.referenceCount <= 0 {
| `- note: access can happen concurrently
101 | pythonObjectRegistry.removeValue(forKey: forPythonObjectID)
102 | }
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
BUILD FAILURE 6.2 linux