Skip to content

Assertion failed: (p.isTrackingElement(op.getOpArg1()) && "Require PartitionOp's argument should already be tracked"), function apply, file PartitionUtils.h, line 1632 #85627

@ahoppen

Description

@ahoppen

Compiling the following file with -swift-version 6 hits an assertion failure in assert toolchains and crashes in release toolchains

func test() async throws {
    try await withThrowingTaskGroup(of: Void.self) { taskGroup in
        taskGroup.addTask {
            print(chunk)
        }
        var chunk: Int32 = 0
    }
}

Stack trace

Application Specific Information:
Stack dump:
0.	Program arguments: /Users/alex/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-10-02-a.xctoolchain/usr/bin/swift-frontend -c /tmp/a.swift -swift-version 6
1.	Apple Swift version 6.3-dev (LLVM 0d0246569621d5b, Swift 199240b3fe97eda)
2.	Compiling with the current language version
3.	While evaluating request ExecuteSILPipelineRequest(Run pipelines { Mandatory Diagnostic Passes + Enabling Optimization Passes } on SIL for a)
4.	While running pass #47 SILFunctionTransform "SendNonSendable" on SILFunction "@$s1a4testyyYaKFyScgyyts5Error_pGzYaXEfU_".
for expression at [/tmp/a.swift:3:56 - line:8:9] RangeText="{ taskGroup in
taskGroup.addTask {
print(chunk)
}
var chunk: Int32 = 0
"
Assertion failed: (p.isTrackingElement(op.getOpArg1()) && "Require PartitionOp's argument should already be tracked"), function apply, file PartitionUtils.h, line 1632.


Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x180c235b0 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x180c5d888 pthread_kill + 296
2   libsystem_c.dylib             	       0x180b628e0 __abort + 132
3   libsystem_c.dylib             	       0x180b6285c abort + 136
4   libsystem_c.dylib             	       0x180b61a84 __assert_rtn + 284
5   swift-frontend                	       0x10850e2f0 <deduplicated_symbol> + 40
6   swift-frontend                	       0x1037faeec swift::regionanalysisimpl::BlockPartitionState::recomputeExitFromEntry(swift::regionanalysisimpl::PartitionOpTranslator&) + 3984
7   swift-frontend                	       0x1037fbb5c swift::RegionAnalysisFunctionInfo::runDataflow() + 1716
8   swift-frontend                	       0x1037fb460 swift::RegionAnalysisFunctionInfo::RegionAnalysisFunctionInfo(swift::SILFunction*, swift::PostOrderFunctionInfo*) + 972
9   swift-frontend                	       0x1037fc604 swift::RegionAnalysis::newFunctionAnalysis(swift::SILFunction*) + 56
10  swift-frontend                	       0x1039ff12c swift::FunctionAnalysisBase<swift::RegionAnalysisFunctionInfo>::get(swift::SILFunction*) + 80
11  swift-frontend                	       0x1039fe8c4 (anonymous namespace)::SendNonSendable::run() + 140
12  swift-frontend                	       0x103a23c18 swift::SILPassManager::runPassOnFunction(unsigned int, swift::SILFunction*) + 1328
13  swift-frontend                	       0x103a24abc swift::SILPassManager::runFunctionPasses(unsigned int, unsigned int) + 1072
14  swift-frontend                	       0x103a274b8 swift::SILPassManager::execute() + 596
15  swift-frontend                	       0x103a21b20 swift::SILPassManager::executePassPipelinePlan(swift::SILPassPipelinePlan const&) + 72
16  swift-frontend                	       0x103a21aa0 swift::ExecuteSILPipelineRequest::evaluate(swift::Evaluator&, swift::SILPipelineExecutionDescriptor) const + 68
17  swift-frontend                	       0x103a485a8 swift::SimpleRequest<swift::ExecuteSILPipelineRequest, std::__1::tuple<> (swift::SILPipelineExecutionDescriptor), (swift::RequestFlags)1>::evaluateRequest(swift::ExecuteSILPipelineRequest const&, swift::Evaluator&) + 28
18  swift-frontend                	       0x103a291ac 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'()) + 204
19  swift-frontend                	       0x103a21d18 swift::executePassPipelinePlan(swift::SILModule*, swift::SILPassPipelinePlan const&, bool, swift::irgen::IRGenModule*) + 64
20  swift-frontend                	       0x103a2a6cc swift::runSILDiagnosticPasses(swift::SILModule&) + 208
21  swift-frontend                	       0x102f65de4 swift::CompilerInstance::performSILProcessing(swift::SILModule*) + 80
22  swift-frontend                	       0x102d1a4a8 performCompileStepsPostSILGen(swift::CompilerInstance&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>>, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 820
23  swift-frontend                	       0x102d1a020 swift::performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 2128
24  swift-frontend                	       0x102d2a200 withSemanticAnalysis(swift::CompilerInstance&, swift::FrontendObserver*, llvm::function_ref<bool (swift::CompilerInstance&)>, bool) + 164
25  swift-frontend                	       0x102d1d9b0 performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 716
26  swift-frontend                	       0x102d1b120 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2408
27  swift-frontend                	       0x102a92500 swift::mainEntry(int, char const**) + 3060
28  dyld                          	       0x180895d54 start + 7184

Metadata

Metadata

Assignees

No one assigned

    Labels

    SILGenArea → compiler: The SIL generation stageassertion failureBug → crash: An assertion failureconcurrencyFeature: umbrella label for concurrency language featurescrashBug: A crash, i.e., an abnormal termination of software

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions