Build Information
Failed to build Watchdog, reference master (2df9ac
), with Swift 6.1 for Wasm on 28 May 2025 01:08:36 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/wojteklu/Watchdog.git
Reference: master
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/wojteklu/Watchdog
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 2df9acf Add support for SwiftPM (#51)
Cloned https://github.com/wojteklu/Watchdog.git
Revision (git rev-parse @):
2df9acf8472a1f1146fc0f41e37d3f424dba72d6
SUCCESS checkout https://github.com/wojteklu/Watchdog.git at master
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/wojteklu/Watchdog.git
https://github.com/wojteklu/Watchdog.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Watchdog",
"name" : "Watchdog",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Watchdog",
"targets" : [
"Watchdog"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Watchdog",
"module_type" : "SwiftTarget",
"name" : "Watchdog",
"path" : "Classes",
"product_memberships" : [
"Watchdog"
],
"sources" : [
"Watchdog.swift"
],
"type" : "library"
}
],
"tools_version" : "4.2"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module Watchdog
/host/spi-builder-workspace/Classes/Watchdog.swift:7:6: error: Objective-C interoperability is disabled
5 | fileprivate let pingThread: PingThread
6 |
7 | @objc public static let defaultThreshold = 0.4
| `- error: Objective-C interoperability is disabled
8 |
9 | /// Convenience initializer that allows you to construct a `WatchDog` object with default behavior.
/host/spi-builder-workspace/Classes/Watchdog.swift:12:6: error: Objective-C interoperability is disabled
10 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
11 | /// - parameter strictMode: boolean value that stops the execution whenever the threshold is reached.
12 | @objc public convenience init(threshold: Double = Watchdog.defaultThreshold, strictMode: Bool = false) {
| `- error: Objective-C interoperability is disabled
13 | let message = "👮 Main thread was blocked for " + String(format: "%.2f", threshold) + "s 👮"
14 |
/host/spi-builder-workspace/Classes/Watchdog.swift:27:6: error: Objective-C interoperability is disabled
25 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
26 | /// - parameter watchdogFiredCallback: a callback that will be called when the the threshold is reached
27 | @objc public init(threshold: Double = Watchdog.defaultThreshold, watchdogFiredCallback: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
28 | self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
/host/spi-builder-workspace/Classes/Watchdog.swift:39:33: error: cannot find type 'Thread' in scope
37 | }
38 |
39 | private final class PingThread: Thread {
| `- error: cannot find type 'Thread' in scope
40 | fileprivate var pingTaskIsRunning: Bool {
41 | get {
/host/spi-builder-workspace/Classes/Watchdog.swift:55:33: error: cannot find 'DispatchSemaphore' in scope
53 | private var _pingTaskIsRunning = false
54 | private let pingTaskIsRunningLock = NSObject()
55 | fileprivate var semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
56 | fileprivate let threshold: Double
57 | fileprivate let handler: () -> Void
/host/spi-builder-workspace/Classes/Watchdog.swift:66:19: error: method does not override any method from its superclass
64 | }
65 |
66 | override func main() {
| `- error: method does not override any method from its superclass
67 | while !isCancelled {
68 | pingTaskIsRunning = true
[4/4] Compiling Watchdog Watchdog.swift
/host/spi-builder-workspace/Classes/Watchdog.swift:7:6: error: Objective-C interoperability is disabled
5 | fileprivate let pingThread: PingThread
6 |
7 | @objc public static let defaultThreshold = 0.4
| `- error: Objective-C interoperability is disabled
8 |
9 | /// Convenience initializer that allows you to construct a `WatchDog` object with default behavior.
/host/spi-builder-workspace/Classes/Watchdog.swift:12:6: error: Objective-C interoperability is disabled
10 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
11 | /// - parameter strictMode: boolean value that stops the execution whenever the threshold is reached.
12 | @objc public convenience init(threshold: Double = Watchdog.defaultThreshold, strictMode: Bool = false) {
| `- error: Objective-C interoperability is disabled
13 | let message = "👮 Main thread was blocked for " + String(format: "%.2f", threshold) + "s 👮"
14 |
/host/spi-builder-workspace/Classes/Watchdog.swift:27:6: error: Objective-C interoperability is disabled
25 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
26 | /// - parameter watchdogFiredCallback: a callback that will be called when the the threshold is reached
27 | @objc public init(threshold: Double = Watchdog.defaultThreshold, watchdogFiredCallback: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
28 | self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
/host/spi-builder-workspace/Classes/Watchdog.swift:39:33: error: cannot find type 'Thread' in scope
37 | }
38 |
39 | private final class PingThread: Thread {
| `- error: cannot find type 'Thread' in scope
40 | fileprivate var pingTaskIsRunning: Bool {
41 | get {
/host/spi-builder-workspace/Classes/Watchdog.swift:55:33: error: cannot find 'DispatchSemaphore' in scope
53 | private var _pingTaskIsRunning = false
54 | private let pingTaskIsRunningLock = NSObject()
55 | fileprivate var semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
56 | fileprivate let threshold: Double
57 | fileprivate let handler: () -> Void
/host/spi-builder-workspace/Classes/Watchdog.swift:66:19: error: method does not override any method from its superclass
64 | }
65 |
66 | override func main() {
| `- error: method does not override any method from its superclass
67 | while !isCancelled {
68 | pingTaskIsRunning = true
/host/spi-builder-workspace/Classes/Watchdog.swift:30:25: error: value of type 'PingThread' has no member 'start'
28 | self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
30 | self.pingThread.start()
| `- error: value of type 'PingThread' has no member 'start'
31 | super.init()
32 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:35:20: error: value of type 'PingThread' has no member 'cancel'
33 |
34 | deinit {
35 | pingThread.cancel()
| `- error: value of type 'PingThread' has no member 'cancel'
36 | }
37 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:42:13: error: cannot find 'objc_sync_enter' in scope
40 | fileprivate var pingTaskIsRunning: Bool {
41 | get {
42 | objc_sync_enter(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_enter' in scope
43 | let result = _pingTaskIsRunning;
44 | objc_sync_exit(pingTaskIsRunningLock)
/host/spi-builder-workspace/Classes/Watchdog.swift:44:13: error: cannot find 'objc_sync_exit' in scope
42 | objc_sync_enter(pingTaskIsRunningLock)
43 | let result = _pingTaskIsRunning;
44 | objc_sync_exit(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_exit' in scope
45 | return result
46 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:48:13: error: cannot find 'objc_sync_enter' in scope
46 | }
47 | set {
48 | objc_sync_enter(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_enter' in scope
49 | _pingTaskIsRunning = newValue
50 | objc_sync_exit(pingTaskIsRunningLock)
/host/spi-builder-workspace/Classes/Watchdog.swift:50:13: error: cannot find 'objc_sync_exit' in scope
48 | objc_sync_enter(pingTaskIsRunningLock)
49 | _pingTaskIsRunning = newValue
50 | objc_sync_exit(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_exit' in scope
51 | }
52 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:62:9: error: 'super' cannot be used in class 'PingThread' because it has no superclass
60 | self.threshold = threshold
61 | self.handler = handler
62 | super.init()
| `- error: 'super' cannot be used in class 'PingThread' because it has no superclass
63 | self.name = "WatchDog"
64 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:63:14: error: value of type 'PingThread' has no member 'name'
61 | self.handler = handler
62 | super.init()
63 | self.name = "WatchDog"
| `- error: value of type 'PingThread' has no member 'name'
64 | }
65 |
/host/spi-builder-workspace/Classes/Watchdog.swift:67:16: error: cannot find 'isCancelled' in scope
65 |
66 | override func main() {
67 | while !isCancelled {
| `- error: cannot find 'isCancelled' in scope
68 | pingTaskIsRunning = true
69 | DispatchQueue.main.async {
/host/spi-builder-workspace/Classes/Watchdog.swift:69:13: error: cannot find 'DispatchQueue' in scope
67 | while !isCancelled {
68 | pingTaskIsRunning = true
69 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
70 | self.pingTaskIsRunning = false
71 | self.semaphore.signal()
/host/spi-builder-workspace/Classes/Watchdog.swift:74:13: error: cannot find 'Thread' in scope
72 | }
73 |
74 | Thread.sleep(forTimeInterval: threshold)
| `- error: cannot find 'Thread' in scope
75 | if pingTaskIsRunning {
76 | handler()
/host/spi-builder-workspace/Classes/Watchdog.swift:79:41: error: cannot find 'DispatchTime' in scope
77 | }
78 |
79 | _ = semaphore.wait(timeout: DispatchTime.distantFuture)
| `- error: cannot find 'DispatchTime' in scope
80 | }
81 | }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/3] Emitting module Watchdog
/host/spi-builder-workspace/Classes/Watchdog.swift:7:6: error: Objective-C interoperability is disabled
5 | fileprivate let pingThread: PingThread
6 |
7 | @objc public static let defaultThreshold = 0.4
| `- error: Objective-C interoperability is disabled
8 |
9 | /// Convenience initializer that allows you to construct a `WatchDog` object with default behavior.
/host/spi-builder-workspace/Classes/Watchdog.swift:12:6: error: Objective-C interoperability is disabled
10 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
11 | /// - parameter strictMode: boolean value that stops the execution whenever the threshold is reached.
12 | @objc public convenience init(threshold: Double = Watchdog.defaultThreshold, strictMode: Bool = false) {
| `- error: Objective-C interoperability is disabled
13 | let message = "👮 Main thread was blocked for " + String(format: "%.2f", threshold) + "s 👮"
14 |
/host/spi-builder-workspace/Classes/Watchdog.swift:27:6: error: Objective-C interoperability is disabled
25 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
26 | /// - parameter watchdogFiredCallback: a callback that will be called when the the threshold is reached
27 | @objc public init(threshold: Double = Watchdog.defaultThreshold, watchdogFiredCallback: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
28 | self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
/host/spi-builder-workspace/Classes/Watchdog.swift:39:33: error: cannot find type 'Thread' in scope
37 | }
38 |
39 | private final class PingThread: Thread {
| `- error: cannot find type 'Thread' in scope
40 | fileprivate var pingTaskIsRunning: Bool {
41 | get {
/host/spi-builder-workspace/Classes/Watchdog.swift:55:33: error: cannot find 'DispatchSemaphore' in scope
53 | private var _pingTaskIsRunning = false
54 | private let pingTaskIsRunningLock = NSObject()
55 | fileprivate var semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
56 | fileprivate let threshold: Double
57 | fileprivate let handler: () -> Void
/host/spi-builder-workspace/Classes/Watchdog.swift:66:19: error: method does not override any method from its superclass
64 | }
65 |
66 | override func main() {
| `- error: method does not override any method from its superclass
67 | while !isCancelled {
68 | pingTaskIsRunning = true
[3/3] Compiling Watchdog Watchdog.swift
/host/spi-builder-workspace/Classes/Watchdog.swift:7:6: error: Objective-C interoperability is disabled
5 | fileprivate let pingThread: PingThread
6 |
7 | @objc public static let defaultThreshold = 0.4
| `- error: Objective-C interoperability is disabled
8 |
9 | /// Convenience initializer that allows you to construct a `WatchDog` object with default behavior.
/host/spi-builder-workspace/Classes/Watchdog.swift:12:6: error: Objective-C interoperability is disabled
10 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
11 | /// - parameter strictMode: boolean value that stops the execution whenever the threshold is reached.
12 | @objc public convenience init(threshold: Double = Watchdog.defaultThreshold, strictMode: Bool = false) {
| `- error: Objective-C interoperability is disabled
13 | let message = "👮 Main thread was blocked for " + String(format: "%.2f", threshold) + "s 👮"
14 |
/host/spi-builder-workspace/Classes/Watchdog.swift:27:6: error: Objective-C interoperability is disabled
25 | /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
26 | /// - parameter watchdogFiredCallback: a callback that will be called when the the threshold is reached
27 | @objc public init(threshold: Double = Watchdog.defaultThreshold, watchdogFiredCallback: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
28 | self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
/host/spi-builder-workspace/Classes/Watchdog.swift:39:33: error: cannot find type 'Thread' in scope
37 | }
38 |
39 | private final class PingThread: Thread {
| `- error: cannot find type 'Thread' in scope
40 | fileprivate var pingTaskIsRunning: Bool {
41 | get {
/host/spi-builder-workspace/Classes/Watchdog.swift:55:33: error: cannot find 'DispatchSemaphore' in scope
53 | private var _pingTaskIsRunning = false
54 | private let pingTaskIsRunningLock = NSObject()
55 | fileprivate var semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
56 | fileprivate let threshold: Double
57 | fileprivate let handler: () -> Void
/host/spi-builder-workspace/Classes/Watchdog.swift:66:19: error: method does not override any method from its superclass
64 | }
65 |
66 | override func main() {
| `- error: method does not override any method from its superclass
67 | while !isCancelled {
68 | pingTaskIsRunning = true
/host/spi-builder-workspace/Classes/Watchdog.swift:30:25: error: value of type 'PingThread' has no member 'start'
28 | self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
30 | self.pingThread.start()
| `- error: value of type 'PingThread' has no member 'start'
31 | super.init()
32 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:35:20: error: value of type 'PingThread' has no member 'cancel'
33 |
34 | deinit {
35 | pingThread.cancel()
| `- error: value of type 'PingThread' has no member 'cancel'
36 | }
37 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:42:13: error: cannot find 'objc_sync_enter' in scope
40 | fileprivate var pingTaskIsRunning: Bool {
41 | get {
42 | objc_sync_enter(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_enter' in scope
43 | let result = _pingTaskIsRunning;
44 | objc_sync_exit(pingTaskIsRunningLock)
/host/spi-builder-workspace/Classes/Watchdog.swift:44:13: error: cannot find 'objc_sync_exit' in scope
42 | objc_sync_enter(pingTaskIsRunningLock)
43 | let result = _pingTaskIsRunning;
44 | objc_sync_exit(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_exit' in scope
45 | return result
46 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:48:13: error: cannot find 'objc_sync_enter' in scope
46 | }
47 | set {
48 | objc_sync_enter(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_enter' in scope
49 | _pingTaskIsRunning = newValue
50 | objc_sync_exit(pingTaskIsRunningLock)
/host/spi-builder-workspace/Classes/Watchdog.swift:50:13: error: cannot find 'objc_sync_exit' in scope
48 | objc_sync_enter(pingTaskIsRunningLock)
49 | _pingTaskIsRunning = newValue
50 | objc_sync_exit(pingTaskIsRunningLock)
| `- error: cannot find 'objc_sync_exit' in scope
51 | }
52 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:62:9: error: 'super' cannot be used in class 'PingThread' because it has no superclass
60 | self.threshold = threshold
61 | self.handler = handler
62 | super.init()
| `- error: 'super' cannot be used in class 'PingThread' because it has no superclass
63 | self.name = "WatchDog"
64 | }
/host/spi-builder-workspace/Classes/Watchdog.swift:63:14: error: value of type 'PingThread' has no member 'name'
61 | self.handler = handler
62 | super.init()
63 | self.name = "WatchDog"
| `- error: value of type 'PingThread' has no member 'name'
64 | }
65 |
/host/spi-builder-workspace/Classes/Watchdog.swift:67:16: error: cannot find 'isCancelled' in scope
65 |
66 | override func main() {
67 | while !isCancelled {
| `- error: cannot find 'isCancelled' in scope
68 | pingTaskIsRunning = true
69 | DispatchQueue.main.async {
/host/spi-builder-workspace/Classes/Watchdog.swift:69:13: error: cannot find 'DispatchQueue' in scope
67 | while !isCancelled {
68 | pingTaskIsRunning = true
69 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
70 | self.pingTaskIsRunning = false
71 | self.semaphore.signal()
/host/spi-builder-workspace/Classes/Watchdog.swift:74:13: error: cannot find 'Thread' in scope
72 | }
73 |
74 | Thread.sleep(forTimeInterval: threshold)
| `- error: cannot find 'Thread' in scope
75 | if pingTaskIsRunning {
76 | handler()
/host/spi-builder-workspace/Classes/Watchdog.swift:79:41: error: cannot find 'DispatchTime' in scope
77 | }
78 |
79 | _ = semaphore.wait(timeout: DispatchTime.distantFuture)
| `- error: cannot find 'DispatchTime' in scope
80 | }
81 | }
BUILD FAILURE 6.1 wasm