The Swift Package Index logo.Swift Package Index

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