Build Information
Failed to build w2ni18n, reference master (6d38b1), with Swift 6.4 for Wasm on 22 Sep 2026 15:45:18 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344844-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/bastie/w2ni18n.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/bastie/w2ni18n
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 6d38b13 Create FUNDING.yml
Cloned https://github.com/bastie/w2ni18n.git
Revision (git rev-parse @):
6d38b130666e0632bd840954ba98fa075eb2c28e
SUCCESS checkout https://github.com/bastie/w2ni18n.git at master
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/bastie/w2ni18n.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-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/bastie/JavApi4Swift.git
[1/39185] Fetching javapi4swift
Fetched https://github.com/bastie/JavApi4Swift.git (1.84s)
Computing version for https://github.com/bastie/JavApi4Swift.git
Computed https://github.com/bastie/JavApi4Swift.git at 0.54.0 (2.02s)
Creating working copy for https://github.com/bastie/JavApi4Swift.git
Working copy of https://github.com/bastie/JavApi4Swift.git resolved at 0.54.0
Building for debugging...
[Pre-planning 1 / 125]
[Planning deferred tasks]
[36 / 51] JavApi
[45 / 99] JavApi
[46 / 99] JavApi
[47 / 99] JavApi
[48 / 99] JavApi
[50 / 99] JavApi
[52 / 99] JavApi
[53 / 99] JavApi
[54 / 99] JavApi
[55 / 99] JavApi
[56 / 99] JavApi
[57 / 99] JavApi
[58 / 99] JavApi
[60 / 99] JavApi
[61 / 99] JavApi
[63 / 99] JavApi
[68 / 99] JavApi-product
[69 / 99] JavApi-product
[72 / 99] JavApi
[72 / 99] w2ni18n
[75 / 99] JavApi
[76 / 99] JavApi
[77 / 99] JavApi
[78 / 99] JavApi
[79 / 99] JavApi
[81 / 99] JavApi
[82 / 99] JavApi
[83 / 99] JavApi
[84 / 99] JavApi
[85 / 99] JavApi
[86 / 99] JavApi
[87 / 99] JavApi
[88 / 99] JavApi
[89 / 99]
[92 / 104] w2ni18n
[94 / 104] w2ni18n
[99 / 104] w2ni18n
error: SwiftCompile normal wasm32 /host/spi-builder-workspace/Sources/w2ni18n/W2N.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile W2N.swift
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:96:15: [1;31merror: [1;39mfailed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)[0;0m
[0;36m94 |[0;0m }
[0;36m95 |[0;0m else if (key.startsWith("measure:")) {
[0;36m96 |[0;0m [4;39m_ = sortedMeasureValues.add(Int64(val.toString().trim())!)[0;0m // maybe throws error
[0;36m|[0;0m `- [1;31merror: [1;39mfailed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)[0;0m
[0;36m97 |[0;0m }
[0;36m98 |[0;0m else if ("point".equals(key)) {
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:105:35: [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m103 |[0;0m }
[0;36m104 |[0;0m if (zeroToNine<10) {
[0;36m105 |[0;0m _ = [4;39mself.decimalWords[0;0m.[4;39madd[0;0m(key)
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m106 |[0;0m zeroToNine += 1
[0;36m107 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:114:23: [1;31merror: [1;39mtype 'Throwable' has no member 'RuntimeException'[0;0m
[0;36m112 |[0;0m }
[0;36m113 |[0;0m catch {
[0;36m114 |[0;0m throw [4;39mThrowable[0;0m.[4;39mRuntimeException[0;0m(error.localizedDescription);
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'Throwable' has no member 'RuntimeException'[0;0m
[0;36m115 |[0;0m }
[0;36m116 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:128:25: [1;31merror: [1;39mvalue of type '[Int]' has no member 'add'[0;0m
[0;36m126 |[0;0m for word in numberWords {
[0;36m127 |[0;0m let nextNumberCandidat : Int = Int(self.numberSystem.get(word)!);
[0;36m128 |[0;0m _ = [4;39mdigitValues[0;0m.[4;39madd[0;0m(nextNumberCandidat);
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[Int]' has no member 'add'[0;0m
[0;36m129 |[0;0m }
[0;36m130 |[0;0m
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:226:28: [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m224 |[0;0m for word in splitWords {
[0;36m225 |[0;0m if (self.numberSystem.containsKey(word)) {
[0;36m226 |[0;0m _ = [4;39mcleanNumbers[0;0m.[4;39madd[0;0m(word);
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m227 |[0;0m }
[0;36m228 |[0;0m else if (word.equals(self.localizedPointName)){
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:229:28: [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m227 |[0;0m }
[0;36m228 |[0;0m else if (word.equals(self.localizedPointName)){
[0;36m229 |[0;0m _ = [4;39mcleanNumbers[0;0m.[4;39madd[0;0m(word);
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m230 |[0;0m }
[0;36m231 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:235:25: [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m233 |[0;0m // Error message if the user enters invalid input!
[0;36m234 |[0;0m if (cleanNumbers.count == 0) {
[0;36m235 |[0;0m throw [4;39mThrowable[0;0m.[4;39mNumberFormatException[0;0m("No valid number words found! Please enter a valid number word (eg. two million twenty three thousand and forty nine)")
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m236 |[0;0m }
[0;36m237 |[0;0m
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:240:25: [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m238 |[0;0m let toMuchPoints = cleanNumbers.indexOf(self.localizedPointName) != cleanNumbers.lastIndexOf(localizedPointName);
[0;36m239 |[0;0m if (toMuchPoints) {
[0;36m240 |[0;0m throw [4;39mThrowable[0;0m.[4;39mNumberFormatException[0;0m("Redundant point word \(localizedPointName)! Please enter a valid number word (eg. two million twenty three thousand and forty nine)")
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m241 |[0;0m }
[0;36m242 |[0;0m
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:263:38: [1;31merror: [1;39mvalue of type '[Int]' has no member 'add'[0;0m
[0;36m261 |[0;0m // save index for next check
[0;36m262 |[0;0m if (-1 != getIndexForNumber(measureValueDoubleCheck,cleanNumbers)){
[0;36m263 |[0;0m _ = [4;39mmeasureWordsSequence[0;0m.[4;39madd[0;0m(getIndexForNumber(measureValueDoubleCheck,cleanNumbers))
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[Int]' has no member 'add'[0;0m
[0;36m264 |[0;0m }
[0;36m265 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:272:27: [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m270 |[0;0m for i in 0..<measureWordsSequence.count {
[0;36m271 |[0;0m if (measureWordsSequence[i] != sortedMeasureWordsSequence[i]) {
[0;36m272 |[0;0m throw [4;39mThrowable[0;0m.[4;39mNumberFormatException[0;0m ("Malformed number in result of false measure word sequence eg. trillion after thousand! Please enter a valid number word (eg. two million twenty three thousand and forty nine)");
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m273 |[0;0m }
[0;36m274 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:281:26: [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m279 |[0;0m var measureNames = [String]()
[0;36m280 |[0;0m for value in sortedMeasureValues {
[0;36m281 |[0;0m _ = [4;39mmeasureNames[0;0m.[4;39madd[0;0m(getNameByNumberValue(value)!);
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m282 |[0;0m }
[0;36m283 |[0;0m for nextPart in cleanNumbers {
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:285:38: [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m283 |[0;0m for nextPart in cleanNumbers {
[0;36m284 |[0;0m if (measureNames.contains(nextPart) && lastWasMeasureWord) {
[0;36m285 |[0;0m _ = [4;39mnormalizedCleanNumbers[0;0m.[4;39madd[0;0m(self.getNameByNumberValue(1)!);
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m286 |[0;0m lastWasMeasureWord = true;
[0;36m287 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:291:36: [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m289 |[0;0m lastWasMeasureWord = measureNames.contains(nextPart);
[0;36m290 |[0;0m }
[0;36m291 |[0;0m _ = [4;39mnormalizedCleanNumbers[0;0m.[4;39madd[0;0m(nextPart);
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m292 |[0;0m }
[0;36m293 |[0;0m cleanNumbers = normalizedCleanNumbers;
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:300:27: [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m298 |[0;0m let measure_name = getNameByNumberValue(measureValue)!
[0;36m299 |[0;0m if (cleanDecimalNumbers.contains(measure_name)) {
[0;36m300 |[0;0m throw [4;39mThrowable[0;0m.[4;39mNumberFormatException[0;0m ("Malformed number in result of false measure word after point eg. trillion after thousand! Please enter a valid number word (eg. two million twenty three thousand and forty nine)")
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m301 |[0;0m }
[0;36m302 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:346:54: [1;31merror: [1;39mvalue of type 'java.util.HashMap<String, String>' has no member 'delegate'[0;0m
[0;36m344 |[0;0m // for examples: both is right "vingt et un" and "vingt-et-un"
[0;36m345 |[0;0m // we change this to composed value "vingt-et-un" over the localized data file "replace:" entry
[0;36m346 |[0;0m for nonComposedNumberValue in [4;39mself.normalizeData[0;0m.[4;39mdelegate[0;0m.keys {
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type 'java.util.HashMap<String, String>' has no member 'delegate'[0;0m
[0;36m347 |[0;0m if (nonComposedNumberValue.contains(" ")) {
[0;36m348 |[0;0m let composedNumberValue = self.normalizeData.get(nonComposedNumberValue);
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:384:23: [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m382 |[0;0m let countGreaterOne = cleanNumbers.indexOf(localizedName) != cleanNumbers.lastIndexOf(localizedName);
[0;36m383 |[0;0m if (countGreaterOne) {
[0;36m384 |[0;0m throw [4;39mThrowable[0;0m.[4;39mNumberFormatException[0;0m ("Redundant number word (\(localizedName ?? "???")) in! Please enter a valid number word (eg. two million twenty three thousand and forty nine)")
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'Throwable' has no member 'NumberFormatException'[0;0m
[0;36m385 |[0;0m }
[0;36m386 |[0;0m }
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:398:17: [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m396 |[0;0m var param = Array(cleanNumbers[0..<measureIndex])
[0;36m397 |[0;0m if (param.isEmpty) {
[0;36m398 |[0;0m _ = [4;39mparam[0;0m.[4;39madd[0;0m(self.getNameByNumberValue(Int64(1))!); // maybe Int128 ?
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '[String]' has no member 'add'[0;0m
[0;36m399 |[0;0m }
[0;36m400 |[0;0m let multiplier : Int64 = Int64(self.numberFormation(param));
/host/spi-builder-workspace/Sources/w2ni18n/W2N.swift:410:34: [1;31merror: [1;39mvalue of type 'java.util.HashMap<String, Int64>' has no member 'delegate'[0;0m
[0;36m408 |[0;0m */
[0;36m409 |[0;0m public func getNameByNumberValue (_ newNumber : Int64) -> String?{
[0;36m410 |[0;0m for key in [4;39mself.numberSystem[0;0m.[4;39mdelegate[0;0m.keys {
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type 'java.util.HashMap<String, Int64>' has no member 'delegate'[0;0m
[0;36m411 |[0;0m if (newNumber == self.numberSystem.get(key)) {
[0;36m412 |[0;0m return key;
Failed frontend command:
/usr/bin/swift-frontend -frontend -c /host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/DerivedSources/resource_bundle_accessor.swift -primary-file /host/spi-builder-workspace/Sources/w2ni18n/W2N.swift /host/spi-builder-workspace/Sources/w2ni18n/w2ni18n.swift -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/Objects-normal/wasm32/W2N.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/Objects-normal/wasm32/W2N.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/Objects-normal/wasm32/W2N.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/Objects-normal/wasm32/W2N.dia -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 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -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/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name w2ni18n -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/Objects-normal/wasm32/w2ni18n_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 -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/Objects-normal/wasm32/W2N.o -index-unit-output-path /w2ni18n.build/Debug-webassembly-wasm32/w2ni18n-t.build/Objects-normal/wasm32/W2N.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 wasm