Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when building the stdlib on arm64 Windows #70812

Open
egorzhdan opened this issue Jan 10, 2024 · 10 comments
Open

Crash when building the stdlib on arm64 Windows #70812

egorzhdan opened this issue Jan 10, 2024 · 10 comments
Labels
arm64 Architecture: arm64 (aarch64) — any 64-bit ARM bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. build error Errors when building the toolchain, not regular Swift code crash Bug: A crash, i.e., an abnormal termination of software Windows Platform: Windows

Comments

@egorzhdan
Copy link
Collaborator

Description

The compiler crashes while building the Swift stdlib on Windows. I only tested this on aarch64.

Reproduction

ninja swift-stdlib

Stack dump

[1017/1077] Generating C:/Builds.noindex/swift/swift/./lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule
FAILED: lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftdoc lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftinterface lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.private.swiftinterface C:/Builds.noindex/swift/swift/lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule C:/Builds.noindex/swift/swift/lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftdoc C:/Builds.noindex/swift/swift/lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftinterface C:/Builds.noindex/swift/swift/lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.private.swiftinterface 
stdlib\public\core\CMakeFiles\aarch64-unknown-windows-msvc.swiftmodule-302277f.bat 0f43def7fac4c300
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.

Stack dump:

0.	Program arguments: C:\\Builds.noindex\\swift\\swift\\bin\\swiftc.exe -frontend -emit-module -filelist C:\\Users\\EGORZH~1\\AppData\\Local\\Temp\\sources-f24477 -supplementary-output-file-map C:\\Users\\EGORZH~1\\AppData\\Local\\Temp\\supplementaryOutputs-71aa17 -disable-objc-attr-requires-foundation-module -target aarch64-unknown-windows-msvc -Xllvm -aarch64-use-tbi -disable-objc-interop -sdk "C:\\Program Files\\Swift\\Platforms\\Windows.platform\\Developer\\SDKs\\Windows.sdk" -I C:/Builds.noindex/swift/swift/./lib/swift/windows -vfsoverlay C:/Builds.noindex/swift/swift/stdlib/windows-vfs-overlay.yaml -color-diagnostics -warn-swift3-objc-inference-complete -enable-experimental-feature Macros -enable-experimental-feature FreestandingMacros -enable-experimental-feature Extern -enable-experimental-feature BitwiseCopyable -warn-implicit-overrides -enable-library-evolution -g -module-cache-path C:/Builds.noindex/swift/swift/./module-cache -module-link-name swiftCore -nostdimport -parse-stdlib -resource-dir C:/Builds.noindex/swift/swift/./lib/swift -swift-version 5 -tools-directory C:/Builds.noindex/swift/llvm-project/./bin -Onone -diagnostic-style swift -library-level api -D INTERNAL_CHECKS_ENABLED -D SWIFT_RUNTIME_OS_VERSIONING -D SWIFT_STDLIB_ENABLE_UNICODE_DATA -D SWIFT_STDLIB_ENABLE_VECTOR_TYPES -D SWIFT_STDLIB_HAS_COMMANDLINE -D SWIFT_STDLIB_HAS_STDIN -D SWIFT_STDLIB_HAS_ENVIRON -D SWIFT_STDLIB_OVERRIDABLE_RETAIN_RELEASE -D SWIFT_THREADING_WIN32 -D SWIFT_ENABLE_REFLECTION -D _WINDLL -D swiftCore_EXPORTS -require-explicit-availability=ignore -enforce-exclusivity=unchecked -group-info-path C:/Sources/swift/swift/stdlib/public/core/GroupInfo.json -disable-autolinking-runtime-compatibility-concurrency -disable-objc-interop -enable-experimental-concise-pound-file -enable-ossa-modules -enable-lexical-lifetimes=false -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -define-availability "SwiftStdlib 9999:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -define-availability "SwiftStdlib 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2" -define-availability "SwiftStdlib 5.1:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0" -define-availability "SwiftStdlib 5.2:macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4" -define-availability "SwiftStdlib 5.3:macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0" -define-availability "SwiftStdlib 5.4:macOS 11.3, iOS 14.5, watchOS 7.4, tvOS 14.5" -define-availability "SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0" -define-availability "SwiftStdlib 5.6:macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4" -define-availability "SwiftStdlib 5.7:macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0" -define-availability "SwiftStdlib 5.8:macOS 13.3, iOS 16.4, watchOS 9.4, tvOS 16.4" -define-availability "SwiftStdlib 5.9:macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0" -define-availability "SwiftStdlib 5.10:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -define-availability "SwiftStdlib 5.11:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -target-min-inlining-version min -enable-anonymous-context-mangled-names -plugin-path C:\\Builds.noindex\\swift\\swift\\bin -Xllvm -sil-inline-generics -Xllvm -sil-partial-specialization -Xcc -DSWIFT_STDLIB_HAS_ENVIRON -Xcc -DswiftCore_EXPORTS -Xcc -Xclang -Xcc -fbuiltin-headers-in-system-modules -autolink-library oldnames -autolink-library msvcrtd -Xcc -D_MT -Xcc -D_DLL -parse-as-library -module-name Swift -o C:/Builds.noindex/swift/swift/./lib/swift/windows/Swift.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule -runtime-compatibility-version none -disable-autolinking-runtime-compatibility-dynamic-replacements

1.	Swift version 5.11-dev (LLVM 22c7b7d1a285374, Swift 47cab70ee30c6e6)

2.	Compiling with the current language version

3.	Contents of C:\Users\EGORZH~1\AppData\Local\Temp\sources-f24477:

---

C:/Sources/swift/swift/stdlib/public/core/Algorithm.swift

C:/Sources/swift/swift/stdlib/public/core/ArrayBody.swift

C:/Sources/swift/swift/stdlib/public/core/ArrayBuffer.swift

C:/Sources/swift/swift/stdlib/public/core/ArrayBufferProtocol.swift

C:/Sources/swift/swift/stdlib/public/core/ArrayCast.swift

C:/Sources/swift/swift/stdlib/public/core/Array.swift

C:/Sources/swift/swift/stdlib/public/core/ArrayShared.swift

C:/Sources/swift/swift/stdlib/public/core/ArraySlice.swift

C:/Sources/swift/swift/stdlib/public/core/ArrayType.swift

C:/Sources/swift/swift/stdlib/public/core/ASCII.swift

C:/Sources/swift/swift/stdlib/public/core/Assert.swift

C:/Sources/swift/swift/stdlib/public/core/AssertCommon.swift

C:/Sources/swift/swift/stdlib/public/core/BidirectionalCollection.swift

C:/Sources/swift/swift/stdlib/public/core/Bitset.swift

C:/Sources/swift/swift/stdlib/public/core/Bool.swift

C:/Sources/swift/swift/stdlib/public/core/BridgeObjectiveC.swift

C:/Sources/swift/swift/stdlib/public/core/BridgeStorage.swift

C:/Sources/swift/swift/stdlib/public/core/BridgingBuffer.swift

C:/Sources/swift/swift/stdlib/public/core/Builtin.swift

C:/Sources/swift/swift/stdlib/public/core/BuiltinMath.swift

C:/Sources/swift/swift/stdlib/public/core/Character.swift

C:/Sources/swift/swift/stdlib/public/core/CocoaArray.swift

C:/Sources/swift/swift/stdlib/public/core/Codable.swift

C:/Sources/swift/swift/stdlib/public/core/Collection.swift

C:/Sources/swift/swift/stdlib/public/core/CollectionAlgorithms.swift

C:/Sources/swift/swift/stdlib/public/core/Comparable.swift

C:/Sources/swift/swift/stdlib/public/core/CompilerProtocols.swift

C:/Sources/swift/swift/stdlib/public/core/Sendable.swift

C:/Sources/swift/swift/stdlib/public/core/ContiguousArray.swift

C:/Sources/swift/swift/stdlib/public/core/ContiguouslyStored.swift

C:/Sources/swift/swift/stdlib/public/core/ClosedRange.swift

C:/Sources/swift/swift/stdlib/public/core/ContiguousArrayBuffer.swift

C:/Sources/swift/swift/stdlib/public/core/CString.swift

C:/Sources/swift/swift/stdlib/public/core/CTypes.swift

C:/Sources/swift/swift/stdlib/public/core/DebuggerSupport.swift

C:/Sources/swift/swift/stdlib/public/core/Dictionary.swift

C:/Sources/swift/swift/stdlib/public/core/DictionaryBridging.swift

C:/Sources/swift/swift/stdlib/public/core/DictionaryBuilder.swift

C:/Sources/swift/swift/stdlib/public/core/DictionaryCasting.swift

C:/Sources/swift/swift/stdlib/public/core/DictionaryStorage.swift

C:/Sources/swift/swift/stdlib/public/core/DictionaryVariant.swift

C:/Sources/swift/swift/stdlib/public/core/DropWhile.swift

C:/Sources/swift/swift/stdlib/public/core/Dump.swift

C:/Sources/swift/swift/stdlib/public/core/EmptyCollection.swift

C:/Sources/swift/swift/stdlib/public/core/Equatable.swift

C:/Sources/swift/swift/stdlib/public/core/ErrorType.swift

C:/Sources/swift/swift/stdlib/public/core/ExistentialCollection.swift

C:/Sources/swift/swift/stdlib/public/core/Filter.swift

C:/Sources/swift/swift/stdlib/public/core/FixedArray.swift

C:/Sources/swift/swift/stdlib/public/core/FlatMap.swift

C:/Sources/swift/swift/stdlib/public/core/Flatten.swift

C:/Sources/swift/swift/stdlib/public/core/FloatingPoint.swift

C:/Sources/swift/swift/stdlib/public/core/Hashable.swift

C:/Sources/swift/swift/stdlib/public/core/AnyHashable.swift

C:/Sources/swift/swift/stdlib/public/core/Hasher.swift

C:/Sources/swift/swift/stdlib/public/core/Hashing.swift

C:/Sources/swift/swift/stdlib/public/core/HashTable.swift

C:/Sources/swift/swift/stdlib/public/core/Identifiable.swift

C:/Sources/swift/swift/stdlib/public/core/Indices.swift

C:/Sources/swift/swift/stdlib/public/core/InputStream.swift

C:/Sources/swift/swift/stdlib/public/core/IntegerParsing.swift

C:/Sources/swift/swift/stdlib/public/core/Integers.swift

C:/Sources/swift/swift/stdlib/public/core/Join.swift

C:/Sources/swift/swift/stdlib/public/core/KeyPath.swift

C:/Sources/swift/swift/stdlib/public/core/KeyValuePairs.swift

C:/Sources/swift/swift/stdlib/public/core/LazyCollection.swift

C:/Sources/swift/swift/stdlib/public/core/LazySequence.swift

C:/Sources/swift/swift/stdlib/public/core/LegacyABI.swift

C:/Sources/swift/swift/stdlib/public/core/LifetimeManager.swift

C:/Sources/swift/swift/stdlib/public/core/Macros.swift

C:/Sources/swift/swift/stdlib/public/core/ManagedBuffer.swift

C:/Sources/swift/swift/stdlib/public/core/Map.swift

C:/Sources/swift/swift/stdlib/public/core/MemoryLayout.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeScalar.swift

C:/Sources/swift/swift/stdlib/public/core/Mirrors.swift

C:/Sources/swift/swift/stdlib/public/core/Misc.swift

C:/Sources/swift/swift/stdlib/public/core/MutableCollection.swift

C:/Sources/swift/swift/stdlib/public/core/NativeDictionary.swift

C:/Sources/swift/swift/stdlib/public/core/NativeSet.swift

C:/Sources/swift/swift/stdlib/public/core/NewtypeWrapper.swift

C:/Sources/swift/swift/stdlib/public/core/NFC.swift

C:/Sources/swift/swift/stdlib/public/core/NFD.swift

C:/Sources/swift/swift/stdlib/public/core/ObjectIdentifier.swift

C:/Sources/swift/swift/stdlib/public/core/Optional.swift

C:/Sources/swift/swift/stdlib/public/core/OptionSet.swift

C:/Sources/swift/swift/stdlib/public/core/OutputStream.swift

C:/Sources/swift/swift/stdlib/public/core/Pointer.swift

C:/Sources/swift/swift/stdlib/public/core/Policy.swift

C:/Sources/swift/swift/stdlib/public/core/PrefixWhile.swift

C:/Sources/swift/swift/stdlib/public/core/Prespecialize.swift

C:/Sources/swift/swift/stdlib/public/core/Print.swift

C:/Sources/swift/swift/stdlib/public/core/PtrAuth.swift

C:/Sources/swift/swift/stdlib/public/core/Random.swift

C:/Sources/swift/swift/stdlib/public/core/RandomAccessCollection.swift

C:/Sources/swift/swift/stdlib/public/core/Range.swift

C:/Sources/swift/swift/stdlib/public/core/RangeReplaceableCollection.swift

C:/Sources/swift/swift/stdlib/public/core/ReflectionMirror.swift

C:/Sources/swift/swift/stdlib/public/core/Repeat.swift

C:/Sources/swift/swift/stdlib/public/core/REPL.swift

C:/Sources/swift/swift/stdlib/public/core/Result.swift

C:/Sources/swift/swift/stdlib/public/core/Reverse.swift

C:/Sources/swift/swift/stdlib/public/core/Runtime.swift

C:/Sources/swift/swift/stdlib/public/core/RuntimeFunctionCounters.swift

C:/Sources/swift/swift/stdlib/public/core/SipHash.swift

C:/Sources/swift/swift/stdlib/public/core/Sequence.swift

C:/Sources/swift/swift/stdlib/public/core/SequenceAlgorithms.swift

C:/Sources/swift/swift/stdlib/public/core/Set.swift

C:/Sources/swift/swift/stdlib/public/core/SetAlgebra.swift

C:/Sources/swift/swift/stdlib/public/core/SetAnyHashableExtensions.swift

C:/Sources/swift/swift/stdlib/public/core/SetBridging.swift

C:/Sources/swift/swift/stdlib/public/core/SetBuilder.swift

C:/Sources/swift/swift/stdlib/public/core/SetCasting.swift

C:/Sources/swift/swift/stdlib/public/core/SetStorage.swift

C:/Sources/swift/swift/stdlib/public/core/SetVariant.swift

C:/Sources/swift/swift/stdlib/public/core/ShadowProtocols.swift

C:/Sources/swift/swift/stdlib/public/core/Shims.swift

C:/Sources/swift/swift/stdlib/public/core/Slice.swift

C:/Sources/swift/swift/stdlib/public/core/SmallString.swift

C:/Sources/swift/swift/stdlib/public/core/Sort.swift

C:/Sources/swift/swift/stdlib/public/core/StaticString.swift

C:/Sources/swift/swift/stdlib/public/core/StaticPrint.swift

C:/Sources/swift/swift/stdlib/public/core/Stride.swift

C:/Sources/swift/swift/stdlib/public/core/StringHashable.swift

C:/Sources/swift/swift/stdlib/public/core/String.swift

C:/Sources/swift/swift/stdlib/public/core/StringBreadcrumbs.swift

C:/Sources/swift/swift/stdlib/public/core/StringBridge.swift

C:/Sources/swift/swift/stdlib/public/core/StringCharacterView.swift

C:/Sources/swift/swift/stdlib/public/core/StringComparable.swift

C:/Sources/swift/swift/stdlib/public/core/StringComparison.swift

C:/Sources/swift/swift/stdlib/public/core/StringCreate.swift

C:/Sources/swift/swift/stdlib/public/core/StringGuts.swift

C:/Sources/swift/swift/stdlib/public/core/StringGutsSlice.swift

C:/Sources/swift/swift/stdlib/public/core/StringGutsRangeReplaceable.swift

C:/Sources/swift/swift/stdlib/public/core/StringObject.swift

C:/Sources/swift/swift/stdlib/public/core/StringProtocol.swift

C:/Sources/swift/swift/stdlib/public/core/StringIndex.swift

C:/Sources/swift/swift/stdlib/public/core/StringIndexConversions.swift

C:/Sources/swift/swift/stdlib/public/core/StringIndexValidation.swift

C:/Sources/swift/swift/stdlib/public/core/StringInterpolation.swift

C:/Sources/swift/swift/stdlib/public/core/StringLegacy.swift

C:/Sources/swift/swift/stdlib/public/core/StringNormalization.swift

C:/Sources/swift/swift/stdlib/public/core/StringRangeReplaceableCollection.swift

C:/Sources/swift/swift/stdlib/public/core/StringStorage.swift

C:/Sources/swift/swift/stdlib/public/core/StringStorageBridge.swift

C:/Sources/swift/swift/stdlib/public/core/StringSwitch.swift

C:/Sources/swift/swift/stdlib/public/core/StringTesting.swift

C:/Sources/swift/swift/stdlib/public/core/StringUnicodeScalarView.swift

C:/Sources/swift/swift/stdlib/public/core/StringUTF16View.swift

C:/Sources/swift/swift/stdlib/public/core/StringUTF8View.swift

C:/Sources/swift/swift/stdlib/public/core/StringUTF8Validation.swift

C:/Sources/swift/swift/stdlib/public/core/StringWordBreaking.swift

C:/Sources/swift/swift/stdlib/public/core/Substring.swift

C:/Sources/swift/swift/stdlib/public/core/SwiftNativeNSArray.swift

C:/Sources/swift/swift/stdlib/public/core/TemporaryAllocation.swift

C:/Sources/swift/swift/stdlib/public/core/ThreadLocalStorage.swift

C:/Sources/swift/swift/stdlib/public/core/UIntBuffer.swift

C:/Sources/swift/swift/stdlib/public/core/UnavailableStringAPIs.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeData.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeEncoding.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeBreakProperty.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeHelpers.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeParser.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeScalarProperties.swift

C:/Sources/swift/swift/stdlib/public/core/CharacterProperties.swift

C:/Sources/swift/swift/stdlib/public/core/UnicodeSPI.swift

C:/Sources/swift/swift/stdlib/public/core/Unmanaged.swift

C:/Sources/swift/swift/stdlib/public/core/UnmanagedOpaqueString.swift

C:/Sources/swift/swift/stdlib/public/core/UnmanagedString.swift

C:/Sources/swift/swift/stdlib/public/core/UnsafePointer.swift

C:/Sources/swift/swift/stdlib/public/core/UnsafeRawPointer.swift

C:/Sources/swift/swift/stdlib/public/core/UTFEncoding.swift

C:/Sources/swift/swift/stdlib/public/core/UTF8.swift

C:/Sources/swift/swift/stdlib/public/core/UTF16.swift

C:/Sources/swift/swift/stdlib/public/core/UTF32.swift

C:/Sources/swift/swift/stdlib/public/core/Unicode.swift

C:/Sources/swift/swift/stdlib/public/core/StringGraphemeBreaking.swift

C:/Sources/swift/swift/stdlib/public/core/ValidUTF8Buffer.swift

C:/Sources/swift/swift/stdlib/public/core/WriteBackMutableSlice.swift

C:/Sources/swift/swift/stdlib/public/core/MigrationSupport.swift

C:/Sources/swift/swift/stdlib/public/core/Availability.swift

C:/Sources/swift/swift/stdlib/public/core/CollectionDifference.swift

C:/Sources/swift/swift/stdlib/public/core/CollectionOfOne.swift

C:/Sources/swift/swift/stdlib/public/core/Diffing.swift

C:/Sources/swift/swift/stdlib/public/core/Duration.swift

C:/Sources/swift/swift/stdlib/public/core/DurationProtocol.swift

C:/Sources/swift/swift/stdlib/public/core/FloatingPointRandom.swift

C:/Sources/swift/swift/stdlib/public/core/Instant.swift

C:/Sources/swift/swift/stdlib/public/core/Mirror.swift

C:/Sources/swift/swift/stdlib/public/core/PlaygroundDisplay.swift

C:/Sources/swift/swift/stdlib/public/core/CommandLine.swift

C:/Sources/swift/swift/stdlib/public/core/SliceBuffer.swift

C:/Sources/swift/swift/stdlib/public/core/StaticBigInt.swift

C:/Sources/swift/swift/stdlib/public/core/UnfoldSequence.swift

C:/Sources/swift/swift/stdlib/public/core/UnsafeBufferPointerSlice.swift

C:/Sources/swift/swift/stdlib/public/core/VarArgs.swift

C:/Sources/swift/swift/stdlib/public/core/Zip.swift

C:/Sources/swift/swift/stdlib/public/core/SIMDVector.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/AtomicInt.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/FloatingPointParsing.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/FloatingPointTypes.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/IntegerTypes.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/UnsafeBufferPointer.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/UnsafeRawBufferPointer.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/Int128.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/Tuple.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/SIMDConcreteOperations.swift

C:/Builds.noindex/swift/swift/stdlib/public/core/8/SIMDVectorTypes.swift

---

4.	While evaluating request ASTLoweringRequest(Lowering AST to SIL for module Swift)

5.	While silgen emitFunction SIL function "@$sSlsE4drop5while11SubSequenceQzSb7ElementQzKXE_tKF".

 for 'drop(while:)' (at C:/Sources/swift/swift/stdlib/public/core/Collection.swift:1283:22)

6.	While silgen closureexpr SIL function "@$sSlsE4drop5while11SubSequenceQzSb7ElementQzKXE_tKFSbyKXEfu_".

 for expression at [C:/Sources/swift/swift/stdlib/public/core/Collection.swift:1287:36 - line:1287:57] RangeText="predicate(self[start]"

Exception Code: 0xC0000005

  #0 0x00007ff6c60c03dc std::_Iterator_base12::_Adopt_unlocked(struct std::_Container_base12 const *) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xmemory:1335:0

  #1 0x00007ff6c60c07d8 std::_Iterator_base12::_Assign_unlocked(struct std::_Iterator_base12 const &) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xmemory:1314:0

  #2 0x00007ff6c60c06d4 std::_Iterator_base12::_Assign_locked(struct std::_Iterator_base12 const &) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xmemory:1322:0

  #3 0x00007ff6c60bcd5c std::_Iterator_base12::operator=(struct std::_Iterator_base12 const &) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xmemory:1261:0

  #4 0x00007ff6c60b3b30 std::_Iterator_base12::_Iterator_base12(struct std::_Iterator_base12 const &) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xmemory:1246:0

  #5 0x00007ff6c8900084 std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>>::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>>(class std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>> &&) (C:\Builds.noindex\swift\swift\bin\swiftc.exe+0x35b0084)

  #6 0x00007ff6c890026c std::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>>::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>>(class std::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>> &&) (C:\Builds.noindex\swift\swift\bin\swiftc.exe+0x35b026c)

  #7 0x00007ff6c8900ed8 std::reverse_iterator<class std::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>>>::reverse_iterator<class std::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>>>(class std::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class swift::BeginBorrowInst *>>>) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xutility:1514:0

  #8 0x00007ff6c8963930 std::vector<class swift::BeginBorrowInst *, class std::allocator<class swift::BeginBorrowInst *>>::rbegin(void) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vector:1823:0

  #9 0x00007ff6c89290c4 `anonymous namespace'::EndCoroutineApply::emit C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:4822:0

 #10 0x00007ff6c877ad2c swift::Lowering::CleanupManager::popAndEmitCleanup(class swift::DiverseStackBase::stable_iterator, class swift::CleanupLocation, enum swift::Lowering::ForUnwind_t) C:\Sources\swift\swift\lib\SILGen\Cleanup.cpp:85:0

 #11 0x00007ff6c88e4f74 `anonymous namespace'::EndApplyPseudoComponent::writeback C:\Sources\swift\swift\lib\SILGen\SILGenLValue.cpp:2121:0

 #12 0x00007ff6c88bd4f4 swift::Lowering::ExclusiveBorrowFormalAccess::performWriteback(class swift::Lowering::SILGenFunction &, bool) C:\Sources\swift\swift\lib\SILGen\LValue.h:572:0

 #13 0x00007ff6c88b2354 swift::Lowering::ExclusiveBorrowFormalAccess::finishImpl(class swift::Lowering::SILGenFunction &) C:\Sources\swift\swift\lib\SILGen\LValue.h:576:0

 #14 0x00007ff6c8676310 swift::Lowering::FormalAccess::finish(class swift::Lowering::SILGenFunction &) C:\Sources\swift\swift\lib\SILGen\FormalEvaluation.h:63:0

 #15 0x00007ff6c87b43bc swift::Lowering::FormalEvaluationScope::popImpl(void) C:\Sources\swift\swift\lib\SILGen\FormalEvaluation.cpp:174:0

 #16 0x00007ff6c8547aec swift::Lowering::FormalEvaluationScope::~FormalEvaluationScope(void) C:\Sources\swift\swift\lib\SILGen\FormalEvaluation.h:212:0

 #17 0x00007ff6c88a3930 swift::Lowering::SILGenFunction::emitLoadOfLValue(class swift::SILLocation, class swift::Lowering::LValue &&, class swift::Lowering::SGFContext, bool) C:\Sources\swift\swift\lib\SILGen\SILGenLValue.cpp:5094:0

 #18 0x00007ff6c86bfa30 `anonymous namespace'::RValueEmitter::visitSubscriptExpr C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:2572:0

 #19 0x00007ff6c8693b34 swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visit C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:96:0

 #20 0x00007ff6c867093c swift::Lowering::SILGenFunction::emitRValue(class swift::Expr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:6555:0

 #21 0x00007ff6c8670ac0 swift::Lowering::SILGenFunction::emitRValueAsSingleValue(class swift::Expr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:6686:0

 #22 0x00007ff6c893dd48 `anonymous namespace'::ArgEmitter::emitIndirect C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3533:0

 #23 0x00007ff6c8928060 `anonymous namespace'::ArgEmitter::emit C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3414:0

 #24 0x00007ff6c894667c `anonymous namespace'::ArgEmitter::emitSingleArg C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3282:0

 #25 0x00007ff6c894203c `anonymous namespace'::ArgEmitter::emitPreparedArgs C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3308:0

 #26 0x00007ff6c8928710 `anonymous namespace'::CallSite::emit C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:4659:0

 #27 0x00007ff6c89301fc `anonymous namespace'::CallEmission::emitArgumentsForNormalApply C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:5288:0

 #28 0x00007ff6c8914850 `anonymous namespace'::CallEmission::applyNormalCall C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:5020:0

 #29 0x00007ff6c8912ba0 `anonymous namespace'::CallEmission::applyFirstLevelCallee C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:4961:0

 #30 0x00007ff6c891195c `anonymous namespace'::CallEmission::apply C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:4762:0

 #31 0x00007ff6c892d39c swift::Lowering::SILGenFunction::emitApplyExpr(class swift::ApplyExpr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:6058:0

 #32 0x00007ff6c869a414 `anonymous namespace'::RValueEmitter::visitApplyExpr C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:756:0

 #33 0x00007ff6c869e02c swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visitCallExpr C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:149:0

 #34 0x00007ff6c8694008 swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visit C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:149:0

 #35 0x00007ff6c867093c swift::Lowering::SILGenFunction::emitRValue(class swift::Expr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:6555:0

 #36 0x00007ff6c881edf4 swift::Lowering::SILGenFunction::emitReturnExpr(class swift::SILLocation, class swift::Expr *) C:\Sources\swift\swift\lib\SILGen\SILGenStmt.cpp:742:0

 #37 0x00007ff6c87062ec swift::Lowering::SILGenFunction::emitClosure(class swift::AbstractClosureExpr *) C:\Sources\swift\swift\lib\SILGen\SILGenFunction.cpp:1107:0

 #38 0x00007ff6c8501534 swift::Lowering::SILGenModule::emitFunctionDefinition(struct swift::SILDeclRef, class swift::SILFunction *) C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:922:0

 #39 0x00007ff6c84ff2d4 swift::Lowering::SILGenModule::emitClosure(class swift::AbstractClosureExpr *) C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:1500:0

 #40 0x00007ff6c8698d94 `anonymous namespace'::RValueEmitter::visitAbstractClosureExpr C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:2848:0

 #41 0x00007ff6c869b684 swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visitAutoClosureExpr C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:130:0

 #42 0x00007ff6c8693e2c swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visit C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:130:0

 #43 0x00007ff6c867093c swift::Lowering::SILGenFunction::emitRValue(class swift::Expr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:6555:0

 #44 0x00007ff6c8670ac0 swift::Lowering::SILGenFunction::emitRValueAsSingleValue(class swift::Expr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:6686:0

 #45 0x00007ff6c8938600 `anonymous namespace'::ArgEmitter::emitDirect C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3766:0

 #46 0x00007ff6c89280b4 `anonymous namespace'::ArgEmitter::emit C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3419:0

 #47 0x00007ff6c894667c `anonymous namespace'::ArgEmitter::emitSingleArg C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3282:0

 #48 0x00007ff6c894203c `anonymous namespace'::ArgEmitter::emitPreparedArgs C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:3308:0

 #49 0x00007ff6c8928710 `anonymous namespace'::CallSite::emit C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:4659:0

 #50 0x00007ff6c89301fc `anonymous namespace'::CallEmission::emitArgumentsForNormalApply C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:5288:0

 #51 0x00007ff6c8914850 `anonymous namespace'::CallEmission::applyNormalCall C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:5020:0

 #52 0x00007ff6c8912ba0 `anonymous namespace'::CallEmission::applyFirstLevelCallee C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:4961:0

 #53 0x00007ff6c891195c `anonymous namespace'::CallEmission::apply C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:4762:0

 #54 0x00007ff6c892d39c swift::Lowering::SILGenFunction::emitApplyExpr(class swift::ApplyExpr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenApply.cpp:6058:0

 #55 0x00007ff6c869a414 `anonymous namespace'::RValueEmitter::visitApplyExpr C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:756:0

 #56 0x00007ff6c869b924 swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visitBinaryExpr C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:152:0

 #57 0x00007ff6c869405c swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visit C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:152:0

 #58 0x00007ff6c86c1a9c swift::Lowering::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,swift::Lowering::SGFContext>::visitTryExpr C:\Sources\swift\swift\lib\SILGen\ASTVisitor.h:74:0

 #59 0x00007ff6c8693cbc swift::ASTVisitor<`anonymous namespace'::RValueEmitter,swift::Lowering::RValue,void,void,void,void,void,swift::Lowering::SGFContext>::visit C:\Sources\swift\swift\include\swift\AST\ExprNodes.def:116:0

 #60 0x00007ff6c867093c swift::Lowering::SILGenFunction::emitRValue(class swift::Expr *, class swift::Lowering::SGFContext) C:\Sources\swift\swift\lib\SILGen\SILGenExpr.cpp:6555:0

 #61 0x00007ff6c87a4b78 swift::Lowering::SILGenFunction::emitStmtCondition(class llvm::MutableArrayRef<class swift::StmtConditionElement>, class swift::Lowering::JumpDest, class swift::SILLocation, class swift::ProfileCounter, class swift::ProfileCounter) C:\Sources\swift\swift\lib\SILGen\SILGenDecl.cpp:1740:0

 #62 0x00007ff6c882eb64 `anonymous namespace'::StmtEmitter::visitWhileStmt C:\Sources\swift\swift\lib\SILGen\SILGenStmt.cpp:1068:0

 #63 0x00007ff6c8826850 swift::ASTVisitor<`anonymous namespace'::StmtEmitter,void,void,void,void,void,void>::visit C:\Sources\swift\swift\include\swift\AST\StmtNodes.def:56:0

 #64 0x00007ff6c882738c `anonymous namespace'::StmtEmitter::visitBraceStmt C:\Sources\swift\swift\lib\SILGen\SILGenStmt.cpp:419:0

 #65 0x00007ff6c88267e0 swift::ASTVisitor<`anonymous namespace'::StmtEmitter,void,void,void,void,void,void>::visit C:\Sources\swift\swift\include\swift\AST\StmtNodes.def:47:0

 #66 0x00007ff6c881f4f4 swift::Lowering::SILGenFunction::emitStmt(class swift::Stmt *) C:\Sources\swift\swift\lib\SILGen\SILGenStmt.cpp:213:0

 #67 0x00007ff6c8707cbc swift::Lowering::SILGenFunction::emitFunction(class swift::FuncDecl *) C:\Sources\swift\swift\lib\SILGen\SILGenFunction.cpp:1074:0

 #68 0x00007ff6c85018fc swift::Lowering::SILGenModule::emitFunctionDefinition(struct swift::SILDeclRef, class swift::SILFunction *) C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:942:0

 #69 0x00007ff6c85072bc swift::Lowering::SILGenModule::emitOrDelayFunction(struct swift::SILDeclRef) C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:1210:0

 #70 0x00007ff6c8500960 swift::Lowering::SILGenModule::emitFunction(class swift::FuncDecl *) C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:1440:0

 #71 0x00007ff6c85e094c SILGenExtension::visitFuncDecl(class swift::FuncDecl *) C:\Sources\swift\swift\lib\SILGen\SILGenType.cpp:1347:0

 #72 0x00007ff6c85db498 swift::ASTVisitor<class SILGenExtension, void, void, void, void, void, void>::visit(class swift::Decl *) C:\Sources\swift\swift\include\swift\AST\ASTVisitor.h:54:0

 #73 0x00007ff6c85dd10c SILGenExtension::visit(class swift::Decl *) C:\Sources\swift\swift\lib\SILGen\SILGenType.cpp:1310:0

 #74 0x00007ff6c85cbfd4 SILGenExtension::emitExtension(class swift::ExtensionDecl *) C:\Sources\swift\swift\lib\SILGen\SILGenType.cpp:1282:0

 #75 0x00007ff6c85dffbc swift::Lowering::SILGenModule::visitExtensionDecl(class swift::ExtensionDecl *) C:\Sources\swift\swift\lib\SILGen\SILGenType.cpp:1440:0

 #76 0x00007ff6c85297b0 swift::ASTVisitor<class swift::Lowering::SILGenModule, void, void, void, void, void, void>::visit(class swift::Decl *) C:\Sources\swift\swift\include\swift\AST\DeclNodes.def:185:0

 #77 0x00007ff6c8529e74 swift::Lowering::SILGenModule::visit(class swift::Decl *) C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:826:0

 #78 0x00007ff6c8507b5c `anonymous namespace'::SILGenModuleRAII::emitSourceFile C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:2023:0

 #79 0x00007ff6c85095fc swift::ASTLoweringRequest::evaluate(class swift::Evaluator &, struct swift::ASTLoweringDescriptor) const C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:2161:0

 #80 0x00007ff6c852b1fc swift::SimpleRequest<class swift::ASTLoweringRequest, (struct swift::ASTLoweringDescriptor), 9>::callDerived<0>(class swift::Evaluator &, struct std::integer_sequence<unsigned __int64, 0>) const C:\Sources\swift\swift\include\swift\AST\SimpleRequest.h:267:0

 #81 0x00007ff6c852b014 swift::SimpleRequest<class swift::ASTLoweringRequest, (struct swift::ASTLoweringDescriptor), 9>::evaluateRequest(class swift::ASTLoweringRequest const &, class swift::Evaluator &) C:\Sources\swift\swift\include\swift\AST\SimpleRequest.h:290:0

 #82 0x00007ff6c84e20d0 swift::Evaluator::getResultUncached<class swift::ASTLoweringRequest>(class swift::ASTLoweringRequest const &) C:\Sources\swift\swift\include\swift\AST\Evaluator.h:368:0

 #83 0x00007ff6c84d5ac0 swift::Evaluator::operator()<class swift::ASTLoweringRequest, 0>(class swift::ASTLoweringRequest const &) C:\Sources\swift\swift\include\swift\AST\Evaluator.h:273:0

 #84 0x00007ff6c8523f08 swift::performASTLowering(class swift::ModuleDecl *, class swift::Lowering::TypeConverter &, class swift::SILOptions const &, class swift::IRGenOptions const *) C:\Sources\swift\swift\lib\SILGen\SILGen.cpp:2183:0

 #85 0x00007ff6c65977f0 swift::performCompileStepsPostSema(class swift::CompilerInstance &, int &, class swift::FrontendObserver *) C:\Sources\swift\swift\lib\FrontendTool\FrontendTool.cpp:872:0

 #86 0x00007ff6c6573bc4 `performAction'::`4'::<lambda_8>::operator() C:\Sources\swift\swift\lib\FrontendTool\FrontendTool.cpp:1436:0

 #87 0x00007ff6c654ef44 llvm::function_ref<bool __cdecl(swift::CompilerInstance &)>::callback_fn<`performAction'::`4'::<lambda_8> > C:\Sources\swift\llvm-project\llvm\include\llvm\ADT\STLFunctionalExtras.h:45:0

 #88 0x00007ff6c6574130 llvm::function_ref<(class swift::CompilerInstance &)>::operator()(class swift::CompilerInstance &) const C:\Sources\swift\llvm-project\llvm\include\llvm\ADT\STLFunctionalExtras.h:68:0

 #89 0x00007ff6c65a859c withSemanticAnalysis C:\Sources\swift\swift\lib\FrontendTool\FrontendTool.cpp:1296:0

 #90 0x00007ff6c6595bb8 performAction C:\Sources\swift\swift\lib\FrontendTool\FrontendTool.cpp:1432:0

 #91 0x00007ff6c65962f8 performCompile C:\Sources\swift\swift\lib\FrontendTool\FrontendTool.cpp:1507:0

 #92 0x00007ff6c6599898 swift::performFrontend(class llvm::ArrayRef<char const *>, char const *, void *, class swift::FrontendObserver *) C:\Sources\swift\swift\lib\FrontendTool\FrontendTool.cpp:2461:0

 #93 0x00007ff6c60d80ec run_driver C:\Sources\swift\swift\lib\DriverTool\driver.cpp:239:0

 #94 0x00007ff6c60d5e98 swift::mainEntry(int, char const **) C:\Sources\swift\swift\lib\DriverTool\driver.cpp:505:0

 #95 0x00007ff6c609d444 main C:\Sources\swift\swift\tools\driver\driver.cpp:20:0

 #96 0x00007ff6dd6f1148 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78:0

 #97 0x00007ff6dd6f0d8c __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0

 #98 0x00007ff6dd6f0bbc __scrt_common_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:330:0

 #99 0x00007ff6dd6f130c mainCRTStartup D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:16:0

#100 0x00007ff9138d2310 (C:\Windows\System32\KERNEL32.DLL+0x12310)

#101 0x00007ff91445577c (C:\Windows\SYSTEM32\ntdll.dll+0x7577c)

<unknown>:0: error: compile command failed due to signal -1073741819 (use -v to see invocation)
Batch file failed at line 6 with errorcode -1
ninja: build stopped: subcommand failed.

Expected behavior

Should not crash

Environment

Windows 11 aarch64
Visual Studio Community 2022 17.8.3
C/C++ Compiler (C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostarm64/arm64/cl.exe) Version: 19.38.33133.0
No Swift toolchain installed.
UCRT 10.0.22621.0
CMake 3.27.8
Ninja 1.10.2

Additional information

No response

@egorzhdan egorzhdan added bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. Windows Platform: Windows arm64 Architecture: arm64 (aarch64) — any 64-bit ARM crash Bug: A crash, i.e., an abnormal termination of software build error Errors when building the toolchain, not regular Swift code labels Jan 10, 2024
@egorzhdan
Copy link
Collaborator Author

cc @compnerd

@compnerd
Copy link
Collaborator

@egorzhdan just to be clear, this is building Windows ARM64 on ARM64 right? I'm asking because I've been building the Windows ARM64 standard library on X64 and then using on ARM64. That is also what we are doing in CI currently, which does build the ARM64 standard library.

@egorzhdan
Copy link
Collaborator Author

Yes, I'm building a Windows arm64 standard library on a Windows arm64 machine. I don't have an X64 machine to try cross-compiling this out unfortunately.

This particular build step was succeeding for me ~a month ago, but now it is failing consistently.

@hjyamauchi
Copy link
Collaborator

hjyamauchi commented Jan 10, 2024

I do the native windows arm64 build locally. I'll see if I can reproduce it.

@compnerd
Copy link
Collaborator

@egorzhdan no worries - just trying to figure out what exactly is different so we can hopefully isolate it more quickly. Fortunately @hjyamauchi has a ARM64 development environment to do the native side, I've been doing it mostly via cross-compilation.

@hjyamauchi
Copy link
Collaborator

@egorzhdan

The way I build the whole toolchain with swift\util\build.ps1, I don't get a stdlib build failure at commit 2752414. But I use Visual Studio 17.7.6 with the Visual Studio C++ compiler version 14.37.32822. I think we've seen a case where the toolchain didn't build with version 17.8.x for some reason though it was for x64. It might be worth downgrading the Visual Studio version.

Before you run the ninja command, how do you run cmake? The build setup seems different from mine that I couldn't guess. If I run the command in S:\b\301 (where stdlib is built in our setup), I get the following error about StdlibUnicodeUnittest, which I don't know why, but is probably unrelated, and doesn't prevent our normal toolchain build flow. If you can share how the cmake command is run, I can try to reproduce that.

S:\SourceCache\swift>cd S:\b\301

S:\b\301>ninja swift-stdlib
[1/26] Performing build step for 'libdispatch-windows-aarch64'
ninja: no work to do.
[2/10] Performing install step for 'libdispatch-windows-aarch64'
-- Install configuration: "Release"
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/base.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/block.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/data.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/dispatch.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/group.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/introspection.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/io.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/object.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/once.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/queue.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/semaphore.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/source.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/dispatch/time.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_after.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_api.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_apply.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_async.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_data_create.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_group_create.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_io_create.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_io_read.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_object.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_once.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_queue_create.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_read.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_semaphore_create.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_source_create.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/share/man/man3/dispatch_time.3
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/os/generic_base.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/os/generic_unix_base.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/os/generic_win_base.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/os/object.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/include/Block.h
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/lib/BlocksRuntime.lib
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/bin/BlocksRuntime.dll
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/lib/dispatch.lib
-- Up-to-date: S:/b/301/libdispatch-windows-aarch64-prefix/bin/dispatch.dll
[0/1] Install the project...
[3/10] Compiling S:/b/301/stdlib/private/StdlibUnicodeUnittest//WINDOWS/aarch64/StdlibUnicodeUnittest.obj
FAILED: stdlib/private/StdlibUnicodeUnittest/WINDOWS/aarch64/StdlibUnicodeUnittest.obj S:/b/301/stdlib/private/StdlibUnicodeUnittest/WINDOWS/aarch64/StdlibUnicodeUnittest.obj
cmd.exe /C "cd /D S:\b\301\stdlib\private\StdlibUnicodeUnittest && "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E make_directory S:/b/301/stdlib/private/StdlibUnicodeUnittest/WINDOWS/aarch64 && "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E env PYTHONIOENCODING=UTF8 C:/Users/hiroshi/pythonarm64.3.9.10/tools/python3.exe S:/SourceCache/swift/utils/line-directive @S:/b/301/stdlib/private/StdlibUnicodeUnittest/8ba94feba727ed339b28cc5aad9eca60f5fad12a.txt -- S:/b/1/bin/swiftc.exe -c -target aarch64-unknown-windows-msvc -resource-dir S:/b/301/./lib/swift -O -D SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY -D SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED -D SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING -D SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING -D SWIFT_ENABLE_EXPERIMENTAL_OBSERVATION -D SWIFT_RUNTIME_OS_VERSIONING -D SWIFT_STDLIB_ENABLE_UNICODE_DATA -D SWIFT_STDLIB_ENABLE_VECTOR_TYPES -D SWIFT_STDLIB_HAS_COMMANDLINE -D SWIFT_STDLIB_HAS_STDIN -D SWIFT_STDLIB_HAS_ENVIRON -Xcc -DSWIFT_STDLIB_HAS_ENVIRON -D SWIFT_CONCURRENCY_USES_DISPATCH -D SWIFT_STDLIB_OVERRIDABLE_RETAIN_RELEASE -D SWIFT_THREADING_WIN32 -module-cache-path S:/b/301/./module-cache -no-link-objc-runtime -enable-library-evolution -library-level api -Xfrontend -require-explicit-availability=ignore -Xfrontend -enforce-exclusivity=unchecked -D SWIFT_ENABLE_REFLECTION -module-name StdlibUnicodeUnittest -swift-version 5 -runtime-compatibility-version none -disable-autolinking-runtime-compatibility-dynamic-replacements -Xfrontend -disable-autolinking-runtime-compatibility-concurrency -Xfrontend -disable-objc-interop -Xfrontend -enable-experimental-associated-type-inference -warn-implicit-overrides -Xfrontend -enable-ossa-modules -Xfrontend -enable-lexical-lifetimes=false -Xfrontend -disable-implicit-concurrency-module-import -Xfrontend -disable-implicit-string-processing-module-import -D_WINDLL -Xcc -Xclang -Xcc -ivfsoverlay -Xcc -Xclang -Xcc S:/b/301/stdlib/private/StdlibUnicodeUnittest/windows-sdk-vfs-overlay.yaml -vfsoverlay "S:/b/301/stdlib/windows-vfs-overlay.yaml" -strict-implicit-module-context -Xcc -Xclang -Xcc -fbuiltin-headers-in-system-modules -libc MultiThreadedDLL -Xfrontend -define-availability -Xfrontend "SwiftStdlib 9999:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.0:macOS 10.14.4, iOS 12.2, watchOS 5.2, tvOS 12.2" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.1:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.2:macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.3:macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.4:macOS 11.3, iOS 14.5, watchOS 7.4, tvOS 14.5" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.6:macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.7:macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.8:macOS 13.3, iOS 16.4, watchOS 9.4, tvOS 16.4" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.9:macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.10:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -Xfrontend -define-availability -Xfrontend "SwiftStdlib 5.11:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -Xfrontend -target-min-inlining-version -Xfrontend min -module-link-name swiftStdlibUnicodeUnittest -whole-module-optimization -color-diagnostics -parse-as-library -I S:/b/301/./lib/swift/windows -o S:/b/301/stdlib/private/StdlibUnicodeUnittest//WINDOWS/aarch64/StdlibUnicodeUnittest.obj @S:/b/301/stdlib/private/StdlibUnicodeUnittest/8ba94feba727ed339b28cc5aad9eca60f5fad12a.txt"
[4/10] Compiling S:/b/301/stdlib/private/StdlibCollectionUnittest//WINDOWS/aarch64/StdlibCollectionUnittest.obj
FAILED: stdlib/private/StdlibCollectionUnittest/WINDOWS/aarch64/StdlibCollectionUnittest.obj S:/b/301/stdlib/private/StdlibCollectionUnittest/WINDOWS/aarch64/StdlibCollectionUnittest.obj
stdlib\private\StdlibCollectionUnittest\CMakeFiles\StdlibCollectionUnittest.obj-b9ed8f3.bat 81717827b7d0b1fb
Batch file failed at line 4 with errorcode -1
[5/10] Generating S:/b/301/./lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule
FAILED: lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftdoc lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftinterface lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.private.swiftinterface S:/b/301/lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule S:/b/301/lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftdoc S:/b/301/lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftinterface S:/b/301/lib/swift/windows/StdlibUnicodeUnittest.swiftmodule/aarch64-unknown-windows-msvc.private.swiftinterface
stdlib\private\StdlibUnicodeUnittest\CMakeFiles\aarch64-unknown-windows-msvc.swiftmodule-b8aa386.bat f2be334567bf2012
Batch file failed at line 6 with errorcode -1
[6/10] Generating S:/b/301/./lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule
FAILED: lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftdoc lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftinterface lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.private.swiftinterface S:/b/301/lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftmodule S:/b/301/lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftdoc S:/b/301/lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.swiftinterface S:/b/301/lib/swift/windows/StdlibCollectionUnittest.swiftmodule/aarch64-unknown-windows-msvc.private.swiftinterface
stdlib\private\StdlibCollectionUnittest\CMakeFiles\aarch64-unknown-windows-msvc.swiftmodule-5d93b26.bat f3b050f15a841a63
Batch file failed at line 6 with errorcode -1
ninja: build stopped: subcommand failed.

@egorzhdan
Copy link
Collaborator Author

Thanks a lot @hjyamauchi!

I'll try using build.ps1 and will check if I still see the crash, also will try downgrading VS as you suggested.

So far I was building Swift with these CMake options:

-G Ninja
-D
Python3_EXECUTABLE="C:\Program Files\Python311-arm64\python.exe"
-D
SWIFT_PATH_TO_LIBDISPATCH_SOURCE="C:\Sources\swift\swift-corelibs-libdispatch"
-D
SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE="C:\Sources\swift\swift-syntax"
-D
LLVM_DIR="C:\Builds.noindex\swift\llvm-project\lib\cmake\llvm"
-D
LLVM_CMAKE_DIR="C:\Sources\swift\llvm-project\llvm\cmake\modules"
-D
LLVM_TOOLS_BINARY_DIR="C:\Builds.noindex\swift\llvm-project\bin"
-D
Clang_DIR="C:\Builds.noindex\swift\llvm-project\lib\cmake\clang"
-D
SWIFT_PATH_TO_CMARK_SOURCE="C:\Sources\swift\swift-cmark"
-D
SWIFT_PATH_TO_CMARK_BUILD="C:\Builds.noindex\swift\swift-cmark"
-D
SWIFT_INCLUDE_DOCS=OFF
-D
CMAKE_C_FLAGS="/GS- /Oy /Gw /Gy"
-D
CMAKE_CXX_FLAGS="/GS- /Oy /Gw /Gy"
-D
LLVM_PARALLEL_LINK_JOBS=6
-D
LLVM_ENABLE_PDB=YES
-D
SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP=YES

@compnerd
Copy link
Collaborator

@egorzhdan just FYI, the paths that you are using are emphatically discouraged. They are too long. The reason that the builds expect everything in S:\b\1 is because the paths in the swift test suite are extremely long and go past the 261 character limit resulting in failures.

@egorzhdan
Copy link
Collaborator Author

@compnerd alright, thanks for the heads up!

I worked around the crash by doing this:

diff --git a/lib/SILGen/SILGenApply.cpp b/lib/SILGen/SILGenApply.cpp
--- a/lib/SILGen/SILGenApply.cpp	(revision 6bf39cccd69a8f468a562e44e21049563d899456)
+++ b/lib/SILGen/SILGenApply.cpp	(date 1704997307862)
@@ -4792,6 +4792,7 @@
   }
 
   void emit(SILGenFunction &SGF, CleanupLocation l, ForUnwind_t forUnwind) override {
+    if (!BorrowedMoveOnlyValues.empty())
     for (auto i = BorrowedMoveOnlyValues.rbegin(), e = BorrowedMoveOnlyValues.rend();
          i != e; ++i) {
       SGF.B.createEndBorrow(l, *i);

It seems really strange that it is crashing inside std::vector::rbegin for an empty vector, I suspect there is some memory corruption happening elsewhere.

I wasn't seeing this crash before because this code was merged fairly recently (96c87db).

@hjyamauchi
Copy link
Collaborator

@egorzhdan I upgraded to Visual Studio 17.8.4, the current latest, and my build with build.ps1 works and doesn't get the crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arm64 Architecture: arm64 (aarch64) — any 64-bit ARM bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. build error Errors when building the toolchain, not regular Swift code crash Bug: A crash, i.e., an abnormal termination of software Windows Platform: Windows
Projects
None yet
Development

No branches or pull requests

3 participants