Skip to content

SIL compile crash when switching over an enum with cases that have an InlineArray parameter #84141

@RandomHashTags

Description

@RandomHashTags

Description

No response

Reproduction

public enum StreamYieldResult<let count: Int>: Sendable {
        case literal(buffer: InlineArray<count, UInt8>)
        case end(buffer: InlineArray<count, UInt8>, endIndex: Int)

        // the following function crashes compiler
        public func buffer() -> InlineArray<count, UInt8> {
            switch self {
            case .literal(let b):
                return b
            case .end(let b, _):
                return b
            }
        }
    }

Stack dump

error: compile command failed due to signal 6 (use -v to see invocation)
SIL verification failed: Found mutating or consuming use of an in_guaranteed parameter?!: !ImmutableAddressUseVerifier().isMutatingOrConsuming(fArg)
Verifying argument:
-> %1 = argument of bb0 : $*StreamYieldResult<count> // users: %13, %4, %3, %2
     debug_value %1 : $*StreamYieldResult<count>, let, name "self", argno 1, expr op_deref // id: %2
     switch_enum_addr %1 : $*StreamYieldResult<count>, case #StreamYieldResult.literal!enumelt: bb1, case #StreamYieldResult.end!enumelt: bb2 // id: %3
     %4 = unchecked_take_enum_data_addr %1 : $*StreamYieldResult<count>, #StreamYieldResult.literal!enumelt // user: %5
     %13 = unchecked_take_enum_data_addr %1 : $*StreamYieldResult<count>, #StreamYieldResult.end!enumelt // users: %15, %14
In function:
// StreamYieldResult.buffer()
// Isolation: unspecified
sil [ossa] @$s15DestinyDefaults17StreamYieldResultO6buffers11InlineArrayVyxs5UInt8VGyF : $@convention(method) <let count : Int> (@in_guaranteed StreamYieldResult<count>) -> @out InlineArray<count, UInt8> {
// %0 "$return_value"                             // users: %20, %9
// %1 "self"                                      // users: %13, %4, %3, %2
bb0(%0 : $*InlineArray<count, UInt8>, %1 : $*StreamYieldResult<count>):
  debug_value %1, let, name "self", argno 1, expr op_deref // id: %2
  switch_enum_addr %1, case #StreamYieldResult.literal!enumelt: bb1, case #StreamYieldResult.end!enumelt: bb2 // id: %3

bb1:                                              // Preds: bb0
  %4 = unchecked_take_enum_data_addr %1, #StreamYieldResult.literal!enumelt // user: %5
  %5 = tuple_element_addr %4, 0                   // user: %7
  %6 = alloc_stack [var_decl] $InlineArray<count, UInt8>, let, name "b" // users: %11, %10, %9, %8, %7
  copy_addr [take] %5 to [init] %6                // id: %7
  debug_value %6, let, name "b"                   // id: %8
  copy_addr %6 to [init] %0                       // id: %9
  destroy_addr %6                                 // id: %10
  dealloc_stack %6                                // id: %11
  br bb3                                          // id: %12

bb2:                                              // Preds: bb0
  %13 = unchecked_take_enum_data_addr %1, #StreamYieldResult.end!enumelt // users: %15, %14
  %14 = tuple_element_addr %13, 0                 // user: %18
  %15 = tuple_element_addr %13, 1                 // user: %16
  %16 = load [trivial] %15
  %17 = alloc_stack [var_decl] $InlineArray<count, UInt8>, let, name "b" // users: %22, %21, %20, %19, %18
  copy_addr [take] %14 to [init] %17              // id: %18
  debug_value %17, let, name "b"                  // id: %19
  copy_addr %17 to [init] %0                      // id: %20
  destroy_addr %17                                // id: %21
  dealloc_stack %17                               // id: %22
  br bb3                                          // id: %23

bb3:                                              // Preds: bb2 bb1
  %24 = tuple ()                                  // user: %25
  return %24                                      // id: %25
} // end sil function '$s15DestinyDefaults17StreamYieldResultO6buffers11InlineArrayVyxs5UInt8VGyF'

Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend -frontend -c /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/Application.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/AsyncHTTPChunkDataStream.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/Charset.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/DestinyDefaults.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/HTTPRequestMethod.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/HTTPResponseMessage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/HTTPResponseMessageHead.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/HTTPServer.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/HTTPSocket.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/HTTPStartLine.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/NonCopyableHTTPServer.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/Request+Storage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/Request.swift -primary-file /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/RequestBody.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/cookies/HTTPCookie.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/cookies/HTTPCookieFlag.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/cookies/HTTPCookieStorageProtocol.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/extensions/SequenceExtensions.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/extensions/SwiftCompressionExtensions.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/headers/HTTPNonStandardRequestHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/headers/HTTPNonStandardResponseHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/headers/HTTPStandardRequestHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/headers/HTTPStandardResponseHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeApplication.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeAudio.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeFont.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeHaptics.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeImage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeMessage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeModel.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeMultipart.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeText.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/mediaTypes/HTTPMediaTypeVideo.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/requestMethods/HTTPNonStandardRequestMethods.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/requestMethods/HTTPStandardRequestMethods.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/responseStatuses/HTTPNonStandardResponseStatus.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/generated/responseStatuses/HTTPStandardResponseStatus.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/headers/HTTPRequestHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/headers/HTTPResponseHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/mediaTypes/HTTPMediaTypes.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/StaticFileMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/StaticMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/compiled/CompiledStaticMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/dynamic/DynamicCORSLogic.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/dynamic/DynamicCORSMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/dynamic/DynamicDateMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/dynamic/DynamicMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/dynamic/DynamicRateLimitMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/dynamic/ExistentialDynamicMiddleware.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/middleware/storage/CompiledDynamicMiddlewareStorage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/ConditionalRouteResponder.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/DynamicRouteResponder.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/NonCopyableStaticErrorResponder.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/StaticErrorResponder.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/responses/MacroExpansionWithDateHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/responses/NonCopyableMacroExpansionWithDateHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/responses/RouteResponses+MacroExpansion.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/responses/RouteResponses.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/responses/StreamWithDateHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/ResponseBody+MacroExpansion.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/ResponseBody+MacroExpansionWithDateHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/ResponseBody.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/ResponseBodyValueProtocol.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/StringWithDateHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/bytes/ResponseBody+Bytes.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/bytes/ResponseBody+InlineBytes.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/bytes/ResponseBody+NonCopyableBytes.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/bytes/ResponseBody+NonCopyableInlineBytes.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/staticstring/NonCopyableStaticStringWithDateHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/responders/results/staticstring/StaticStringWithDateHeader.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/routes/DynamicResponse.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/routes/DynamicRoute.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/routes/RouteGroup.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/routes/StaticRedirectionRoute.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/routes/StaticRoute.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/routes/compiled/CompiledRouteGroup.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/storage/CaseInsensitiveStaticResponderStorage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/storage/CaseSensitiveStaticResponderStorage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/storage/DynamicResponderStorage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/storage/RouteGroupStorage.swift /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/storage/compiled/CompiledDynamicResponderStorage.swift -emit-dependencies-path /home/paradigm/Desktop/GitProjects/destiny/.build/x86_64-unknown-linux-gnu/debug/DestinyDefaults-tool.build/RequestBody.d -emit-reference-dependencies-path /home/paradigm/Desktop/GitProjects/destiny/.build/x86_64-unknown-linux-gnu/debug/DestinyDefaults-tool.build/RequestBody.swiftdeps -serialize-diagnostics-path /home/paradigm/Desktop/GitProjects/destiny/.build/x86_64-unknown-linux-gnu/debug/DestinyDefaults-tool.build/RequestBody.dia -target x86_64-unknown-linux-gnu -disable-objc-interop -I /home/paradigm/Desktop/GitProjects/destiny/.build/x86_64-unknown-linux-gnu/debug/Modules-tool -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path /home/paradigm/Desktop/GitProjects/destiny/.build/x86_64-unknown-linux-gnu/debug/ModuleCache -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D InlineAlways -D Inlinable -empty-abi-descriptor -enable-anonymous-context-mangled-names -file-compilation-dir /home/paradigm/Desktop/GitProjects/destiny -Xcc -fmodule-map-file=/home/paradigm/Desktop/GitProjects/destiny/.build/checkouts/CEpoll/module.modulemap -Xcc -fPIC -Xcc -g -Xcc -fno-omit-frame-pointer -no-auto-bridging-header-chaining -module-name DestinyDefaults -package-name destiny -in-process-plugin-server-path /home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/lib/swift/host/plugins -plugin-path /home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/local/lib/swift/host/plugins -parse-as-library -o /home/paradigm/Desktop/GitProjects/destiny/.build/x86_64-unknown-linux-gnu/debug/DestinyDefaults-tool.build/RequestBody.swift.o -index-store-path /home/paradigm/Desktop/GitProjects/destiny/.build/x86_64-unknown-linux-gnu/debug/index/store -index-system-modules
1.      Swift version 6.2-dev (LLVM d04575f608ab42f, Swift cbcef93a5469a1a)
2.      Compiling with the current language version
3.      While evaluating request ASTLoweringRequest(Lowering AST to SIL for file "/home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/RequestBody.swift")
4.      While silgen emitFunction SIL function "@$s15DestinyDefaults17StreamYieldResultO6buffers11InlineArrayVyxs5UInt8VGyF".
 for 'buffer()' (at /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/RequestBody.swift:115:16)
5.      While verifying SIL function "@$s15DestinyDefaults17StreamYieldResultO6buffers11InlineArrayVyxs5UInt8VGyF".
 for 'buffer()' (at /home/paradigm/Desktop/GitProjects/destiny/Sources/DestinyDefaults/RequestBody.swift:115:16)
 #0 0x0000556fe8732ef8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0x8c8fef8)
 #1 0x0000556fe8730a9e llvm::sys::RunSignalHandlers() (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0x8c8da9e)
 #2 0x0000556fe8733591 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007fac2383e540 (/usr/lib/libc.so.6+0x3e540)
 #4 0x00007fac2389894c (/usr/lib/libc.so.6+0x9894c)
 #5 0x00007fac2383e410 raise (/usr/lib/libc.so.6+0x3e410)
 #6 0x00007fac2382557a abort (/usr/lib/libc.so.6+0x2557a)
 #7 0x0000556fe17ae552 (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0x1d0b552)
 #8 0x0000556fe17b96c2 swift::SILVisitorBase<(anonymous namespace)::SILVerifier, void>::visitSILBasicBlock(swift::SILBasicBlock*) SILVerifier.cpp:0:0
 #9 0x0000556fe17b940f (anonymous namespace)::SILVerifier::visitSILBasicBlock(swift::SILBasicBlock*) SILVerifier.cpp:0:0
#10 0x0000556fe17b762b (anonymous namespace)::SILVerifier::visitSILFunction(swift::SILFunction*) SILVerifier.cpp:0:0
#11 0x0000556fe17aefee swift::SILFunction::verify(swift::CalleeCache*, bool, bool, bool) const (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0x1d0bfee)
#12 0x0000556fe1241a87 swift::Lowering::SILGenModule::postEmitFunction(swift::SILDeclRef, swift::SILFunction*) crtstuff.c:0:0
#13 0x0000556fe124104d swift::Lowering::SILGenModule::emitFunctionDefinition(swift::SILDeclRef, swift::SILFunction*) crtstuff.c:0:0
#14 0x0000556fe124268e swift::Lowering::SILGenModule::emitOrDelayFunction(swift::SILDeclRef) crtstuff.c:0:0
#15 0x0000556fe123f56c swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) crtstuff.c:0:0
#16 0x0000556fe1378232 (anonymous namespace)::SILGenType::visitFuncDecl(swift::FuncDecl*) SILGenType.cpp:0:0
#17 0x0000556fe137348c (anonymous namespace)::SILGenType::emitType() SILGenType.cpp:0:0
#18 0x0000556fe13733d8 swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) crtstuff.c:0:0
#19 0x0000556fe1245973 swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*) crtstuff.c:0:0
#20 0x0000556fe12460d4 swift::ASTLoweringRequest::evaluate(swift::Evaluator&, swift::ASTLoweringDescriptor) const (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0x17a30d4)
#21 0x0000556fe1358e56 swift::SimpleRequest<swift::ASTLoweringRequest, std::unique_ptr<swift::SILModule, std::default_delete<swift::SILModule>> (swift::ASTLoweringDescriptor), (swift::RequestFlags)17>::evaluateRequest(swift::ASTLoweringRequest const&, swift::Evaluator&) crtstuff.c:0:0
#22 0x0000556fe124b203 swift::ASTLoweringRequest::OutputType swift::Evaluator::getResultUncached<swift::ASTLoweringRequest, swift::ASTLoweringRequest::OutputType swift::evaluateOrFatal<swift::ASTLoweringRequest>(swift::Evaluator&, swift::ASTLoweringRequest)::'lambda'()>(swift::ASTLoweringRequest const&, swift::ASTLoweringRequest::OutputType swift::evaluateOrFatal<swift::ASTLoweringRequest>(swift::Evaluator&, swift::ASTLoweringRequest)::'lambda'()) crtstuff.c:0:0
#23 0x0000556fe1246a8f swift::performASTLowering(swift::FileUnit&, swift::Lowering::TypeConverter&, swift::SILOptions const&, swift::IRGenOptions const*) (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0x17a3a8f)
#24 0x0000556fe0a0227f swift::performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0xf5f27f)
#25 0x0000556fe0a1843a withSemanticAnalysis(swift::CompilerInstance&, swift::FrontendObserver*, llvm::function_ref<bool (swift::CompilerInstance&)>, bool) FrontendTool.cpp:0:0
#26 0x0000556fe0a07820 performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) FrontendTool.cpp:0:0
#27 0x0000556fe0a04531 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0xf61531)
#28 0x0000556fe0777aab swift::mainEntry(int, char const**) (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0xcd4aab)
#29 0x00007fac23827675 (/usr/lib/libc.so.6+0x27675)
#30 0x00007fac23827729 __libc_start_main (/usr/lib/libc.so.6+0x27729)
#31 0x0000556fe0776b05 _start (/home/paradigm/.local/share/swiftly/toolchains/main-snapshot-2025-09-04/usr/bin/swift-frontend+0xcd3b05)

*** Signal 6: Backtracing from 0x7fac2391876d... done ***

*** Program crashed: Aborted at 0x000003e800015aaa ***

Platform: x86_64 Linux (Arch Linux)

Thread 0 "swift-frontend" crashed:

  0  0x00007fac2391876d <unknown> in libc.so.6
...


Registers:

rax 0x0000000000000000  0
rdx 0x0000000000000006  6
rcx 0x00007fac2391876d  48 3d 01 f0 ff ff 73 01 c3 48 8b 0d 73 05 0f 00  H=·ðÿÿs·ÃH··s···
rbx 0x0000000000000006  6
rsi 0x0000000000015aaa  88746
rdi 0x0000000000015aaa  88746
rbp 0x0000000000015aaa  88746
rsp 0x000055702ac4d068  bb 35 73 e8 6f 55 00 00 f0 d2 c4 2a 70 55 00 00  »5sèoU··ðÒÄ*pU··
 r8 0x000055702ac4d2f0  06 00 00 00 00 00 00 00 fa ff ff ff 00 00 00 00  ········úÿÿÿ····
 r9 0x000055702ac4d2f0  06 00 00 00 00 00 00 00 fa ff ff ff 00 00 00 00  ········úÿÿÿ····
r10 0x000055702ac4d2f0  06 00 00 00 00 00 00 00 fa ff ff ff 00 00 00 00  ········úÿÿÿ····
r11 0x0000000000000246  582
r12 0x000055702b42c830  10 e8 fd ec 6f 55 00 00 ff ff ff ff ff ff ff ff  ·èýìoU··ÿÿÿÿÿÿÿÿ
r13 0x0000000000000000  0
r14 0x0000000000000000  0
r15 0x000055702ac4d108  ff ff ff 7f fe ff ff ff 00 00 00 00 00 00 00 00  ÿÿÿ·þÿÿÿ········
rip 0x00007fac2391876d  48 3d 01 f0 ff ff 73 01 c3 48 8b 0d 73 05 0f 00  H=·ðÿÿs·ÃH··s···

rflags 0x0000000000000246  ZF PF

cs 0x0033  fs 0x0000  gs 0x0000


Images (36 omitted):

0x00007fac23800000–0x00007fac23995bd9 4fe011c94a88e8aeb6f2201b9eb369f42b4a1e9e libc.so.6 /usr/lib/libc.so.6

Backtrace took 0.01s

Expected behavior

Successful compilation or compiler diagnostic

Environment

Swift

Swift version 6.2-dev (LLVM d04575f608ab42f, Swift cbcef93)
Target: x86_64-unknown-linux-gnu
Build config: +assertions

Swiftly

1.0.0

OS

Arch Linux (6.16.4-arch1-1)

IDE

VS Code (1.103.1)

Swift (VS Code Extension)

2.8.0

Additional information

  1. Relates to [SR-13210] Forward mode differentiation SIL verification crash #55650 .
  2. Using case let causes a similar but different crash.
  3. Switching over the enum outside self doesn't crash the compiler (it does)

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