Skip to content

Failed to reconstruct type for $sSq11OpenCombineE8OCombineV9PublisherVy7ElementSTQz__GD #72905

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

Closed
hjyamauchi opened this issue Apr 8, 2024 · 2 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. crash Bug: A crash, i.e., an abnormal termination of software triage needed This issue needs more specific labels

Comments

@hjyamauchi
Copy link
Contributor

Description

A "Failed to reconstruct type" compiler crash

Reproduction

git clone https://github.com/OpenCombine/OpenCombine
git log
commit 1c6f02c7ed8140c0ba7a783aaddb6e0685a0037b (HEAD -> master, origin/master, origin/HEAD)
Author: Saleem Abdulrasool <[email protected]>
Date:   Wed Oct 11 13:42:47 2023 -0700                                                                                                                                                                                                                                                                                                                                                            COpenCOmbineHelpers: add an explicit modulemap

    Introduce an explicit modulemap as not all build systems will write out
    a modulemap for you.  Add the explicit modulemap to allow building with
    alternative build systems.                                                                                                                                                                                                                                                                                                                                                                
<...>
cd OpenCombine
swift build

Stack dump

Failed to reconstruct type for $sSq11OpenCombineE8OCombineV9PublisherVy7ElementSTQz__GD
Original type:
(struct_type decl="OpenCombine.(file).Optional extension.OCombine.Publisher@C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Optional.Publisher.swift:42:23"
  (parent=struct_type decl="OpenCombine.(file).Optional extension.OCombine@C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Optional.Publisher.swift:23:19"
    (parent=bound_generic_enum_type decl="Swift.(file).Optional"
      (dependent_member_type assoc_type="Swift.(file).Sequence.Element"
        (base=generic_type_param_type depth=0 index=0)))))
Generic signature: <τ_0_0, τ_0_1 where τ_0_0 : Sequence, τ_0_1 == Never>
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Pass '-Xfrontend -disable-round-trip-debug-types' to disable this assertion.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.      Program arguments: "S:/Program Files/Swift/Toolchains/0.0.0+Asserts/usr/bin/swift-frontend.exe" -frontend -c C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\AnyCancellable.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\AnyPublisher.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\AnySubscriber.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Cancellable.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Codable.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\CombineIdentifier.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Concurrency\\ConcurrencyHelpers.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Concurrency\\Future+Concurrency.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Concurrency\\GENERATED-Publisher+Concurrency.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\CurrentValueSubject.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\CustomCombineIdentifierConvertible.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Future.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\GENERATED-RootProtocols.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\ConduitBase.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\ConduitList.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\DebugHook.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\FilterProducer.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\Locking.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\PartialCompletion.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\PublishedSubject.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\PublishedSubscriber.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\ReduceProducer.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\SubjectSubscriber.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\SubscriberTap.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\SubscriptionStatus.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\SubscriptionTap.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\Utils.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Helpers\\Violations.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\ImmediateScheduler.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\ObservableObject.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\PassthroughSubject.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Published.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publisher+Subscribe.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Deferred.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Empty.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Fail.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\GENERATED-Publishers.Catch.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\GENERATED-Publishers.Encode.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\GENERATED-Publishers.MapKeyPath.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Just.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Optional.Publisher.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.AllSatisfy.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.AssertNoFailure.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Autoconnect.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Breakpoint.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Buffer.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Collect.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.CollectByCount.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.CompactMap.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Comparison.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Concatenate.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Contains.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Count.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Debounce.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Delay.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Drop.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.DropUntilOutput.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.DropWhile.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Filter.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.First.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.FlatMap.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.HandleEvents.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.IgnoreOutput.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Last.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.MakeConnectable.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Map.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.MapError.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.MeasureInterval.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Multicast.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Output.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.PrefixUntilOutput.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.PrefixWhile.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Print.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.ReceiveOn.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Reduce.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.RemoveDuplicates.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.ReplaceEmpty.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.ReplaceError.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Retry.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Scan.swift -primary-file C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Sequence.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.SetFailureType.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Share.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.SubscribeOn.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.SwitchToLatest.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Throttle.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Timeout.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.Zip.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Publishers.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Record.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Publishers\\Result.Publisher.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Result.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Scheduler.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subject+Void.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscriber+Void.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscribers\\Subscribers.Assign.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscribers\\Subscribers.Completion.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscribers\\Subscribers.Demand.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscribers\\Subscribers.Sink.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscribers\\Subscribers.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscription.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\Subscriptions.swift C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\OpenCombine\\_Introspection.swift -emit-dependencies-path C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\.build\\x86_64-unknown-windows-msvc\\debug\\OpenCombine.build\\Publishers.Sequence.d -emit-reference-dependencies-path C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\.build\\x86_64-unknown-windows-msvc\\debug\\OpenCombine.build\\Publishers.Sequence.swiftdeps -target x86_64-unknown-windows-msvc -disable-objc-interop -sdk "S:\\Program Files\\Swift\\Platforms\\Windows.platform\\Developer\\SDKs\\Windows.sdk" -I C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\.build\\x86_64-unknown-windows-msvc\\debug\\Modules -I "S:\\Program Files\\Swift\\Platforms\\Windows.platform\\Developer\\Library\\XCTest-development\\usr\\lib\\swift\\windows" -I "S:\\Program Files\\Swift\\Platforms\\Windows.platform\\Developer\\Library\\XCTest-development\\usr\\lib\\swift\\windows\\x86_64" -color-diagnostics -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\.build\\x86_64-unknown-windows-msvc\\debug\\ModuleCache -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -empty-abi-descriptor -resource-dir "S:\\Program Files\\Swift\\Toolchains\\0.0.0+Asserts\\usr\\lib\\swift" -enable-anonymous-context-mangled-names -file-compilation-dir C:\\Users\\hiroshi\\devin-1253\\OpenCombine -Xcc -fmodule-map-file=C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\COpenCombineHelpers\\include\\module.modulemap -Xcc -I -Xcc C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\Sources\\COpenCombineHelpers\\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -Xcc -gdwarf -module-name OpenCombine -plugin-path "S:\\Program Files\\Swift\\Toolchains\\0.0.0+Asserts\\usr\\bin" -plugin-path "S:\\Program Files\\Swift\\Toolchains\\0.0.0+Asserts\\usr\\local\\bin" -parse-as-library -o C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\.build\\x86_64-unknown-windows-msvc\\debug\\OpenCombine.build\\Publishers.Sequence.swift.o -index-store-path C:\\Users\\hiroshi\\devin-1253\\OpenCombine\\.build\\x86_64-unknown-windows-msvc\\debug\\index\\store -index-system-modules
1.      Swift version 6.0-dev (LLVM 7c093d5bcae7355, Swift f24e18cb01d2ef1)
2.      Compiling with effective version 5.10
3.      While evaluating request IRGenRequest(IR Generation for file "C:\Users\hiroshi\devin-1253\OpenCombine\Sources\OpenCombine\Publishers\Publishers.Sequence.swift")
4.      While emitting IR SIL function "@$s11OpenCombine10PublishersO8SequenceVAAs5NeverORs_rlE3min2bySqAAE8OCombineV9PublisherVy7ElementQz__GSbAO_AOtXE_tF".
 for 'min(by:)' (at C:\Users\hiroshi\devin-1253\OpenCombine\Sources\OpenCombine\Publishers\Publishers.Sequence.swift:147:12)
Exception Code: 0x80000003
 #0 0x00007ff6ed48c745 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x73ac745 (S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x73ac745)
 #1 0x00007ff6ed48c745
 #2 0x00007ff6ed48c745 (S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x73ac745)
 #3 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x964966 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x96722b
 #4 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x95a391 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x960d7c
 #5 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x96075d S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0xa61bb7
 #6 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0xa61514 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x8ac0a8
 #7 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x803791 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x80d716
 #8 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x7f86ab S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x80810a
 #9 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x3be36c S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x3bef06
#10 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x3bd758 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x3bdcce
#11 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x3c021b S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x2049eb
#12 0x00007ff9f44ee5f5 S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x20458c S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe 0x7423338
#13 0x00007ff9f44ee5f5 (C:\Windows\System32\ucrtbase.dll+0x7e5f5)
#14 0x00007ff9f44ef601 (C:\Windows\System32\ucrtbase.dll+0x7f601)
0x00007FF6ED48C745, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x73AC745 byte(s), HandleAbort() + 0x5 byte(s)
0x00007FF9F44EE5F5, C:\Windows\System32\ucrtbase.dll(0x00007FF9F4470000) + 0x7E5F5 byte(s), raise() + 0x1E5 byte(s)
0x00007FF9F44EF601, C:\Windows\System32\ucrtbase.dll(0x00007FF9F4470000) + 0x7F601 byte(s), abort() + 0x31 byte(s)
0x00007FF6E6A44966, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x964966 byte(s), ?getIntrinsicID@IntrinsicInst@llvm@@QEBAIXZ() + 0x496 byte(s)
0x00007FF6E6A4722B, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x96722B byte(s), ?getOrCreateScope@IRGenDebugInfo@irgen@swift@@QEAAPEAVDIScope@llvm@@PEBVSILDebugScope@3@@Z() + 0x6DB byte(s)
0x00007FF6E6A3A391, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x95A391 byte(s), ?createIRGenDebugInfo@IRGenDebugInfo@irgen@swift@@SA?AV?$unique_ptr@VIRGenDebugInfo@irgen@swift@@U?$default_delete@VIRGenDebugInfo@irgen@swift@@@std@@@std@@AEBVIRGenOptions@3@AEAVClangImporter@3@AEAVIRGenModule@23@AEAVModule@llvm@@VStringRef@llvm@@4@Z() + 0xB21 byte(s)
0x00007FF6E6A40D7C, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x960D7C byte(s), ?emitFunction@IRGenDebugInfo@irgen@swift@@QEAAPEAVDISubprogram@llvm@@PEBVSILDebugScope@3@PEAVFunction@5@W4SILFunctionTypeRepresentation@3@VSILType@3@PEAVDeclContext@3@PEAVGenericEnvironment@3@@Z() + 0x71C byte(s)
0x00007FF6E6A4075D, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x96075D byte(s), ?emitFunction@IRGenDebugInfo@irgen@swift@@QEAAPEAVDISubprogram@llvm@@PEBVSILDebugScope@3@PEAVFunction@5@W4SILFunctionTypeRepresentation@3@VSILType@3@PEAVDeclContext@3@PEAVGenericEnvironment@3@@Z() + 0xFD byte(s)
0x00007FF6E6B41BB7, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0xA61BB7 byte(s), ?emitSILFunction@IRGenModule@irgen@swift@@QEAAXPEAVSILFunction@3@@Z() + 0x7F7 byte(s)
0x00007FF6E6B41514, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0xA61514 byte(s), ?emitSILFunction@IRGenModule@irgen@swift@@QEAAXPEAVSILFunction@3@@Z() + 0x154 byte(s)
0x00007FF6E698C0A8, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x8AC0A8 byte(s), ?emitGlobalTopLevel@IRGenerator@irgen@swift@@QEAAXAEBV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@Z() + 0x548 byte(s)
0x00007FF6E68E3791, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x803791 byte(s), ?evaluate@IRGenRequest@swift@@AEBA?AVGeneratedModule@2@AEAVEvaluator@2@UIRGenDescriptor@2@@Z() + 0x421 byte(s)
0x00007FF6E68ED716, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x80D716 byte(s), ?evaluateRequest@?$SimpleRequest@VIRGenRequest@swift@@$$A6A?AVGeneratedModule@2@UIRGenDescriptor@2@@Z$08@swift@@SA?AVGeneratedModule@2@AEBVIRGenRequest@2@AEAVEvaluator@2@@Z() + 0x36 byte(s)
0x00007FF6E68D86AB, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x7F86AB byte(s), ??$getResultUncached@VIRGenRequest@swift@@V<lambda_1>@?1???$evaluateOrFatal@VIRGenRequest@swift@@@2@YA?AVGeneratedModule@2@AEAVEvaluator@2@V12@@Z@@Evaluator@swift@@AEAA?AVGeneratedModule@1@AEBVIRGenRequest@1@V<lambda_1>@?1???$evaluateOrFatal@VIRGenRequest@swift@@@1@YA?AV21@AEAV01@V31@@Z@@Z() + 0x29B byte(s)
0x00007FF6E68E810A, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x80810A byte(s), ?performIRGeneration@swift@@YA?AVGeneratedModule@1@PEAVFileUnit@1@AEBVIRGenOptions@1@AEBUTBDGenOptions@1@V?$unique_ptr@VSILModule@swift@@U?$default_delete@VSILModule@swift@@@std@@@std@@VStringRef@llvm@@AEBVPrimarySpecificPaths@1@4PEAPEAVGlobalVariable@9@@Z() + 0x17A byte(s)
0x00007FF6E649E36C, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x3BE36C byte(s), ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z() + 0x111C byte(s)
0x00007FF6E649EF06, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x3BEF06 byte(s), ?performCompileStepsPostSema@swift@@YA_NAEAVCompilerInstance@1@AEAHPEAVFrontendObserver@1@@Z() + 0x5B6 byte(s)
0x00007FF6E649D758, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x3BD758 byte(s), ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z() + 0x508 byte(s)
0x00007FF6E649DCCE, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x3BDCCE byte(s), ?pbackfail@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAAHH@Z() + 0xA7E byte(s)
0x00007FF6E64A021B, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x3C021B byte(s), ?performFrontend@swift@@YAHV?$ArrayRef@PEBD@llvm@@PEBDPEAXPEAVFrontendObserver@1@@Z() + 0x9DB byte(s)
0x00007FF6E62E49EB, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x2049EB byte(s), ?push_back@?$SmallVectorTemplateBase@PEBD$00@llvm@@QEAAXPEBD@Z() + 0x15B byte(s)
0x00007FF6E62E458C, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x20458C byte(s), ?mainEntry@swift@@YAHHPEAPEBD@Z() + 0xE3C byte(s)
0x00007FF6ED503338, S:\Program Files\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe(0x00007FF6E60E0000) + 0x7423338 byte(s), __scrt_common_main_seh() + 0x10C byte(s), D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 288 + 0x22 byte(s)
0x00007FF9F57D257D, C:\Windows\System32\KERNEL32.DLL(0x00007FF9F57C0000) + 0x1257D byte(s), BaseThreadInitThunk() + 0x1D byte(s)

Expected behavior

No crash

Environment

A locally built swift toolchain from recent swift/main on windows.

Additional information

Based on my local bisecting, this appears to have started after commit in swift/main

commit f24e18c (HEAD)
Merge: 6cd49ef 74bd1e3
Author: Karoy Lorentey [email protected]
Date: Mon Mar 18 20:45:24 2024 -0700

Merge pull request #71688 from lorentey/noncopyable-primitives

[stdlib] Start adopting noncopyable generics in the stdlib

which corresponds to the PR #71688

If I build the toolchain at the previous commit 6cd49ef, this crash seems to go away.
Note that since there is another compiler crash in this range of commit history, the fix #72575 needs to be locally patched to isolate from it.

@hjyamauchi hjyamauchi added bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. crash Bug: A crash, i.e., an abnormal termination of software triage needed This issue needs more specific labels labels Apr 8, 2024
@hjyamauchi
Copy link
Contributor Author

CC @lorentey @compnerd

@hjyamauchi
Copy link
Contributor Author

Reduced to a small test

C:\Users\hiroshi\devin-1253>swiftc -g Test.swift
error: compile command failed due to exception 3 (use -v to see invocation)
Failed to reconstruct type for $ss6ResultO4TestE9PublisherVyxq__GD
Original type:
(struct_type decl="Test.(file).Result [email protected]:2:19"
  (parent=bound_generic_enum_type decl="Swift.(file).Result"
    (generic_type_param_type depth=0 index=0 decl="Swift.(file).Result.Success")
    (generic_type_param_type depth=0 index=1 decl="Swift.(file).Result.Failure")))
Generic signature: <τ_0_0, τ_0_1 where τ_0_0 : Copyable, τ_0_0 : Escapable, τ_0_1 : Error>
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Pass '-Xfrontend -disable-round-trip-debug-types' to disable this assertion.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.      Program arguments: C:/Users/hiroshi/AppData/Local/Programs/Swift/Toolchains/0.0.0+Asserts/usr/bin/swift-frontend.exe -frontend -c -primary-file Test.swift -target x86_64-unknown-windows-msvc -disable-objc-interop -sdk C:\\Users\\hiroshi\\AppData\\Local\\Programs\\Swift\\Platforms\\0.0.0\\Windows.platform\\Developer\\SDKs\\Windows.sdk -color-diagnostics -g -debug-info-format=dwarf -dwarf-version=4 -empty-abi-descriptor -resource-dir C:\\Users\\hiroshi\\AppData\\Local\\Programs\\Swift\\Toolchains\\0.0.0+Asserts\\usr\\lib\\swift -enable-anonymous-context-mangled-names -file-compilation-dir C:\\Users\\hiroshi\\devin-1253 -module-name Test -plugin-path C:\\Users\\hiroshi\\AppData\\Local\\Programs\\Swift\\Toolchains\\0.0.0+Asserts\\usr\\bin -plugin-path C:\\Users\\hiroshi\\AppData\\Local\\Programs\\Swift\\Toolchains\\0.0.0+Asserts\\usr\\local\\bin -o C:\\Users\\hiroshi\\AppData\\Local\\Temp\\TemporaryDirectory.QQ7I5V\\Test-2.o
1.      compnerd.org Swift version 6.0-dev (LLVM 4aa2cfd77d0beee, Swift 311c55f995371dc)
2.      Compiling with effective version 5.10
3.      While evaluating request IRGenRequest(IR Generation for file "Test.swift")
4.      While emitting IR SIL function "@$ss6ResultO4TestE9PublisherVAEyxq__GycfC".
 for 'init()' (at Test.swift:3:16)
Exception Code: 0x80000003
 #0 0x00007ff714f74a05 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x6014a05)
 #1 0x00007ff9af4de5f5 (C:\Windows\System32\ucrtbase.dll+0x7e5f5)
 #2 0x00007ff9af4df601 (C:\Windows\System32\ucrtbase.dll+0x7f601)
 #3 0x00007ff70f756d16 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x7f6d16)
 #4 0x00007ff70f75978b (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x7f978b)
 #5 0x00007ff70f757f0d (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x7f7f0d)
 #6 0x00007ff70f752e44 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x7f2e44)
 #7 0x00007ff70f752add (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x7f2add)
 #8 0x00007ff70f86a8e7 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x90a8e7)
 #9 0x00007ff70f86a244 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x90a244)
#10 0x00007ff70f6bf9e8 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x75f9e8)
#11 0x00007ff70f647e6f (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x6e7e6f)
#12 0x00007ff70f650936 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x6f0936)
#13 0x00007ff70f63fc9b (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x6dfc9b)
#14 0x00007ff70f64b41a (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x6eb41a)
#15 0x00007ff70f30389c (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x3a389c)
#16 0x00007ff70f304441 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x3a4441)
#17 0x00007ff70f302c88 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x3a2c88)
#18 0x00007ff70f3031fe (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x3a31fe)
#19 0x00007ff70f30575b (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x3a575b)
#20 0x00007ff70f161edb (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x201edb)
#21 0x00007ff70f161aac (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x201aac)
#22 0x00007ff714fd3258 (C:\Users\hiroshi\AppData\Local\Programs\Swift\Toolchains\0.0.0+Asserts\usr\bin\swift-frontend.exe+0x6073258)
#23 0x00007ff9b0c8257d (C:\Windows\System32\KERNEL32.DLL+0x1257d)
#24 0x00007ff9b1a2aa58 (C:\Windows\SYSTEM32\ntdll.dll+0x5aa58)

But it no longer reproduces at swift/main head and appears to have been fixed around March 28, 2024.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. crash Bug: A crash, i.e., an abnormal termination of software triage needed This issue needs more specific labels
Projects
None yet
Development

No branches or pull requests

1 participant