Open
Description
Description
No response
Reproduction
docker run --rm -it swiftlang/swift:nightly-6.2-noble@sha256:88e56928eccb5aa390f8bded66ee2ab0e30040318b347970958b21a82940cbb1 bash -c '
git clone https://github.com/MahdiBM/swift-dns
cd swift-dns
git checkout swift-bug-inline-array-3
swift build --build-tests -Xswiftc -enable-testing -c release
'
Stack dump
[26/31] Compiling DNSModels +Optional.swift
error: compile command failed due to signal 6 (use -v to see invocation)
SIL verification failed: load [copy] or load [take] can only be applied to non-trivial types: !LI->getType().isTrivial(*LI->getFunction())
Verifying instruction:
%6 = alloc_stack $UninitializedInlineArray<1, Int> // users: %10, %8, %7
-> %8 = load [take] %6 : $*UninitializedInlineArray<1, Int> // user: %9
%9 = enum $TinyArray<1, Int>.Base, #TinyArray.Base.inline!enumelt, %8 : $UninitializedInlineArray<1, Int> // user: %11
In function:
// TinyArrayTests.whenEmpty()
// Isolation: unspecified
sil [ossa] @$s8DNSTests14TinyArrayTestsV9whenEmptyyyF : $@convention(method) (TinyArrayTests) -> () {
[global: read,write,copy,destroy,allocate,deinit_barrier]
// %0 "self" // user: %1
bb0(%0 : $TinyArrayTests):
debug_value %0, let, name "self", argno 1 // id: %1
increment_profiler_counter 0, "$s8DNSTests14TinyArrayTestsV9whenEmptyyyF", num_counters 2, hash 0 // id: %2
increment_profiler_counter 0, "$s9DNSModels9TinyArrayVACyxq_GycfC", num_counters 1, hash 0 // id: %3
%4 = metatype $@thin UninitializedInlineArray<1, Int>.Type // user: %7
// function_ref UninitializedInlineArray.init()
%5 = function_ref @$s9DNSModels24UninitializedInlineArrayVACyxq_GycfC : $@convention(method) <let τ_0_0 : Int, τ_0_1> (@thin UninitializedInlineArray<τ_0_0, τ_0_1>.Type) -> @out UninitializedInlineArray<τ_0_0, τ_0_1> // user: %7
%6 = alloc_stack $UninitializedInlineArray<1, Int> // users: %10, %8, %7
%7 = apply %5<1, Int>(%6, %4) : $@convention(method) <let τ_0_0 : Int, τ_0_1> (@thin UninitializedInlineArray<τ_0_0, τ_0_1>.Type) -> @out UninitializedInlineArray<τ_0_0, τ_0_1>
%8 = load [take] %6 // user: %9
%9 = enum $TinyArray<1, Int>.Base, #TinyArray.Base.inline!enumelt, %8 // user: %11
dealloc_stack %6 // id: %10
%11 = struct $TinyArray<1, Int> (%9) // users: %18, %12
debug_value %11, let, name "array" // id: %12
%13 = alloc_stack [var_decl] $TinyArray<1, Int>.Iterator, var, name "$num$generator", type $TinyArray<1, Int>.Iterator // users: %102, %24, %28, %103
%14 = alloc_stack $TinyArray<1, Int>.Iterator // users: %23, %22, %20
increment_profiler_counter 0, "$s9DNSModels9TinyArrayV12makeIteratorAC0E0Vyxq__GyF", num_counters 1, hash 0 // id: %15
%16 = metatype $@thin TinyArray<1, Int>.Iterator.Type // user: %20
%17 = alloc_stack $TinyArray<1, Int> // users: %21, %20, %18
store %11 to [init] %17 // id: %18
// function_ref TinyArray.Iterator.init(base:)
%19 = function_ref @$s9DNSModels9TinyArrayV8IteratorV4baseAEyxq__GACyxq_G_tcfC : $@convention(method) <let τ_0_0 : Int, τ_0_1> (@in TinyArray<τ_0_0, τ_0_1>, @thin TinyArray<τ_0_0, τ_0_1>.Iterator.Type) -> @out TinyArray<τ_0_0, τ_0_1>.Iterator // user: %20
%20 = apply %19<1, Int>(%14, %17, %16) : $@convention(method) <let τ_0_0 : Int, τ_0_1> (@in TinyArray<τ_0_0, τ_0_1>, @thin TinyArray<τ_0_0, τ_0_1>.Iterator.Type) -> @out TinyArray<τ_0_0, τ_0_1>.Iterator
dealloc_stack %17 // id: %21
%22 = load [take] %14 // user: %24
dealloc_stack %14 // id: %23
store %22 to [init] %13 // id: %24
// function_ref TinyArray.Iterator.next()
%25 = function_ref @$s9DNSModels9TinyArrayV8IteratorV4nextq_SgyF : $@convention(method) <let τ_0_0 : Int, τ_0_1> (@inout TinyArray<τ_0_0, τ_0_1>.Iterator) -> @out Optional<τ_0_1> // user: %28
br bb1 // id: %26
bb1: // Preds: bb2 bb0
%27 = alloc_stack $Optional<Int> // users: %30, %29, %28
%28 = apply %25<1, Int>(%27, %13) : $@convention(method) <let τ_0_0 : Int, τ_0_1> (@inout TinyArray<τ_0_0, τ_0_1>.Iterator) -> @out Optional<τ_0_1>
%29 = load [trivial] %27 // users: %60, %31
dealloc_stack %27 // id: %30
switch_enum %29, case #Optional.some!enumelt: bb2, case #Optional.none!enumelt: bb3 // id: %31
bb2(%32 : $Int): // Preds: bb1
increment_profiler_counter 1, "$s8DNSTests14TinyArrayTestsV9whenEmptyyyF", num_counters 2, hash 0 // id: %33
%34 = alloc_stack $Issue // users: %96, %100, %93
%35 = metatype $@thin Issue.Type // user: %93
%36 = alloc_stack $Optional<Comment> // users: %95, %99, %93, %75, %37
%37 = init_enum_data_addr %36, #Optional.some!enumelt // user: %74
%38 = alloc_stack [lexical] [var_decl] $Comment.StringInterpolation // users: %53, %64, %69, %74, %98, %45
%39 = integer_literal $Builtin.Int64, 37 // user: %40
%40 = struct $Int (%39) // user: %45
%41 = integer_literal $Builtin.Int64, 1 // user: %42
%42 = struct $Int (%41) // user: %45
%43 = metatype $@thin Comment.StringInterpolation.Type // user: %45
// function_ref Comment.StringInterpolation.init(literalCapacity:interpolationCount:)
%44 = function_ref @$s7Testing7CommentV19StringInterpolationV15literalCapacity18interpolationCountAESi_SitcfC : $@convention(method) (Int, Int, @thin Comment.StringInterpolation.Type) -> @out Comment.StringInterpolation // user: %45
%45 = apply %44(%38, %40, %42, %43) : $@convention(method) (Int, Int, @thin Comment.StringInterpolation.Type) -> @out Comment.StringInterpolation
%46 = string_literal utf8 "Expected the array to be empty. Num: " // user: %51
%47 = integer_literal $Builtin.Word, 37 // user: %51
destroy_addr %76 // id: %94
destroy_addr %36 // id: %95
destroy_addr %34 // id: %96
dealloc_stack %76 // id: %97
dealloc_stack %38 // id: %98
dealloc_stack %36 // id: %99
dealloc_stack %34 // id: %100
br bb1 // id: %101
bb3: // Preds: bb1
destroy_addr %13 // id: %102
dealloc_stack %13 // id: %103
%104 = tuple () // user: %105
return %104 // id: %105
} // end sil function '$s8DNSTests14TinyArrayTestsV9whenEmptyyyF'
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0. Program arguments: /usr/bin/swift-frontend -frontend -c /__w/swift-dns/swift-dns/Tests/DNSTests/DNSTests.swift /__w/swift-dns/swift-dns/Tests/DNSTests/HeaderTests.swift /__w/swift-dns/swift-dns/Tests/DNSTests/NameTests.swift /__w/swift-dns/swift-dns/Tests/DNSTests/Resources.swift /__w/swift-dns/swift-dns/Tests/DNSTests/TinyArrayTests.swift -supplementary-output-file-map /tmp/TemporaryDirectory.RGDHQ9/supplementaryOutputs-1 -target x86_64-unknown-linux-gnu -disable-objc-interop -I /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/Modules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/ModuleCache -profile-generate -profile-coverage-mapping -swift-version 6 -O -D SWIFT_PACKAGE -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -enable-cross-import-overlays -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature InternalImportsByDefault -enable-upcoming-feature ExistentialAny -empty-abi-descriptor -file-compilation-dir /__w/swift-dns/swift-dns -Xcc -fmodule-map-file=/__w/swift-dns/swift-dns/.build/checkouts/swift-atomics/Sources/_AtomicsShims/include/module.modulemap -Xcc -I -Xcc /__w/swift-dns/swift-dns/.build/checkouts/swift-atomics/Sources/_AtomicsShims/include -Xcc -fmodule-map-file=/__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/CNIOWASI.build/module.modulemap -Xcc -I -Xcc /__w/swift-dns/swift-dns/.build/checkouts/swift-nio/Sources/CNIOWASI/include -Xcc -fmodule-map-file=/__w/swift-dns/swift-dns/.build/checkouts/swift-nio/Sources/CNIOWindows/include/module.modulemap -Xcc -I -Xcc /__w/swift-dns/swift-dns/.build/checkouts/swift-nio/Sources/CNIOWindows/include -Xcc -fmodule-map-file=/__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/CNIOLinux.build/module.modulemap -Xcc -I -Xcc /__w/swift-dns/swift-dns/.build/checkouts/swift-nio/Sources/CNIOLinux/include -Xcc -fmodule-map-file=/__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/CNIODarwin.build/module.modulemap -Xcc -I -Xcc /__w/swift-dns/swift-dns/.build/checkouts/swift-nio/Sources/CNIODarwin/include -Xcc -fmodule-map-file=/__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/CNIOAtomics.build/module.modulemap -Xcc -I -Xcc /__w/swift-dns/swift-dns/.build/checkouts/swift-nio/Sources/CNIOAtomics/include -Xcc -fPIC -Xcc -g -Xcc -fno-omit-frame-pointer -no-auto-bridging-header-chaining -module-name DNSTests -package-name swift_dns -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -enable-default-cmo -parse-as-library -num-threads 4 -o /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/DNSTests.build/DNSTests.swift.o -o /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/DNSTests.build/HeaderTests.swift.o -o /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/DNSTests.build/NameTests.swift.o -o /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/DNSTests.build/Resources.swift.o -o /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/DNSTests.build/TinyArrayTests.swift.o -index-store-path /__w/swift-dns/swift-dns/.build/x86_64-unknown-linux-gnu/release/index/store -index-system-modules
1. Swift version 6.2-dev (LLVM 739191e93776a37, Swift ee5f4df5ee0a9f9)
2. Compiling with the current language version
3. 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 DNSTests)
4. While running pass #207060 SILFunctionTransform "OwnershipModelEliminator" on SILFunction "@$s8DNSTests14TinyArrayTestsV9whenEmptyyyF".
for 'whenEmpty()' (at /__w/swift-dns/swift-dns/Tests/DNSTests/TinyArrayTests.swift:6:11)
5. Found verification error when verifying before lowering ownership. Please re-run with -sil-verify-all to identify the actual pass that introduced the verification error.
6. While verifying SIL function "@$s8DNSTests14TinyArrayTestsV9whenEmptyyyF".
for 'whenEmpty()' (at /__w/swift-dns/swift-dns/Tests/DNSTests/TinyArrayTests.swift:6:11)
#0 0x000055d533622af8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/bin/swift-frontend+0x8c20af8)
#1 0x000055d53362069e llvm::sys::RunSignalHandlers() (/usr/bin/swift-frontend+0x8c1e69e)
#2 0x000055d533623191 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007f550f7e0330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
#4 0x00007f550f839b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
#5 0x00007f550f7e027e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
#6 0x00007f550f7c38ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
#7 0x000055d52cd52ef9 (/usr/bin/swift-frontend+0x2350ef9)
#8 0x000055d52cd7ddc1 swift::SILVisitorBase<(anonymous namespace)::SILVerifier, void>::visitSILBasicBlock(swift::SILBasicBlock*) SILVerifier.cpp:0:0
#9 0x000055d52cd5d8af (anonymous namespace)::SILVerifier::visitSILBasicBlock(swift::SILBasicBlock*) SILVerifier.cpp:0:0
#10 0x000055d52cd5bccb (anonymous namespace)::SILVerifier::visitSILFunction(swift::SILFunction*) SILVerifier.cpp:0:0
#11 0x000055d52cd539fe swift::SILFunction::verify(swift::CalleeCache*, bool, bool, bool) const (/usr/bin/swift-frontend+0x23519fe)
#12 0x000055d52c8d95c0 (anonymous namespace)::OwnershipModelEliminator::run() OwnershipModelEliminator.cpp:0:0
#13 0x000055d52c32f8d0 swift::SILPassManager::runPassOnFunction(unsigned int, swift::SILFunction*) (/usr/bin/swift-frontend+0x192d8d0)
#14 0x000055d52c330ae1 swift::SILPassManager::runFunctionPasses(unsigned int, unsigned int) (/usr/bin/swift-frontend+0x192eae1)
#15 0x000055d52c32d538 swift::SILPassManager::executePassPipelinePlan(swift::SILPassPipelinePlan const&) (/usr/bin/swift-frontend+0x192b538)
#16 0x000055d52c32d4ed swift::ExecuteSILPipelineRequest::evaluate(swift::Evaluator&, swift::SILPipelineExecutionDescriptor) const (/usr/bin/swift-frontend+0x192b4ed)
#17 0x000055d52c3501da swift::SimpleRequest<swift::ExecuteSILPipelineRequest, std::tuple<> (swift::SILPipelineExecutionDescriptor), (swift::RequestFlags)1>::evaluateRequest(swift::ExecuteSILPipelineRequest const&, swift::Evaluator&) crtstuff.c:0:0
#18 0x000055d52c33b796 swift::ExecuteSILPipelineRequest::OutputType swift::Evaluator::getResultUncached<swift::ExecuteSILPipelineRequest, swift::ExecuteSILPipelineRequest::OutputType swift::evaluateOrFatal<swift::ExecuteSILPipelineRequest>(swift::Evaluator&, swift::ExecuteSILPipelineRequest)::'lambda'()>(swift::ExecuteSILPipelineRequest const&, swift::ExecuteSILPipelineRequest::OutputType swift::evaluateOrFatal<swift::ExecuteSILPipelineRequest>(swift::Evaluator&, swift::ExecuteSILPipelineRequest)::'lambda'()) crtstuff.c:0:0
#19 0x000055d52c32d72f swift::executePassPipelinePlan(swift::SILModule*, swift::SILPassPipelinePlan const&, bool, swift::irgen::IRGenModule*) (/usr/bin/swift-frontend+0x192b72f)
#20 0x000055d52c33d1eb swift::runSILOptimizationPasses(swift::SILModule&) (/usr/bin/swift-frontend+0x193b1eb)
#21 0x000055d52bcaae3e swift::CompilerInstance::performSILProcessing(swift::SILModule*) (/usr/bin/swift-frontend+0x12a8e3e)
#22 0x000055d52b942597 performCompileStepsPostSILGen(swift::CompilerInstance&, std::unique_ptr<swift::SILModule, std::default_delete<swift::SILModule>>, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) FrontendTool.cpp:0:0
#23 0x000055d52b941902 swift::performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) (/usr/bin/swift-frontend+0xf3f902)
#24 0x000055d52b9531ea withSemanticAnalysis(swift::CompilerInstance&, swift::FrontendObserver*, llvm::function_ref<bool (swift::CompilerInstance&)>, bool) FrontendTool.cpp:0:0
#25 0x000055d52b9443be performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) FrontendTool.cpp:0:0
#26 0x000055d52b943503 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/usr/bin/swift-frontend+0xf41503)
#27 0x000055d52b6ce36a swift::mainEntry(int, char const**) (/usr/bin/swift-frontend+0xccc36a)
#28 0x00007f550f7c51ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
#29 0x00007f550f7c528b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
#30 0x000055d52b6cd365 _start (/usr/bin/swift-frontend+0xccb365)
Expected behavior
No compiler crash.
Environment
Nightly docker image: swiftlang/swift:nightly-6.2-noble@sha256: 88e56928eccb5aa390f8bded66ee2ab0e30040318b347970958b21a82940cbb1
Works fine on Xcode 26 beta 2.
Additional information
No response