Skip to content

[stdlib] Rework String breadcrumbs initialization/loading #63592

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

Merged
merged 2 commits into from
Feb 14, 2023

Conversation

lorentey
Copy link
Member

This is a wild guess at what might be causing our persistent, random String failures on the main branch:

  Swift(macosx-x86_64) :: Prototypes/CollectionTransformers.swift
  Swift(macosx-x86_64) :: stdlib/NSSlowString.swift
  Swift(macosx-x86_64) :: stdlib/NSStringAPI.swift
  Swift(macosx-x86_64) :: stdlib/StringIndex.swift
  Swift-validation(macosx-x86_64) :: stdlib/String.swift
  Swift-validation(macosx-x86_64) :: stdlib/StringBreadcrumbs.swift
  Swift-validation(macosx-x86_64) :: stdlib/StringUTF8.swift

FWIW, it appears this is not caused by #62717: that change has also landed on release/5.8, and I haven’t seen these issues on that branch.

Our atomic breadcrumbs initialization vs its non-atomic loading gives me an uneasy feeling that this may in fact be a long standing synchronization issue that is only now causing problems (for whatever reason). I am unable to reproduce these issues locally, so this guess may be (and probably is) wildly off the mark, but this PR is likely to be a good idea anyway, if only to rule out this possibility.

rdar://104751936

This is a wild guess at what might be causing our persistent, random
String failures on the main branch:

```
  Swift(macosx-x86_64) :: Prototypes/CollectionTransformers.swift
  Swift(macosx-x86_64) :: stdlib/NSSlowString.swift
  Swift(macosx-x86_64) :: stdlib/NSStringAPI.swift
  Swift(macosx-x86_64) :: stdlib/StringIndex.swift
  Swift-validation(macosx-x86_64) :: stdlib/String.swift
  Swift-validation(macosx-x86_64) :: stdlib/StringBreadcrumbs.swift
  Swift-validation(macosx-x86_64) :: stdlib/StringUTF8.swift
```

FWIW, it appears this is *not* caused by swiftlang#62717:
that change has also landed on release/5.8, and I haven’t seen these
issues on that branch.

Our atomic breadcrumbs initialization vs its non-atomic loading
gives me an uneasy feeling that this may in fact be a long standing
synchronization issue that is only now causing problems (for whatever
reason). I am unable to reproduce these issues locally, so this guess
may be (and probably is) wildly off the mark, but this PR is likely
to be a good idea anyway, if only to rule out this possibility.

rdar://104751936
@lorentey lorentey requested review from Azoy and Catfish-Man February 11, 2023 04:25
@lorentey
Copy link
Member Author

@swift-ci test

@lorentey
Copy link
Member Author

@swift-ci benchmark

@lorentey
Copy link
Member Author

(FWIW, the failure logs on macOS do not look like there is any actually concurrent access to the string instance -- these are happening in single-threaded code, which hints that this is more likely to be some run of the mill memory corruption. But where?)

@lorentey
Copy link
Member Author

lorentey commented Feb 11, 2023

Oh hello, the Linux build failures are interesting -- there is a compiler assert in the new version of _nativeGetIndex(for:), presumably triggered by the rewrite.

Cc @atrick for the assert in visitForwardedGuaranteedOperands. This PR attempts to start using Unmanaged._withUnsafeGuaranteedRef within the stdlib, and perhaps that specific function isn't exercised much by the test suite.

swift-frontend: /home/build-user/swift/lib/SIL/Utils/OwnershipUtils.cpp:1783: bool swift::visitForwardedGuaranteedOperands(swift::SILValue, function_ref<void (swift::Operand *)>): Assertion `inst->getNumRealOperands() == 1 && "forwarding instructions must have a single real operand"' failed.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.	Program arguments: [...]
1.	Swift version 5.9-dev (LLVM 50ed2bf09779f5f, Swift 13431f66aebc8fa)
2.	Compiling with the current language version
3.	Contents of /tmp/sources-4833b2:
...
4.	While evaluating request ExecuteSILPipelineRequest(Run pipelines { PrepareOptimizationPasses, EarlyModulePasses, HighLevel,Function+EarlyLoopOpt, HighLevel,Module+StackPromote, MidLevel,Function, ClosureSpecialize, LowLevel,Function, LateLoopOpt, SIL Debug Info Generator } on SIL for Swift)
5.	While running pass #56565 SILFunctionTransform "SemanticARCOpts" on SILFunction "@$sSS9UTF16ViewV15_nativeGetIndex3forSS0E0VSi_tF".
 for '_nativeGetIndex(for:)' (at /home/build-user/swift/stdlib/public/core/StringUTF16View.swift:882:12)
Details
[1224/1481][ 82%][315.089s] Compiling /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/stdlib/public/core/LINUX/x86_64/Swift.o
FAILED: bootstrapping0/stdlib/public/core/LINUX/x86_64/Swift.o 
cd /home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core && /usr/bin/python3.8 /home/build-user/swift/utils/line-directive @/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/112d758cbfdeb25f294580a35ed9a8c0158bb9da.txt -- /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swiftc -c -sdk / -target x86_64-unknown-linux-gnu -resource-dir /home/build-user/build/buildbot_linux/swift-linux-x86_64/./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_REFLECTION -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_THREADING_LINUX -tools-directory /home/build-user/build/buildbot_linux/llvm-linux-x86_64/./bin -module-cache-path /home/build-user/build/buildbot_linux/swift-linux-x86_64/./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 -nostdimport -parse-stdlib -module-name Swift -Xfrontend -group-info-path -Xfrontend /home/build-user/swift/stdlib/public/core/GroupInfo.json -swift-version 5 -runtime-compatibility-version none -disable-autolinking-runtime-compatibility-dynamic-replacements -Xfrontend -disable-autolinking-runtime-compatibility-concurrency -warn-swift3-objc-inference-complete -Xfrontend -disable-objc-interop -Xllvm -sil-inline-generics -Xllvm -sil-partial-specialization -Xfrontend -enable-experimental-concise-pound-file -enable-experimental-feature Macros -Xcc -DswiftCore_EXPORTS -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\ 9999,\ iOS\ 9999,\ watchOS\ 9999,\ tvOS\ 9999 -Xfrontend -define-availability -Xfrontend SwiftStdlib\ 5.9:macOS\ 9999,\ iOS\ 9999,\ watchOS\ 9999,\ tvOS\ 9999 -Xfrontend -target-min-inlining-version -Xfrontend min -module-link-name swiftCore -whole-module-optimization -parse-as-library -resource-dir /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift -I /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux -o /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/stdlib/public/core/LINUX/x86_64/Swift.o @/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/112d758cbfdeb25f294580a35ed9a8c0158bb9da.txt
/home/build-user/swift/stdlib/public/core/SIMDVector.swift:63:17: warning: protocol 'SIMDScalar' should be declared to refine 'Decodable' due to a same-type constraint on 'Self'
public protocol SIMDScalar {
                ^
/home/build-user/swift/stdlib/public/core/SIMDVector.swift:63:17: warning: protocol 'SIMDScalar' should be declared to refine 'Encodable' due to a same-type constraint on 'Self'
public protocol SIMDScalar {
                ^
/home/build-user/swift/stdlib/public/core/SIMDVector.swift:63:17: warning: protocol 'SIMDScalar' should be declared to refine 'Hashable' due to a same-type constraint on 'Self'
public protocol SIMDScalar {
                ^
swift-frontend: /home/build-user/swift/lib/SIL/Utils/OwnershipUtils.cpp:1783: bool swift::visitForwardedGuaranteedOperands(swift::SILValue, function_ref<void (swift::Operand *)>): Assertion `inst->getNumRealOperands() == 1 && "forwarding instructions must have a single real operand"' failed.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend -frontend -c -filelist /tmp/sources-4833b2 -supplementary-output-file-map /tmp/supplementaryOutputs-d06146 -disable-objc-attr-requires-foundation-module -target x86_64-unknown-linux-gnu -disable-objc-interop -sdk / -I /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux -warn-swift3-objc-inference-complete -enable-experimental-feature Macros -enable-library-evolution -module-cache-path /home/build-user/build/buildbot_linux/swift-linux-x86_64/./module-cache -module-link-name swiftCore -nostdimport -parse-stdlib -resource-dir /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift -swift-version 5 -tools-directory /home/build-user/build/buildbot_linux/llvm-linux-x86_64/./bin -O -library-level api -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_REFLECTION -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_THREADING_LINUX -D SWIFT_ENABLE_REFLECTION -require-explicit-availability=ignore -enforce-exclusivity=unchecked -group-info-path /home/build-user/swift/stdlib/public/core/GroupInfo.json -disable-autolinking-runtime-compatibility-concurrency -disable-objc-interop -enable-experimental-concise-pound-file -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 9999, iOS 9999, watchOS 9999, tvOS 9999" -define-availability "SwiftStdlib 5.9:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -target-min-inlining-version min -Xllvm -sil-inline-generics -Xllvm -sil-partial-specialization -Xcc -DSWIFT_STDLIB_HAS_ENVIRON -Xcc -DswiftCore_EXPORTS -parse-as-library -module-name Swift -o /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/stdlib/public/core/LINUX/x86_64/Swift.o -runtime-compatibility-version none -disable-autolinking-runtime-compatibility-dynamic-replacements
1.	Swift version 5.9-dev (LLVM 50ed2bf09779f5f, Swift 13431f66aebc8fa)
2.	Compiling with the current language version
3.	Contents of /tmp/sources-4833b2:
---
/home/build-user/swift/stdlib/public/core/Algorithm.swift
/home/build-user/swift/stdlib/public/core/ArrayBody.swift
/home/build-user/swift/stdlib/public/core/ArrayBuffer.swift
/home/build-user/swift/stdlib/public/core/ArrayBufferProtocol.swift
/home/build-user/swift/stdlib/public/core/ArrayCast.swift
/home/build-user/swift/stdlib/public/core/Array.swift
/home/build-user/swift/stdlib/public/core/ArrayShared.swift
/home/build-user/swift/stdlib/public/core/ArraySlice.swift
/home/build-user/swift/stdlib/public/core/ArrayType.swift
/home/build-user/swift/stdlib/public/core/ASCII.swift
/home/build-user/swift/stdlib/public/core/Assert.swift
/home/build-user/swift/stdlib/public/core/AssertCommon.swift
/home/build-user/swift/stdlib/public/core/BidirectionalCollection.swift
/home/build-user/swift/stdlib/public/core/Bitset.swift
/home/build-user/swift/stdlib/public/core/Bool.swift
/home/build-user/swift/stdlib/public/core/BridgeObjectiveC.swift
/home/build-user/swift/stdlib/public/core/BridgeStorage.swift
/home/build-user/swift/stdlib/public/core/BridgingBuffer.swift
/home/build-user/swift/stdlib/public/core/Builtin.swift
/home/build-user/swift/stdlib/public/core/BuiltinMath.swift
/home/build-user/swift/stdlib/public/core/Character.swift
/home/build-user/swift/stdlib/public/core/CocoaArray.swift
/home/build-user/swift/stdlib/public/core/Codable.swift
/home/build-user/swift/stdlib/public/core/Collection.swift
/home/build-user/swift/stdlib/public/core/CollectionAlgorithms.swift
/home/build-user/swift/stdlib/public/core/Comparable.swift
/home/build-user/swift/stdlib/public/core/CompilerProtocols.swift
/home/build-user/swift/stdlib/public/core/Sendable.swift
/home/build-user/swift/stdlib/public/core/ContiguousArray.swift
/home/build-user/swift/stdlib/public/core/ContiguouslyStored.swift
/home/build-user/swift/stdlib/public/core/ClosedRange.swift
/home/build-user/swift/stdlib/public/core/ContiguousArrayBuffer.swift
/home/build-user/swift/stdlib/public/core/CString.swift
/home/build-user/swift/stdlib/public/core/CTypes.swift
/home/build-user/swift/stdlib/public/core/DebuggerSupport.swift
/home/build-user/swift/stdlib/public/core/Dictionary.swift
/home/build-user/swift/stdlib/public/core/DictionaryBridging.swift
/home/build-user/swift/stdlib/public/core/DictionaryBuilder.swift
/home/build-user/swift/stdlib/public/core/DictionaryCasting.swift
/home/build-user/swift/stdlib/public/core/DictionaryStorage.swift
/home/build-user/swift/stdlib/public/core/DictionaryVariant.swift
/home/build-user/swift/stdlib/public/core/DropWhile.swift
/home/build-user/swift/stdlib/public/core/Dump.swift
/home/build-user/swift/stdlib/public/core/EmptyCollection.swift
/home/build-user/swift/stdlib/public/core/Equatable.swift
/home/build-user/swift/stdlib/public/core/ErrorType.swift
/home/build-user/swift/stdlib/public/core/ExistentialCollection.swift
/home/build-user/swift/stdlib/public/core/Filter.swift
/home/build-user/swift/stdlib/public/core/FixedArray.swift
/home/build-user/swift/stdlib/public/core/FlatMap.swift
/home/build-user/swift/stdlib/public/core/Flatten.swift
/home/build-user/swift/stdlib/public/core/FloatingPoint.swift
/home/build-user/swift/stdlib/public/core/Hashable.swift
/home/build-user/swift/stdlib/public/core/AnyHashable.swift
/home/build-user/swift/stdlib/public/core/Hasher.swift
/home/build-user/swift/stdlib/public/core/Hashing.swift
/home/build-user/swift/stdlib/public/core/HashTable.swift
/home/build-user/swift/stdlib/public/core/Identifiable.swift
/home/build-user/swift/stdlib/public/core/Indices.swift
/home/build-user/swift/stdlib/public/core/InputStream.swift
/home/build-user/swift/stdlib/public/core/IntegerParsing.swift
/home/build-user/swift/stdlib/public/core/Integers.swift
/home/build-user/swift/stdlib/public/core/Join.swift
/home/build-user/swift/stdlib/public/core/KeyPath.swift
/home/build-user/swift/stdlib/public/core/KeyValuePairs.swift
/home/build-user/swift/stdlib/public/core/LazyCollection.swift
/home/build-user/swift/stdlib/public/core/LazySequence.swift
/home/build-user/swift/stdlib/public/core/LegacyABI.swift
/home/build-user/swift/stdlib/public/core/LifetimeManager.swift
/home/build-user/swift/stdlib/public/core/Macros.swift
/home/build-user/swift/stdlib/public/core/ManagedBuffer.swift
/home/build-user/swift/stdlib/public/core/Map.swift
/home/build-user/swift/stdlib/public/core/MemoryLayout.swift
/home/build-user/swift/stdlib/public/core/UnicodeScalar.swift
/home/build-user/swift/stdlib/public/core/Mirrors.swift
/home/build-user/swift/stdlib/public/core/Misc.swift
/home/build-user/swift/stdlib/public/core/MutableCollection.swift
/home/build-user/swift/stdlib/public/core/NativeDictionary.swift
/home/build-user/swift/stdlib/public/core/NativeSet.swift
/home/build-user/swift/stdlib/public/core/NewtypeWrapper.swift
/home/build-user/swift/stdlib/public/core/NFC.swift
/home/build-user/swift/stdlib/public/core/NFD.swift
/home/build-user/swift/stdlib/public/core/ObjectIdentifier.swift
/home/build-user/swift/stdlib/public/core/Optional.swift
/home/build-user/swift/stdlib/public/core/OptionSet.swift
/home/build-user/swift/stdlib/public/core/OutputStream.swift
/home/build-user/swift/stdlib/public/core/Pointer.swift
/home/build-user/swift/stdlib/public/core/Policy.swift
/home/build-user/swift/stdlib/public/core/PrefixWhile.swift
/home/build-user/swift/stdlib/public/core/Prespecialize.swift
/home/build-user/swift/stdlib/public/core/Print.swift
/home/build-user/swift/stdlib/public/core/PtrAuth.swift
/home/build-user/swift/stdlib/public/core/Random.swift
/home/build-user/swift/stdlib/public/core/RandomAccessCollection.swift
/home/build-user/swift/stdlib/public/core/Range.swift
/home/build-user/swift/stdlib/public/core/RangeReplaceableCollection.swift
/home/build-user/swift/stdlib/public/core/ReflectionMirror.swift
/home/build-user/swift/stdlib/public/core/Repeat.swift
/home/build-user/swift/stdlib/public/core/REPL.swift
/home/build-user/swift/stdlib/public/core/Result.swift
/home/build-user/swift/stdlib/public/core/Reverse.swift
/home/build-user/swift/stdlib/public/core/Runtime.swift
/home/build-user/swift/stdlib/public/core/RuntimeFunctionCounters.swift
/home/build-user/swift/stdlib/public/core/SipHash.swift
/home/build-user/swift/stdlib/public/core/Sequence.swift
/home/build-user/swift/stdlib/public/core/SequenceAlgorithms.swift
/home/build-user/swift/stdlib/public/core/Set.swift
/home/build-user/swift/stdlib/public/core/SetAlgebra.swift
/home/build-user/swift/stdlib/public/core/SetAnyHashableExtensions.swift
/home/build-user/swift/stdlib/public/core/SetBridging.swift
/home/build-user/swift/stdlib/public/core/SetBuilder.swift
/home/build-user/swift/stdlib/public/core/SetCasting.swift
/home/build-user/swift/stdlib/public/core/SetStorage.swift
/home/build-user/swift/stdlib/public/core/SetVariant.swift
/home/build-user/swift/stdlib/public/core/ShadowProtocols.swift
/home/build-user/swift/stdlib/public/core/Shims.swift
/home/build-user/swift/stdlib/public/core/Slice.swift
/home/build-user/swift/stdlib/public/core/SmallString.swift
/home/build-user/swift/stdlib/public/core/Sort.swift
/home/build-user/swift/stdlib/public/core/StaticString.swift
/home/build-user/swift/stdlib/public/core/StaticPrint.swift
/home/build-user/swift/stdlib/public/core/Stride.swift
/home/build-user/swift/stdlib/public/core/StringHashable.swift
/home/build-user/swift/stdlib/public/core/String.swift
/home/build-user/swift/stdlib/public/core/StringBreadcrumbs.swift
/home/build-user/swift/stdlib/public/core/StringBridge.swift
/home/build-user/swift/stdlib/public/core/StringCharacterView.swift
/home/build-user/swift/stdlib/public/core/StringComparable.swift
/home/build-user/swift/stdlib/public/core/StringComparison.swift
/home/build-user/swift/stdlib/public/core/StringCreate.swift
/home/build-user/swift/stdlib/public/core/StringGuts.swift
/home/build-user/swift/stdlib/public/core/StringGutsSlice.swift
/home/build-user/swift/stdlib/public/core/StringGutsRangeReplaceable.swift
/home/build-user/swift/stdlib/public/core/StringObject.swift
/home/build-user/swift/stdlib/public/core/StringProtocol.swift
/home/build-user/swift/stdlib/public/core/StringIndex.swift
/home/build-user/swift/stdlib/public/core/StringIndexConversions.swift
/home/build-user/swift/stdlib/public/core/StringIndexValidation.swift
/home/build-user/swift/stdlib/public/core/StringInterpolation.swift
/home/build-user/swift/stdlib/public/core/StringLegacy.swift
/home/build-user/swift/stdlib/public/core/StringNormalization.swift
/home/build-user/swift/stdlib/public/core/StringRangeReplaceableCollection.swift
/home/build-user/swift/stdlib/public/core/StringStorage.swift
/home/build-user/swift/stdlib/public/core/StringStorageBridge.swift
/home/build-user/swift/stdlib/public/core/StringSwitch.swift
/home/build-user/swift/stdlib/public/core/StringTesting.swift
/home/build-user/swift/stdlib/public/core/StringUnicodeScalarView.swift
/home/build-user/swift/stdlib/public/core/StringUTF16View.swift
/home/build-user/swift/stdlib/public/core/StringUTF8View.swift
/home/build-user/swift/stdlib/public/core/StringUTF8Validation.swift
/home/build-user/swift/stdlib/public/core/StringWordBreaking.swift
/home/build-user/swift/stdlib/public/core/Substring.swift
/home/build-user/swift/stdlib/public/core/SwiftNativeNSArray.swift
/home/build-user/swift/stdlib/public/core/TemporaryAllocation.swift
/home/build-user/swift/stdlib/public/core/ThreadLocalStorage.swift
/home/build-user/swift/stdlib/public/core/UIntBuffer.swift
/home/build-user/swift/stdlib/public/core/UnavailableStringAPIs.swift
/home/build-user/swift/stdlib/public/core/UnicodeData.swift
/home/build-user/swift/stdlib/public/core/UnicodeEncoding.swift
/home/build-user/swift/stdlib/public/core/UnicodeBreakProperty.swift
/home/build-user/swift/stdlib/public/core/UnicodeHelpers.swift
/home/build-user/swift/stdlib/public/core/UnicodeParser.swift
/home/build-user/swift/stdlib/public/core/UnicodeScalarProperties.swift
/home/build-user/swift/stdlib/public/core/CharacterProperties.swift
/home/build-user/swift/stdlib/public/core/UnicodeSPI.swift
/home/build-user/swift/stdlib/public/core/Unmanaged.swift
/home/build-user/swift/stdlib/public/core/UnmanagedOpaqueString.swift
/home/build-user/swift/stdlib/public/core/UnmanagedString.swift
/home/build-user/swift/stdlib/public/core/UnsafePointer.swift
/home/build-user/swift/stdlib/public/core/UnsafeRawPointer.swift
/home/build-user/swift/stdlib/public/core/UTFEncoding.swift
/home/build-user/swift/stdlib/public/core/UTF8.swift
/home/build-user/swift/stdlib/public/core/UTF16.swift
/home/build-user/swift/stdlib/public/core/UTF32.swift
/home/build-user/swift/stdlib/public/core/Unicode.swift
/home/build-user/swift/stdlib/public/core/StringGraphemeBreaking.swift
/home/build-user/swift/stdlib/public/core/ValidUTF8Buffer.swift
/home/build-user/swift/stdlib/public/core/WriteBackMutableSlice.swift
/home/build-user/swift/stdlib/public/core/MigrationSupport.swift
/home/build-user/swift/stdlib/public/core/Availability.swift
/home/build-user/swift/stdlib/public/core/CollectionDifference.swift
/home/build-user/swift/stdlib/public/core/CollectionOfOne.swift
/home/build-user/swift/stdlib/public/core/Diffing.swift
/home/build-user/swift/stdlib/public/core/Duration.swift
/home/build-user/swift/stdlib/public/core/DurationProtocol.swift
/home/build-user/swift/stdlib/public/core/FloatingPointRandom.swift
/home/build-user/swift/stdlib/public/core/Instant.swift
/home/build-user/swift/stdlib/public/core/Mirror.swift
/home/build-user/swift/stdlib/public/core/PlaygroundDisplay.swift
/home/build-user/swift/stdlib/public/core/CommandLine.swift
/home/build-user/swift/stdlib/public/core/SliceBuffer.swift
/home/build-user/swift/stdlib/public/core/StaticBigInt.swift
/home/build-user/swift/stdlib/public/core/UnfoldSequence.swift
/home/build-user/swift/stdlib/public/core/UnsafeBufferPointerSlice.swift
/home/build-user/swift/stdlib/public/core/VarArgs.swift
/home/build-user/swift/stdlib/public/core/Zip.swift
/home/build-user/swift/stdlib/public/core/SIMDVector.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/AtomicInt.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FloatingPointParsing.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FloatingPointTypes.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/IntegerTypes.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafeBufferPointer.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafeRawBufferPointer.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Int128.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Tuple.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/SIMDConcreteOperations.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/SIMDVectorTypes.swift
---
4.	While evaluating request ExecuteSILPipelineRequest(Run pipelines { PrepareOptimizationPasses, EarlyModulePasses, HighLevel,Function+EarlyLoopOpt, HighLevel,Module+StackPromote, MidLevel,Function, ClosureSpecialize, LowLevel,Function, LateLoopOpt, SIL Debug Info Generator } on SIL for Swift)
5.	While running pass #56565 SILFunctionTransform "SemanticARCOpts" on SILFunction "@$sSS9UTF16ViewV15_nativeGetIndex3forSS0E0VSi_tF".
 for '_nativeGetIndex(for:)' (at /home/build-user/swift/stdlib/public/core/StringUTF16View.swift:882:12)
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x6450683]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x644e3be]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x6450a0f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x14420)[0x7f55bec09420]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f55be6af00b]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f55be68e859]
/lib/x86_64-linux-gnu/libc.so.6(+0x22729)[0x7f55be68e729]
/lib/x86_64-linux-gnu/libc.so.6(+0x33fd6)[0x7f55be69ffd6]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x15e0b9e]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x15ca70e]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x15e1971]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x11e3b72]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcffaba]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcffb8b]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcf68a8]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9c13c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9d0dd]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xca045c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9a1e8]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9a19d]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcc809a]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcaa423]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9a3c5]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcaeacf]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x73b2c0]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4ea70f]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4e991c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4ec79c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4b4969]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f55be690083]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4b429e]
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal 6 (use -v to see invocation)
[1225/1481][ 82%][315.239s] Generating /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftmodule
FAILED: bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftmodule bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftdoc bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftinterface 
cd /home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core && /home/build-user/build/cmake-linux-x86_64/bin/cmake -E remove -f /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftmodule /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftdoc /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftinterface && /home/build-user/build/cmake-linux-x86_64/bin/cmake -E make_directory /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule && /usr/bin/python3.8 /home/build-user/swift/utils/line-directive @/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/112d758cbfdeb25f294580a35ed9a8c0158bb9da.txt -- /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swiftc -emit-module -o /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftmodule -avoid-emit-module-source-info -sdk / -target x86_64-unknown-linux-gnu -resource-dir /home/build-user/build/buildbot_linux/swift-linux-x86_64/./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_REFLECTION -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_THREADING_LINUX -tools-directory /home/build-user/build/buildbot_linux/llvm-linux-x86_64/./bin -module-cache-path /home/build-user/build/buildbot_linux/swift-linux-x86_64/./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 -nostdimport -parse-stdlib -module-name Swift -Xfrontend -group-info-path -Xfrontend /home/build-user/swift/stdlib/public/core/GroupInfo.json -swift-version 5 -runtime-compatibility-version none -disable-autolinking-runtime-compatibility-dynamic-replacements -Xfrontend -disable-autolinking-runtime-compatibility-concurrency -warn-swift3-objc-inference-complete -Xfrontend -disable-objc-interop -Xllvm -sil-inline-generics -Xllvm -sil-partial-specialization -Xfrontend -enable-experimental-concise-pound-file -enable-experimental-feature Macros -Xcc -DswiftCore_EXPORTS -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\ 9999,\ iOS\ 9999,\ watchOS\ 9999,\ tvOS\ 9999 -Xfrontend -define-availability -Xfrontend SwiftStdlib\ 5.9:macOS\ 9999,\ iOS\ 9999,\ watchOS\ 9999,\ tvOS\ 9999 -Xfrontend -target-min-inlining-version -Xfrontend min -module-link-name swiftCore -whole-module-optimization -parse-as-library -resource-dir /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift -I /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux -emit-module-interface-path /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftinterface @/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/112d758cbfdeb25f294580a35ed9a8c0158bb9da.txt
/home/build-user/swift/stdlib/public/core/SIMDVector.swift:63:17: warning: protocol 'SIMDScalar' should be declared to refine 'Decodable' due to a same-type constraint on 'Self'
public protocol SIMDScalar {
                ^
/home/build-user/swift/stdlib/public/core/SIMDVector.swift:63:17: warning: protocol 'SIMDScalar' should be declared to refine 'Encodable' due to a same-type constraint on 'Self'
public protocol SIMDScalar {
                ^
/home/build-user/swift/stdlib/public/core/SIMDVector.swift:63:17: warning: protocol 'SIMDScalar' should be declared to refine 'Hashable' due to a same-type constraint on 'Self'
public protocol SIMDScalar {
                ^
swift-frontend: /home/build-user/swift/lib/SIL/Utils/OwnershipUtils.cpp:1783: bool swift::visitForwardedGuaranteedOperands(swift::SILValue, function_ref<void (swift::Operand *)>): Assertion `inst->getNumRealOperands() == 1 && "forwarding instructions must have a single real operand"' failed.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend -frontend -emit-module -filelist /tmp/sources-85c398 -supplementary-output-file-map /tmp/supplementaryOutputs-edf244 -disable-objc-attr-requires-foundation-module -target x86_64-unknown-linux-gnu -warn-on-potentially-unavailable-enum-case -disable-objc-interop -sdk / -I /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux -warn-swift3-objc-inference-complete -enable-experimental-feature Macros -enable-library-evolution -module-cache-path /home/build-user/build/buildbot_linux/swift-linux-x86_64/./module-cache -module-link-name swiftCore -nostdimport -parse-stdlib -resource-dir /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift -swift-version 5 -tools-directory /home/build-user/build/buildbot_linux/llvm-linux-x86_64/./bin -O -library-level api -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_REFLECTION -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_THREADING_LINUX -D SWIFT_ENABLE_REFLECTION -require-explicit-availability=ignore -enforce-exclusivity=unchecked -group-info-path /home/build-user/swift/stdlib/public/core/GroupInfo.json -disable-autolinking-runtime-compatibility-concurrency -disable-objc-interop -enable-experimental-concise-pound-file -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 9999, iOS 9999, watchOS 9999, tvOS 9999" -define-availability "SwiftStdlib 5.9:macOS 9999, iOS 9999, watchOS 9999, tvOS 9999" -target-min-inlining-version min -Xllvm -sil-inline-generics -Xllvm -sil-partial-specialization -Xcc -DSWIFT_STDLIB_HAS_ENVIRON -Xcc -DswiftCore_EXPORTS -parse-as-library -module-name Swift -o /home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/lib/swift/linux/Swift.swiftmodule/x86_64-unknown-linux-gnu.swiftmodule -runtime-compatibility-version none -disable-autolinking-runtime-compatibility-dynamic-replacements
1.	Swift version 5.9-dev (LLVM 50ed2bf09779f5f, Swift 13431f66aebc8fa)
2.	Compiling with the current language version
3.	Contents of /tmp/sources-85c398:
---
/home/build-user/swift/stdlib/public/core/Algorithm.swift
/home/build-user/swift/stdlib/public/core/ArrayBody.swift
/home/build-user/swift/stdlib/public/core/ArrayBuffer.swift
/home/build-user/swift/stdlib/public/core/ArrayBufferProtocol.swift
/home/build-user/swift/stdlib/public/core/ArrayCast.swift
/home/build-user/swift/stdlib/public/core/Array.swift
/home/build-user/swift/stdlib/public/core/ArrayShared.swift
/home/build-user/swift/stdlib/public/core/ArraySlice.swift
/home/build-user/swift/stdlib/public/core/ArrayType.swift
/home/build-user/swift/stdlib/public/core/ASCII.swift
/home/build-user/swift/stdlib/public/core/Assert.swift
/home/build-user/swift/stdlib/public/core/AssertCommon.swift
/home/build-user/swift/stdlib/public/core/BidirectionalCollection.swift
/home/build-user/swift/stdlib/public/core/Bitset.swift
/home/build-user/swift/stdlib/public/core/Bool.swift
/home/build-user/swift/stdlib/public/core/BridgeObjectiveC.swift
/home/build-user/swift/stdlib/public/core/BridgeStorage.swift
/home/build-user/swift/stdlib/public/core/BridgingBuffer.swift
/home/build-user/swift/stdlib/public/core/Builtin.swift
/home/build-user/swift/stdlib/public/core/BuiltinMath.swift
/home/build-user/swift/stdlib/public/core/Character.swift
/home/build-user/swift/stdlib/public/core/CocoaArray.swift
/home/build-user/swift/stdlib/public/core/Codable.swift
/home/build-user/swift/stdlib/public/core/Collection.swift
/home/build-user/swift/stdlib/public/core/CollectionAlgorithms.swift
/home/build-user/swift/stdlib/public/core/Comparable.swift
/home/build-user/swift/stdlib/public/core/CompilerProtocols.swift
/home/build-user/swift/stdlib/public/core/Sendable.swift
/home/build-user/swift/stdlib/public/core/ContiguousArray.swift
/home/build-user/swift/stdlib/public/core/ContiguouslyStored.swift
/home/build-user/swift/stdlib/public/core/ClosedRange.swift
/home/build-user/swift/stdlib/public/core/ContiguousArrayBuffer.swift
/home/build-user/swift/stdlib/public/core/CString.swift
/home/build-user/swift/stdlib/public/core/CTypes.swift
/home/build-user/swift/stdlib/public/core/DebuggerSupport.swift
/home/build-user/swift/stdlib/public/core/Dictionary.swift
/home/build-user/swift/stdlib/public/core/DictionaryBridging.swift
/home/build-user/swift/stdlib/public/core/DictionaryBuilder.swift
/home/build-user/swift/stdlib/public/core/DictionaryCasting.swift
/home/build-user/swift/stdlib/public/core/DictionaryStorage.swift
/home/build-user/swift/stdlib/public/core/DictionaryVariant.swift
/home/build-user/swift/stdlib/public/core/DropWhile.swift
/home/build-user/swift/stdlib/public/core/Dump.swift
/home/build-user/swift/stdlib/public/core/EmptyCollection.swift
/home/build-user/swift/stdlib/public/core/Equatable.swift
/home/build-user/swift/stdlib/public/core/ErrorType.swift
/home/build-user/swift/stdlib/public/core/ExistentialCollection.swift
/home/build-user/swift/stdlib/public/core/Filter.swift
/home/build-user/swift/stdlib/public/core/FixedArray.swift
/home/build-user/swift/stdlib/public/core/FlatMap.swift
/home/build-user/swift/stdlib/public/core/Flatten.swift
/home/build-user/swift/stdlib/public/core/FloatingPoint.swift
/home/build-user/swift/stdlib/public/core/Hashable.swift
/home/build-user/swift/stdlib/public/core/AnyHashable.swift
/home/build-user/swift/stdlib/public/core/Hasher.swift
/home/build-user/swift/stdlib/public/core/Hashing.swift
/home/build-user/swift/stdlib/public/core/HashTable.swift
/home/build-user/swift/stdlib/public/core/Identifiable.swift
/home/build-user/swift/stdlib/public/core/Indices.swift
/home/build-user/swift/stdlib/public/core/InputStream.swift
/home/build-user/swift/stdlib/public/core/IntegerParsing.swift
/home/build-user/swift/stdlib/public/core/Integers.swift
/home/build-user/swift/stdlib/public/core/Join.swift
/home/build-user/swift/stdlib/public/core/KeyPath.swift
/home/build-user/swift/stdlib/public/core/KeyValuePairs.swift
/home/build-user/swift/stdlib/public/core/LazyCollection.swift
/home/build-user/swift/stdlib/public/core/LazySequence.swift
/home/build-user/swift/stdlib/public/core/LegacyABI.swift
/home/build-user/swift/stdlib/public/core/LifetimeManager.swift
/home/build-user/swift/stdlib/public/core/Macros.swift
/home/build-user/swift/stdlib/public/core/ManagedBuffer.swift
/home/build-user/swift/stdlib/public/core/Map.swift
/home/build-user/swift/stdlib/public/core/MemoryLayout.swift
/home/build-user/swift/stdlib/public/core/UnicodeScalar.swift
/home/build-user/swift/stdlib/public/core/Mirrors.swift
/home/build-user/swift/stdlib/public/core/Misc.swift
/home/build-user/swift/stdlib/public/core/MutableCollection.swift
/home/build-user/swift/stdlib/public/core/NativeDictionary.swift
/home/build-user/swift/stdlib/public/core/NativeSet.swift
/home/build-user/swift/stdlib/public/core/NewtypeWrapper.swift
/home/build-user/swift/stdlib/public/core/NFC.swift
/home/build-user/swift/stdlib/public/core/NFD.swift
/home/build-user/swift/stdlib/public/core/ObjectIdentifier.swift
/home/build-user/swift/stdlib/public/core/Optional.swift
/home/build-user/swift/stdlib/public/core/OptionSet.swift
/home/build-user/swift/stdlib/public/core/OutputStream.swift
/home/build-user/swift/stdlib/public/core/Pointer.swift
/home/build-user/swift/stdlib/public/core/Policy.swift
/home/build-user/swift/stdlib/public/core/PrefixWhile.swift
/home/build-user/swift/stdlib/public/core/Prespecialize.swift
/home/build-user/swift/stdlib/public/core/Print.swift
/home/build-user/swift/stdlib/public/core/PtrAuth.swift
/home/build-user/swift/stdlib/public/core/Random.swift
/home/build-user/swift/stdlib/public/core/RandomAccessCollection.swift
/home/build-user/swift/stdlib/public/core/Range.swift
/home/build-user/swift/stdlib/public/core/RangeReplaceableCollection.swift
/home/build-user/swift/stdlib/public/core/ReflectionMirror.swift
/home/build-user/swift/stdlib/public/core/Repeat.swift
/home/build-user/swift/stdlib/public/core/REPL.swift
/home/build-user/swift/stdlib/public/core/Result.swift
/home/build-user/swift/stdlib/public/core/Reverse.swift
/home/build-user/swift/stdlib/public/core/Runtime.swift
/home/build-user/swift/stdlib/public/core/RuntimeFunctionCounters.swift
/home/build-user/swift/stdlib/public/core/SipHash.swift
/home/build-user/swift/stdlib/public/core/Sequence.swift
/home/build-user/swift/stdlib/public/core/SequenceAlgorithms.swift
/home/build-user/swift/stdlib/public/core/Set.swift
/home/build-user/swift/stdlib/public/core/SetAlgebra.swift
/home/build-user/swift/stdlib/public/core/SetAnyHashableExtensions.swift
/home/build-user/swift/stdlib/public/core/SetBridging.swift
/home/build-user/swift/stdlib/public/core/SetBuilder.swift
/home/build-user/swift/stdlib/public/core/SetCasting.swift
/home/build-user/swift/stdlib/public/core/SetStorage.swift
/home/build-user/swift/stdlib/public/core/SetVariant.swift
/home/build-user/swift/stdlib/public/core/ShadowProtocols.swift
/home/build-user/swift/stdlib/public/core/Shims.swift
/home/build-user/swift/stdlib/public/core/Slice.swift
/home/build-user/swift/stdlib/public/core/SmallString.swift
/home/build-user/swift/stdlib/public/core/Sort.swift
/home/build-user/swift/stdlib/public/core/StaticString.swift
/home/build-user/swift/stdlib/public/core/StaticPrint.swift
/home/build-user/swift/stdlib/public/core/Stride.swift
/home/build-user/swift/stdlib/public/core/StringHashable.swift
/home/build-user/swift/stdlib/public/core/String.swift
/home/build-user/swift/stdlib/public/core/StringBreadcrumbs.swift
/home/build-user/swift/stdlib/public/core/StringBridge.swift
/home/build-user/swift/stdlib/public/core/StringCharacterView.swift
/home/build-user/swift/stdlib/public/core/StringComparable.swift
/home/build-user/swift/stdlib/public/core/StringComparison.swift
/home/build-user/swift/stdlib/public/core/StringCreate.swift
/home/build-user/swift/stdlib/public/core/StringGuts.swift
/home/build-user/swift/stdlib/public/core/StringGutsSlice.swift
/home/build-user/swift/stdlib/public/core/StringGutsRangeReplaceable.swift
/home/build-user/swift/stdlib/public/core/StringObject.swift
/home/build-user/swift/stdlib/public/core/StringProtocol.swift
/home/build-user/swift/stdlib/public/core/StringIndex.swift
/home/build-user/swift/stdlib/public/core/StringIndexConversions.swift
/home/build-user/swift/stdlib/public/core/StringIndexValidation.swift
/home/build-user/swift/stdlib/public/core/StringInterpolation.swift
/home/build-user/swift/stdlib/public/core/StringLegacy.swift
/home/build-user/swift/stdlib/public/core/StringNormalization.swift
/home/build-user/swift/stdlib/public/core/StringRangeReplaceableCollection.swift
/home/build-user/swift/stdlib/public/core/StringStorage.swift
/home/build-user/swift/stdlib/public/core/StringStorageBridge.swift
/home/build-user/swift/stdlib/public/core/StringSwitch.swift
/home/build-user/swift/stdlib/public/core/StringTesting.swift
/home/build-user/swift/stdlib/public/core/StringUnicodeScalarView.swift
/home/build-user/swift/stdlib/public/core/StringUTF16View.swift
/home/build-user/swift/stdlib/public/core/StringUTF8View.swift
/home/build-user/swift/stdlib/public/core/StringUTF8Validation.swift
/home/build-user/swift/stdlib/public/core/StringWordBreaking.swift
/home/build-user/swift/stdlib/public/core/Substring.swift
/home/build-user/swift/stdlib/public/core/SwiftNativeNSArray.swift
/home/build-user/swift/stdlib/public/core/TemporaryAllocation.swift
/home/build-user/swift/stdlib/public/core/ThreadLocalStorage.swift
/home/build-user/swift/stdlib/public/core/UIntBuffer.swift
/home/build-user/swift/stdlib/public/core/UnavailableStringAPIs.swift
/home/build-user/swift/stdlib/public/core/UnicodeData.swift
/home/build-user/swift/stdlib/public/core/UnicodeEncoding.swift
/home/build-user/swift/stdlib/public/core/UnicodeBreakProperty.swift
/home/build-user/swift/stdlib/public/core/UnicodeHelpers.swift
/home/build-user/swift/stdlib/public/core/UnicodeParser.swift
/home/build-user/swift/stdlib/public/core/UnicodeScalarProperties.swift
/home/build-user/swift/stdlib/public/core/CharacterProperties.swift
/home/build-user/swift/stdlib/public/core/UnicodeSPI.swift
/home/build-user/swift/stdlib/public/core/Unmanaged.swift
/home/build-user/swift/stdlib/public/core/UnmanagedOpaqueString.swift
/home/build-user/swift/stdlib/public/core/UnmanagedString.swift
/home/build-user/swift/stdlib/public/core/UnsafePointer.swift
/home/build-user/swift/stdlib/public/core/UnsafeRawPointer.swift
/home/build-user/swift/stdlib/public/core/UTFEncoding.swift
/home/build-user/swift/stdlib/public/core/UTF8.swift
/home/build-user/swift/stdlib/public/core/UTF16.swift
/home/build-user/swift/stdlib/public/core/UTF32.swift
/home/build-user/swift/stdlib/public/core/Unicode.swift
/home/build-user/swift/stdlib/public/core/StringGraphemeBreaking.swift
/home/build-user/swift/stdlib/public/core/ValidUTF8Buffer.swift
/home/build-user/swift/stdlib/public/core/WriteBackMutableSlice.swift
/home/build-user/swift/stdlib/public/core/MigrationSupport.swift
/home/build-user/swift/stdlib/public/core/Availability.swift
/home/build-user/swift/stdlib/public/core/CollectionDifference.swift
/home/build-user/swift/stdlib/public/core/CollectionOfOne.swift
/home/build-user/swift/stdlib/public/core/Diffing.swift
/home/build-user/swift/stdlib/public/core/Duration.swift
/home/build-user/swift/stdlib/public/core/DurationProtocol.swift
/home/build-user/swift/stdlib/public/core/FloatingPointRandom.swift
/home/build-user/swift/stdlib/public/core/Instant.swift
/home/build-user/swift/stdlib/public/core/Mirror.swift
/home/build-user/swift/stdlib/public/core/PlaygroundDisplay.swift
/home/build-user/swift/stdlib/public/core/CommandLine.swift
/home/build-user/swift/stdlib/public/core/SliceBuffer.swift
/home/build-user/swift/stdlib/public/core/StaticBigInt.swift
/home/build-user/swift/stdlib/public/core/UnfoldSequence.swift
/home/build-user/swift/stdlib/public/core/UnsafeBufferPointerSlice.swift
/home/build-user/swift/stdlib/public/core/VarArgs.swift
/home/build-user/swift/stdlib/public/core/Zip.swift
/home/build-user/swift/stdlib/public/core/SIMDVector.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/AtomicInt.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FloatingPointParsing.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FloatingPointTypes.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/IntegerTypes.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafeBufferPointer.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafeRawBufferPointer.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Int128.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Tuple.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/SIMDConcreteOperations.swift
/home/build-user/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/SIMDVectorTypes.swift
---
4.	While evaluating request ExecuteSILPipelineRequest(Run pipelines { PrepareOptimizationPasses, EarlyModulePasses, HighLevel,Function+EarlyLoopOpt, HighLevel,Module+StackPromote } on SIL for Swift)
5.	While running pass #56565 SILFunctionTransform "SemanticARCOpts" on SILFunction "@$sSS9UTF16ViewV15_nativeGetIndex3forSS0E0VSi_tF".
 for '_nativeGetIndex(for:)' (at /home/build-user/swift/stdlib/public/core/StringUTF16View.swift:882:12)
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x6450683]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x644e3be]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x6450a0f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x14420)[0x7f535bed0420]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f535b97600b]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f535b955859]
/lib/x86_64-linux-gnu/libc.so.6(+0x22729)[0x7f535b955729]
/lib/x86_64-linux-gnu/libc.so.6(+0x33fd6)[0x7f535b966fd6]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x15e0b9e]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x15ca70e]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x15e1971]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x11e3b72]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcffaba]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcffb8b]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcf68a8]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9c13c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9d0dd]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xca045c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9a1e8]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9a19d]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcc809a]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcaa423]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xc9a3c5]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0xcaeacf]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x73b2c0]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4ea70f]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4e991c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4ec79c]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4b4969]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f535b957083]
/home/build-user/build/buildbot_linux/swift-linux-x86_64/bootstrapping0/bin/swift-frontend[0x4b429e]
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal 6 (use -v to see invocation)
ninja: build stopped: subcommand failed.

@lorentey
Copy link
Member Author

@swift-ci test macOS platform

@lorentey
Copy link
Member Author

Yep, correct synchronization has no measurable impact to breadcrumbs performance.

------- Performance (x86_64): -O -------

REGRESSION                             OLD      NEW      DELTA     RATIO    
StringWithCString2                     0.0      0.002    +200.0%   **0.33x**

IMPROVEMENT                            OLD      NEW      DELTA     RATIO    
FlattenListLoop                        1478.0   978.0    -33.8%    **1.51x (?)**
Data.hash.Empty                        56.632   52.25    -7.7%     **1.08x (?)**
Breadcrumbs.CopyUTF16CodeUnits.Mixed   51.184   47.275   -7.6%     **1.08x (?)**
ObjectiveCBridgeStubToNSStringRef      93.211   87.056   -6.6%     **1.07x (?)**

------- Code size: -O -------
------- Performance (x86_64): -Osize -------

REGRESSION         OLD        NEW      DELTA    RATIO    
StringWalk         1253.913   1385.6   +10.5%   **0.90x (?)**
Data.hash.Medium   26.792     29.167   +8.9%    **0.92x (?)**

IMPROVEMENT        OLD        NEW      DELTA    RATIO    
Data.hash.Empty    56.6       52.25    -7.7%    **1.08x (?)**

------- Code size: -Osize -------
------- Performance (x86_64): -Onone -------

------- Code size: -swiftlibs -------

@lorentey
Copy link
Member Author

Do I remember how to stack PRs? Let's find out!

#63638

@swift-ci test

@lorentey
Copy link
Member Author

 > git rev-parse refs/remotes/origin/pr/63592/merge^{commit} # timeout=10
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 1bb9267688da3702835eaa90d8aae474eeb487be # timeout=30
[Pipeline] }
[Pipeline] // retry
[Pipeline] sh
/tmp/jenkins-51619692/workspace/swift-PR-Linux@tmp/durable-dc0774e9/script.sh: line 1: unexpected EOF while looking for matching `''

@lorentey
Copy link
Member Author

#63638

@swift-ci test Linux platform

Some guaranteed forwarding instructions have multiple operands:
mark_dependence, ref_to_bridge_object.

The corresponding instruction types checked here already have
documentation that the forwarded operand is the first operand. The
assert is overly cautious, and checking for indiviudal opcodes would be
tedious maintenance.

(cherry picked from commit 2d92af4)
@lorentey
Copy link
Member Author

Oh well, I don't know how to stack PRs.

swift-frontend: /home/build-user/swift/lib/SIL/Utils/OwnershipUtils.cpp:1783: bool swift::visitForwardedGuaranteedOperands(swift::SILValue, function_ref<void (swift::Operand *)>): Assertion `inst->getNumRealOperands() == 1 && "forwarding instructions must have a single real operand"' failed.

@lorentey
Copy link
Member Author

@swift-ci test

@lorentey
Copy link
Member Author

Linux failure is unrelated:

fatal: unable to access 'https://github.com/apple/swift-atomics.git/': CONNECT tunnel failed, response 503

@lorentey
Copy link
Member Author

@swift-ci test Linux platform

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants