Skip to content

Swift crashes when building Synchronization stdlib Swift module for ARMv7 Android #74186

Closed
@hyp

Description

@hyp

Description

Swift crashes when building Synchronization stdlib Swift module for ARMv7 Android, while building the Android SDK from Windows:

#72014

Reproduction

S:\SourceCache\swift\utils\build.cmd -DebugInfo -SkipPackaging -Test '*' -AndroidSDKs armv7 -WindowsSDKs X64

Stack dump

stdlib\public\Synchronization\CMakeFiles\Synchronization.o-21f647a.bat 0942502ad6917414
<unknown>:0: warning: using (deprecated) legacy driver, Swift installation does not contain swift-driver at: 'S:\b\5\bin\swift-driver-new.exe'
<unknown>:0: error: fatal error encountered during compilation; please submit a bug report (https://swift.org/contributing/#reporting-bugs)

<unknown>:0: note: Cannot select: intrinsic <<INTERNAL ERROR: unparseable argument index in diagnostic text>>.aarch64.hint

Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.

Stack dump:

0.      Program arguments: S:\\b\\5\\bin\\swiftc.exe -frontend -c S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/Atomic.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/AtomicBool.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/AtomicFloats.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/AtomicLazyReference.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/AtomicMemoryOrderings.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/AtomicOptional.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/AtomicPointers.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/AtomicRepresentable.swift S:/SourceCache/swift/stdlib/public/Synchronization/Atomics/WordPair.swift S:/SourceCache/swift/stdlib/public/Synchronization/Cell.swift S:/SourceCache/swift/stdlib/public/Synchronization/Mutex/LinuxImpl.swift S:/SourceCache/swift/stdlib/public/Synchronization/Mutex/Mutex.swift S:/SourceCache/swift/stdlib/public/Synchronization/Mutex/SpinLoopHint.swift S:/b/501/stdlib/public/Synchronization/4/Atomics/AtomicIntegers.swift S:/b/501/stdlib/public/Synchronization/4/Atomics/AtomicStorage.swift -supplementary-output-file-map C:\\Users\\alex\\AppData\\Local\\Temp\\supplementaryOutputs-d5b32b -target armv7-unknown-linux-android -disable-objc-interop -sdk S:/b/android-ndk-r26b/toolchains/llvm/prebuilt/windows-x86_64/sysroot -I S:/b/501/./lib/swift/android -color-diagnostics -enable-experimental-feature NoncopyableGenerics2 -enable-experimental-feature SuppressedAssociatedTypes -enable-experimental-feature ExtensionImportVisiblity -enable-experimental-feature RawLayout -enable-experimental-feature StaticExclusiveOnly -enable-experimental-feature Extern -warn-implicit-overrides -enable-library-evolution -module-cache-path S:/b/501/./module-cache -module-link-name swiftSynchronization -resource-dir S:/b/501/./lib/swift -swift-version 5 -O -library-level api -enable-builtin-module -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_ENABLE_SYNCHRONIZATION -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_CONCURRENCY_USES_DISPATCH -D SWIFT_STDLIB_OVERRIDABLE_RETAIN_RELEASE -D SWIFT_THREADING_PTHREADS -D SWIFT_ENABLE_REFLECTION -require-explicit-availability=ignore -enforce-exclusivity=unchecked -empty-abi-descriptor -disable-autolinking-runtime-compatibility-concurrency -disable-objc-interop -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 14.4, iOS 17.4, watchOS 10.4, tvOS 17.4, visionOS 1.1" -define-availability "SwiftStdlib 6.0:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, visionOS 9999" -target-min-inlining-version min -plugin-path S:\\b\\5\\lib\\swift\\host\\plugins -plugin-path S:\\b\\5\\local\\lib\\swift\\host\\plugins -Xcc -DSWIFT_STDLIB_HAS_ENVIRON -parse-as-library -module-name Synchronization -o S:/b/501/stdlib/public/Synchronization//ANDROID/armv7/Synchronization.o -runtime-compatibility-version none -disable-autolinking-runtime-compatibility-dynamic-replacements

1.      Swift version 6.0-dev (LLVM 70f5988c1c84591, Swift f7d36f28fd51202)

2.      Compiling with effective version 5.10

3.      Running pass 'Function Pass Manager' on module 'S:/b/501/stdlib/public/Synchronization//ANDROID/armv7/Synchronization.o'.

4.      Running pass 'ARM Instruction Selection' on function '@"$s15Synchronization12_MutexHandleV9_lockSlowyys6UInt32VF"'

Exception Code: 0x80000003

 #0 0x00007ff77b926925 HandleAbort (S:\b\5\bin\swiftc.exe+0x7666925)

 #1 0x00007ffac6a9e6d5 (C:\Windows\System32\ucrtbase.dll+0x7e6d5)

 #2 0x00007ffac6a9f6e1 (C:\Windows\System32\ucrtbase.dll+0x7f6e1)

 #3 0x00007ff77486450b llvm::SmallVectorImpl<class swift::LinkLibrary>::operator=(class llvm::SmallVectorImpl<class swift::LinkLibrary> const &) (S:\b\5\bin\swiftc.exe+0x5a450b)

 #4 0x00007ff77b893c9a llvm::report_fatal_error(class llvm::Twine const &, bool) (S:\b\5\bin\swiftc.exe+0x75d3c9a)

 #5 0x00007ff77776ad55 llvm::SelectionDAGISel::CannotYetSelect(class llvm::SDNode *) (S:\b\5\bin\swiftc.exe+0x34aad55)

 #6 0x00007ff777778d88 llvm::SelectionDAGISel::SelectCodeCommon(class llvm::SDNode *, unsigned char const *, unsigned int) (S:\b\5\bin\swiftc.exe+0x34b8d88)

 #7 0x00007ff776ee8c2e llvm::SelectionDAG::RepositionNode(class llvm::ilist_iterator<struct llvm::ilist_detail::node_options<class llvm::SDNode, 1, 0, void>, 0, 0>, class llvm::SDNode *) (S:\b\5\bin\swiftc.exe+0x2c28c2e)

 #8 0x00007ff77776df14 llvm::SelectionDAGISel::DoInstructionSelection(void) (S:\b\5\bin\swiftc.exe+0x34adf14)

 #9 0x00007ff77776cce8 llvm::SelectionDAGISel::CodeGenAndEmitDAG(void) (S:\b\5\bin\swiftc.exe+0x34acce8)

#10 0x00007ff777773c97 llvm::SelectionDAGISel::SelectAllBasicBlocks(class llvm::Function const &) (S:\b\5\bin\swiftc.exe+0x34b3c97)

#11 0x00007ff77777fffb llvm::SelectionDAGISel::runOnMachineFunction(class llvm::MachineFunction &) (S:\b\5\bin\swiftc.exe+0x34bfffb)

#12 0x00007ff776efac14 llvm::ARM_AM::isSOImmTwoPartValNeg(unsigned int) (S:\b\5\bin\swiftc.exe+0x2c3ac14)

#13 0x00007ff7787d971e llvm::MachineFunctionPass::runOnFunction(class llvm::Function &) (S:\b\5\bin\swiftc.exe+0x451971e)

#14 0x00007ff77b441d10 llvm::FPPassManager::runOnFunction(class llvm::Function &) (S:\b\5\bin\swiftc.exe+0x7181d10)

#15 0x00007ff77b441f50 llvm::FPPassManager::runOnModule(class llvm::Module &) (S:\b\5\bin\swiftc.exe+0x7181f50)

#16 0x00007ff77b44222d llvm::FPPassManager::runOnModule(class llvm::Module &) (S:\b\5\bin\swiftc.exe+0x718222d)

#17 0x00007ff77b441867 llvm::legacy::PassManager::run(class llvm::Module &) (S:\b\5\bin\swiftc.exe+0x7181867)

#18 0x00007ff774cbd4cc swift::compileAndWriteLLVM(class llvm::Module *, class llvm::TargetMachine *, class swift::IRGenOptions const &, class swift::UnifiedStatsReporter *, class swift::DiagnosticEngine &, class llvm::raw_pwrite_stream &, class llvm::sys::SmartMutex<0> *, class llvm::raw_pwrite_stream *) (S:\b\5\bin\swiftc.exe+0x9fd4cc)

#19 0x00007ff774cc54f9 swift::performLLVM(class swift::IRGenOptions const &, class swift::DiagnosticEngine &, class llvm::sys::SmartMutex<0> *, class llvm::GlobalVariable *, class llvm::Module *, class llvm::TargetMachine *, class llvm::StringRef, class llvm::vfs::OutputBackend &, class swift::UnifiedStatsReporter *) (S:\b\5\bin\swiftc.exe+0xa054f9)

#20 0x00007ff77486df6e std::basic_stringbuf<char, struct std::char_traits<char>, class std::allocator<char>>::pbackfail(int) (S:\b\5\bin\swiftc.exe+0x5adf6e)

#21 0x00007ff77486e2c6 swift::performCompileStepsPostSema(class swift::CompilerInstance &, int &, class swift::FrontendObserver *) (S:\b\5\bin\swiftc.exe+0x5ae2c6)

#22 0x00007ff77486cf78 std::basic_stringbuf<char, struct std::char_traits<char>, class std::allocator<char>>::pbackfail(int) (S:\b\5\bin\swiftc.exe+0x5acf78)

#23 0x00007ff77486d4ee std::basic_stringbuf<char, struct std::char_traits<char>, class std::allocator<char>>::pbackfail(int) (S:\b\5\bin\swiftc.exe+0x5ad4ee)

#24 0x00007ff77486fa5e swift::performFrontend(class llvm::ArrayRef<char const *>, char const *, void *, class swift::FrontendObserver *) (S:\b\5\bin\swiftc.exe+0x5afa5e)

#25 0x00007ff7746a46db llvm::SmallVectorTemplateBase<char const *, 1>::push_back(char const *) (S:\b\5\bin\swiftc.exe+0x3e46db)

#26 0x00007ff7746a427c swift::mainEntry(int, char const **) (S:\b\5\bin\swiftc.exe+0x3e427c)

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

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

#29 0x00007ffac81b257d (C:\Windows\System32\KERNEL32.DLL+0x1257d)

#30 0x00007ffac902aa48 (C:\Windows\SYSTEM32\ntdll.dll+0x5aa48)

Expected behavior

should not crash

Environment

Swift version 6.0-dev (LLVM 70f5988c1c84591, Swift f7d36f28fd51202)
Target: x86_64-unknown-windows-msvc

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.crashBug: A crash, i.e., an abnormal termination of softwaretriage neededThis issue needs more specific labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions