Build Information
Failed to build AsyncOperations, reference 0.2.0 (c7fd2a), with Swift 6.4 for Wasm on 22 Sep 2026 21:10:18 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Frizlab/AsyncOperations.git
Reference: 0.2.0
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/Frizlab/AsyncOperations
* tag 0.2.0 -> FETCH_HEAD
HEAD is now at c7fd2ae Fix a Sendability warning
Cloned https://github.com/Frizlab/AsyncOperations.git
Revision (git rev-parse @):
c7fd2aeaa4c9acce2081e455f86d4689831fd93f
SUCCESS checkout https://github.com/Frizlab/AsyncOperations.git at 0.2.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/Frizlab/AsyncOperations.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Fetching https://github.com/happn-app/RetryingOperation.git
[1/395] Fetching retryingoperation
Fetched https://github.com/happn-app/RetryingOperation.git (0.41s)
Computing version for https://github.com/happn-app/RetryingOperation.git
Computed https://github.com/happn-app/RetryingOperation.git at 1.1.8 (0.61s)
Fetching https://github.com/apple/swift-log.git
[1/8148] Fetching swift-log
Fetched https://github.com/apple/swift-log.git (0.52s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.74s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.15.1
Creating working copy for https://github.com/happn-app/RetryingOperation.git
Working copy of https://github.com/happn-app/RetryingOperation.git resolved at 1.1.8
Building for debugging...
[Pre-planning 1 / 126]
[6 / 49]
[37 / 59] Logging
[46 / 65] RetryingOperation
[48 / 65]
[49 / 66] Logging
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:79:32: [1;31merror: [1;39mcannot find type 'Operation' in scope[0;0m
[0;36m77 |[0;0m A solution is to use `RetryableOperationWrapper`.
[0;36m78 |[0;0m See the doc of this class for more information. */
[0;36m79 |[0;0m open class RetryingOperation : [4;39mOperation[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Operation' in scope[0;0m
[0;36m80 |[0;0m
[0;36m81 |[0;0m public var numberOfRetries: Int? {
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:101:20: [1;31merror: [1;39mproperty does not override any property from its superclass[0;0m
[0;36m99 |[0;0m By default an `Operation` is synchronous, which, with no modifications on the `isAsynchronous` property, would make a RetryingOperation synchronous by default too.
[0;36m100 |[0;0m This is not such a good behavior; we prefer forcing subclassers to explicitely say whether they’re creating a synchronous or an asynchronous operation. */
[0;36m101 |[0;0m open [4;39moverride[0;0m var isAsynchronous: Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mproperty does not override any property from its superclass[0;0m
[0;36m102 |[0;0m fatalError("isAsynchronous is abstract on a RetryingOperation")
[0;36m103 |[0;0m }
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:105:29: [1;31merror: [1;39mmethod does not override any method from its superclass[0;0m
[0;36m103 |[0;0m }
[0;36m104 |[0;0m
[0;36m105 |[0;0m public final [4;39moverride[0;0m func start() {
[0;36m|[0;0m `- [1;31merror: [1;39mmethod does not override any method from its superclass[0;0m
[0;36m106 |[0;0m if !isAsynchronous {super.start()}
[0;36m107 |[0;0m else {
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:115:29: [1;31merror: [1;39mmethod does not override any method from its superclass[0;0m
[0;36m113 |[0;0m /* Note: The synchronous implementation deserves a little more tests.
[0;36m114 |[0;0m * Currently it is only very lightly tested with a few unit tests. */
[0;36m115 |[0;0m public final [4;39moverride[0;0m func main() {
[0;36m|[0;0m `- [1;31merror: [1;39mmethod does not override any method from its superclass[0;0m
[0;36m116 |[0;0m assert(!isAsynchronous)
[0;36m117 |[0;0m
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:306:22: [1;31merror: [1;39mcannot find type 'DispatchSourceTimer' in scope[0;0m
[0;36m304 |[0;0m private var hasBeenResumed = false
[0;36m305 |[0;0m
[0;36m306 |[0;0m private let timer: [4;39mDispatchSourceTimer[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchSourceTimer' in scope[0;0m
[0;36m307 |[0;0m fileprivate let delay: TimeInterval /* For synchronous operations... */
[0;36m308 |[0;0m
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:361:36: [1;31merror: [1;39mcannot find 'DispatchSemaphore' in scope[0;0m
[0;36m359 |[0;0m }
[0;36m360 |[0;0m
[0;36m361 |[0;0m private let retryStateSemaphore = [4;39mDispatchSemaphore[0;0m(value: 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchSemaphore' in scope[0;0m
[0;36m362 |[0;0m private let retryQueue = DispatchQueue(label: "Queue for Syncing Retries (for One Retrying Operation)", qos: .utility)
[0;36m363 |[0;0m
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:362:27: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m360 |[0;0m
[0;36m361 |[0;0m private let retryStateSemaphore = DispatchSemaphore(value: 1)
[0;36m362 |[0;0m private let retryQueue = [4;39mDispatchQueue[0;0m(label: "Queue for Syncing Retries (for One Retrying Operation)", qos: .utility)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m363 |[0;0m
[0;36m364 |[0;0m /* Only used for synchronous operations. */
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:446:29: [1;31merror: [1;39mmethod does not override any method from its superclass[0;0m
[0;36m444 |[0;0m }
[0;36m445 |[0;0m
[0;36m446 |[0;0m public final [4;39moverride[0;0m func cancel() {
[0;36m|[0;0m `- [1;31merror: [1;39mmethod does not override any method from its superclass[0;0m
[0;36m447 |[0;0m super.cancel()
[0;36m448 |[0;0m guard isAsynchronous else {cancelBaseOperation(); return}
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:468:28: [1;31merror: [1;39mproperty does not override any property from its superclass[0;0m
[0;36m466 |[0;0m private var isBaseOperationRunning = false
[0;36m467 |[0;0m
[0;36m468 |[0;0m public final [4;39moverride[0;0m var isExecuting: Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mproperty does not override any property from its superclass[0;0m
[0;36m469 |[0;0m guard isAsynchronous else {return super.isExecuting}
[0;36m470 |[0;0m
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:475:28: [1;31merror: [1;39mproperty does not override any property from its superclass[0;0m
[0;36m473 |[0;0m }
[0;36m474 |[0;0m
[0;36m475 |[0;0m public final [4;39moverride[0;0m var isFinished: Bool {
[0;36m|[0;0m `- [1;31merror: [1;39mproperty does not override any property from its superclass[0;0m
[0;36m476 |[0;0m guard isAsynchronous else {return super.isFinished}
[0;36m477 |[0;0m
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:402:48: [1;31merror: [1;39mcannot find 'didChangeValue' in scope[0;0m
[0;36m400 |[0;0m let oldStateFinished = oldState.isFinished
[0;36m401 |[0;0m
[0;36m402 |[0;0m if newStateFinished != oldStateFinished {[4;39mdidChangeValue[0;0m(forKey: "isFinished")}
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'didChangeValue' in scope[0;0m
[0;36m403 |[0;0m if newStateExecuting != oldStateExecuting {didChangeValue(forKey: "isExecuting")}
[0;36m404 |[0;0m }
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:403:48: [1;31merror: [1;39mcannot find 'didChangeValue' in scope[0;0m
[0;36m401 |[0;0m
[0;36m402 |[0;0m if newStateFinished != oldStateFinished {didChangeValue(forKey: "isFinished")}
[0;36m403 |[0;0m if newStateExecuting != oldStateExecuting {[4;39mdidChangeValue[0;0m(forKey: "isExecuting")}
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'didChangeValue' in scope[0;0m
[0;36m404 |[0;0m }
[0;36m405 |[0;0m
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift:406:4: [1;31merror: [1;39mcannot find 'didChangeValue' in scope[0;0m
[0;36m404 |[0;0m }
[0;36m405 |[0;0m
[0;36m406 |[0;0m [4;39mdidChangeValue[0;0m(forKey: "retryingState")
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'didChangeValue' in scope[0;0m
[0;36m407 |[0;0m }
[0;36m408 |[0;0m }
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/WrappedRetryingOperation.swift:20:38: [1;31merror: [1;39mcannot find type 'Operation' in scope[0;0m
[0;36m18 |[0;0m
[0;36m19 |[0;0m
[0;36m20 |[0;0m public protocol RetryableOperation : [4;39mOperation[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Operation' in scope[0;0m
[0;36m21 |[0;0m
[0;36m22 |[0;0m /* I’d like to add “where T : Self” so that clients of the protocol know ther're given an object kind of class Self,
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/WrappedRetryingOperation.swift:64:101: [1;31merror: [1;39mcannot find type 'OperationQueue' in scope[0;0m
[0;36m62 |[0;0m public let maximumNumberOfRetries: Int
[0;36m63 |[0;0m
[0;36m64 |[0;0m public init(maximumNumberOfRetries maxRetry: Int = -1, baseOperation: T, baseOperationQueue queue: [4;39mOperationQueue[0;0m? = nil) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'OperationQueue' in scope[0;0m
[0;36m65 |[0;0m maximumNumberOfRetries = maxRetry
[0;36m66 |[0;0m
/host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/WrappedRetryingOperation.swift:59:33: [1;31merror: [1;39mcannot find type 'OperationQueue' in scope[0;0m
[0;36m57 |[0;0m
[0;36m58 |[0;0m If `nil` (default), the base operation will not be launched in a queue. */
[0;36m59 |[0;0m public let baseOperationQueue: [4;39mOperationQueue[0;0m?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'OperationQueue' in scope[0;0m
[0;36m60 |[0;0m
[0;36m61 |[0;0m /** If `< 0`, the operation is retried indefinitely. */
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryHelper.swift /host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperation.swift /host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/RetryingOperationConfig.swift /host/spi-builder-workspace/.build/checkouts/RetryingOperation/Sources/RetryingOperation/WrappedRetryingOperation.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -suppress-warnings -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name RetryingOperation -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/Objects-normal/wasm32/RetryingOperation_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/Objects-normal/wasm32/Modules/RetryingOperation.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/Objects-normal/wasm32/Modules/RetryingOperation.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/Objects-normal/wasm32/RetryingOperation-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/Objects-normal/wasm32/RetryingOperation-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/Objects-normal/wasm32/RetryingOperation-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/RetryingOperation.build/Debug-webassembly-wasm32/RetryingOperation-t.build/Objects-normal/wasm32/Modules/RetryingOperation.swiftmodule
error: Build failed
BUILD FAILURE 6.4 wasm