@swift-ci please smoke test
You should be able to go around and remove all the:
init(transport: ActorTransport) {
defer { transport.actorReady(self) } // FIXME(distributed): rdar://81783599 this should be injected automatically
}
now btw.
Looking good so far :)
At this point, I just need to write SIL tests and update the existing ones (such as removing those defer
lines!). What's known to be working:
What's yet to be evaluated or implemented:
@swift-ci please smoke test
Failure was weird driver issue, restarting
254 | selfArg = selfArg.borrow(*this, loc); | ||
255 | emitTransportInit(*this, ctor, loc, selfArg); | ||
256 | emitIdentityInit(*this, ctor, loc, selfArg); | ||
388 | 257 | } |
thanks for the great cleanups here by the way 👍
182 | 182 | case BuiltinValueKind::InitializeDefaultActor: | |
183 | 183 | case BuiltinValueKind::DestroyDefaultActor: | |
184 | 184 | case BuiltinValueKind::InitializeDistributedRemoteActor: | |
185 | case BuiltinValueKind::DestroyDistributedActor: |
yep, good to remove -- thank you
128 | |||
129 | } | ||
130 | |||
131 |
Thanks a lot for those tests -- they're annoying to write heh... :)
@swift-ci please smoke test and merge
@swift-ci please smoke test and merge
@swift-ci please smoke test and merge
Hm, unrelated failure:
13:28:51 Test Suite 'RepositoryManagerTests' started at 2021-10-22 20:28:38.257
13:28:51 Test Case 'RepositoryManagerTests.testBasics' started at 2021-10-22 20:28:38.257
13:28:51
/home/buildnode/jenkins/workspace/swift-PR-Linux-smoke-test/branch-main/swiftpm/Tests/SourceControlTests/RepositoryManagerTests.swift:309: error: RepositoryManagerTests.testBasics : Asynchronous wait failed - Exceeded timeout of 1.0 seconds, with unfulfilled expectations: Repository lookup expectation
13:28:51 Test Case 'RepositoryManagerTests.testBasics' failed (2.229 seconds)
@swift-ci please smoke test Linux platform
PR testing is blocked. Looks like this could be due to this PR.
I am trying to rectify this here: #39892
Probably, we just need availability restrictions on the attribute in the test for the other platforms too.
Failed Tests (2):
Swift(iphonesimulator-x86_64) :: Distributed/SIL/distributed_actor_default_deinit_sil.swift
Swift(iphonesimulator-x86_64) :: Distributed/SIL/distributed_actor_default_init_sil.swift
******************** TEST 'Swift(iphonesimulator-x86_64) :: Distributed/SIL/distributed_actor_default_deinit_sil.swift' FAILED ********************
Script:
--
: 'RUN: at line 1'; /Users/buildnode/jenkins/workspace/oss-swift-pr-test/buildbot_incremental/swift-macosx-x86_64/bin/swift-frontend -target x86_64-apple-ios7.0-simulator -module-cache-path /Users/buildnode/jenkins/workspace/oss-swift-pr-test/buildbot_incremental/swift-macosx-x86_64/swift-test-results/x86_64-apple-ios7.0-simulator/clang-module-cache -sdk '/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.0.sdk' -swift-version 4 -define-availability 'SwiftStdlib 5.5:macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0' -typo-correction-limit 10 -module-name default_deinit -primary-file /Users/buildnode/jenkins/workspace/oss-swift-pr-test/swift/test/Distributed/SIL/distributed_actor_default_deinit_sil.swift -emit-sil -enable-experimental-distributed | /Applications/Xcode-beta.app/Contents/Developer/usr/bin/python3 /Users/buildnode/jenkins/workspace/oss-swift-pr-test/swift/utils/PathSanitizingFileCheck --allow-unused-prefixes --sanitize BUILD_DIR=/Users/buildnode/jenkins/workspace/oss-swift-pr-test/buildbot_incremental/swift-macosx-x86_64 --sanitize SOURCE_DIR=/Users/buildnode/jenkins/workspace/oss-swift-pr-test/swift --use-filecheck /Users/buildnode/jenkins/workspace/oss-swift-pr-test/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/oss-swift-pr-test/swift/test/Distributed/SIL/distributed_actor_default_deinit_sil.swift --enable-var-scope --dump-input=fail
--
Exit Code: 2
Command Output (stderr):
--
/Users/buildnode/jenkins/workspace/oss-swift-pr-test/swift/test/Distributed/SIL/distributed_actor_default_deinit_sil.swift:10:19: error: concurrency is only available in iOS 13.0.0 or newer
distributed actor MyDistActor {
^
/Users/buildnode/jenkins/workspace/oss-swift-pr-test/swift/test/Distributed/SIL/distributed_actor_default_deinit_sil.swift:10:19: note: add @available attribute to enclosing class
distributed actor MyDistActor {
^
/Users/buildnode/jenkins/workspace/oss-swift-pr-test/swift/test/Distributed/SIL/distributed_actor_default_deinit_sil.swift:10:19: error: protocol 'Hashable' requires 'hash(into:)' to be available in iOS 7.0.0 and newer
distributed actor MyDistActor {
https://ci.swift.org/job/oss-swift-pr-test/18972/consoleText
Thanks @aschwaighofer, hmmm seems the availability annotation was wrong on the added tests;
we generally skip the checks in distributed tests, or when we don't we do @available(SwiftStdlib 5.5, *)
which is a lie but that is what we currently "pretend to be" (it's under experimental flags and fine this way).
I'll try to submit a fix.
Login to write a write a comment.
A distributed actor's
init
anddeinit
should invoke the ActorTransport'sactorReady
andresignIdentity
functions, respectively, in order to notify the transport of the lifetimes of distributed actor that are bound to the transport. We're currently missing the calls toactorReady
(and for failable inits, theresignIdentity
), and this PR fixes that.Resolves: rdar://81783599