Skip to content
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

DistributedActor as Actor witness already known crash in DistributedCluster library #73702

Closed
ktoso opened this issue May 17, 2024 · 2 comments · Fixed by #73781
Closed

DistributedActor as Actor witness already known crash in DistributedCluster library #73702

ktoso opened this issue May 17, 2024 · 2 comments · Fixed by #73781
Labels
crash Bug: A crash, i.e., an abnormal termination of software distributed Feature → concurrency: distributed actor

Comments

@ktoso
Copy link
Member

ktoso commented May 17, 2024

This is not a "still" but a new issue / regression in 6.0, so making a new issue for it.

We're working on it actively actually, it is a 6.0 regression.

Radar tracking: rdar://127206143


          Reproducer still crashes with the 05/24 toolchain. Stack trace looks a bit different from the original issue.
4.	While evaluating request ASTLoweringRequest(Lowering AST to SIL for file "/Users/kshitij/workspace/scratch/swift-distributed-actors/Sources/DistributedCluster/Plugins/ClusterSingleton/ClusterSingletonBoss.swift")
5.	While generating SIL witness table protocol conformance Self: Actor at extension of DistributedActor (in module 'Distributed')
6.	While reading from module 'Distributed', builder version '6.0(5.10)/Apple Swift version 6.0-dev (LLVM b66077aefd3be08, Swift 84d36181a762913)', built from swiftinterface, resilient, loaded from '/Users/kshitij/workspace/scratch/swift-distributed-actors/Samples/.build/arm64-apple-macosx/debug/ModuleCache/Distributed-3DIVDCQGHH6N9.swiftmodule'
7.	While finishing conformance for protocol conformance Self: Actor at extension of DistributedActor (in module 'Distributed')
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):
0  swift-frontend           0x0000000105c91600 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  swift-frontend           0x0000000105c8fdcc llvm::sys::RunSignalHandlers() + 112
2  swift-frontend           0x0000000105c91c48 SignalHandler(int) + 304
3  libsystem_platform.dylib 0x00000001a3286a24 _sigtramp + 56
4  libsystem_pthread.dylib  0x00000001a3257c28 pthread_kill + 288
5  libsystem_c.dylib        0x00000001a3165ae8 abort + 180
6  libsystem_c.dylib        0x00000001a3164e44 err + 0
7  swift-frontend           0x00000001061da454 swift::NormalProtocolConformance::setWitness(swift::ValueDecl*, swift::Witness) const (.cold.7) + 0
8  swift-frontend           0x000000010207f6bc swift::NormalProtocolConformance::setWitness(swift::ValueDecl*, swift::Witness) const + 192
9  swift-frontend           0x0000000101519d34 swift::ModuleFile::finishNormalConformance(swift::NormalProtocolConformance*, unsigned long long) + 3840
10 swift-frontend           0x000000010207da58 swift::NormalProtocolConformance::getWitness(swift::ValueDecl*) const + 88
11 swift-frontend           0x0000000100f3e2c4 (anonymous namespace)::SILGenWitnessTable<(anonymous namespace)::SILGenConformance>::addMethod(swift::SILDeclRef) + 128
12 swift-frontend           0x0000000100f3e1c0 void llvm::function_ref<void (swift::AccessorDecl*)>::callback_fn<swift::SILWitnessVisitor<(anonymous namespace)::SILGenConformance>::visitAbstractStorageDecl(swift::AbstractStorageDecl*)::'lambda'(swift::AccessorDecl*)>(long, swift::AccessorDecl*) + 132
13 swift-frontend           0x0000000101ec0074 swift::AbstractStorageDecl::visitExpectedOpaqueAccessors(llvm::function_ref<void (swift::AccessorKind)>) const + 68
14 swift-frontend           0x0000000101ebfe9c swift::AbstractStorageDecl::visitOpaqueAccessors(llvm::function_ref<void (swift::AccessorDecl*)>) const + 40
15 swift-frontend           0x0000000100f3dee8 swift::SILWitnessVisitor<(anonymous namespace)::SILGenConformance>::visitProtocolDecl(swift::ProtocolDecl*) + 1800
16 swift-frontend           0x0000000100f3b6b0 swift::Lowering::SILGenModule::getWitnessTable(swift::NormalProtocolConformance*) + 324
17 swift-frontend           0x0000000100e42920 swift::ASTLoweringRequest::evaluate(swift::Evaluator&, swift::ASTLoweringDescriptor) const + 2120
18 swift-frontend           0x0000000100f2aecc swift::SimpleRequest<swift::ASTLoweringRequest, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>> (swift::ASTLoweringDescriptor), (swift::RequestFlags)9>::evaluateRequest(swift::ASTLoweringRequest const&, swift::Evaluator&) + 148
19 swift-frontend           0x0000000100e47d3c 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'()) + 340
20 swift-frontend           0x0000000100e42d4c swift::performASTLowering(swift::FileUnit&, swift::Lowering::TypeConverter&, swift::SILOptions const&, swift::IRGenOptions const*) + 96
21 swift-frontend           0x000000010082c22c swift::performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 568
22 swift-frontend           0x000000010083d4cc withSemanticAnalysis(swift::CompilerInstance&, swift::FrontendObserver*, llvm::function_ref<bool (swift::CompilerInstance&)>, bool) + 160
23 swift-frontend           0x000000010082e868 performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 708
24 swift-frontend           0x000000010082d7d4 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2368
25 swift-frontend           0x00000001006489cc swift::mainEntry(int, char const**) + 3096
26 dyld                     0x00000001a2efff28 start + 2236

Originally posted by @jkshtj in #62898 (comment)

@ktoso ktoso changed the title Reproducer still crashes with the 05/24 toolchain. Stack trace looks a bit different from the original issue. DistributedActor as Actor witness already known crash in DistributedCluster library May 17, 2024
@ktoso ktoso added distributed Feature → concurrency: distributed actor crash Bug: A crash, i.e., an abnormal termination of software labels May 17, 2024
@ktoso
Copy link
Member Author

ktoso commented May 27, 2024

Incoming fix #73781

@ktoso
Copy link
Member Author

ktoso commented May 27, 2024

For Apple tracking, this is a dupe of rdar://127206143 and fix is incoming ^^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash Bug: A crash, i.e., an abnormal termination of software distributed Feature → concurrency: distributed actor
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant