Skip to content

Generated code for XCTest on non-Darwin needs to be actor-isolated. #7566

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

Merged
merged 1 commit into from
May 15, 2024

Conversation

grynspan
Copy link
Contributor

@grynspan grynspan commented May 15, 2024

On Linux, Windows, etc. (anywhere that uses swift-corelibs-xctest instead of XCTest.framework), SwiftPM is responsible for generating an entry point function that passes in all tests discovered at compile time. The compiler cannot tell whether the generated code is concurrency-safe. This PR modifies the generated code and makes it main-actor-isolated. Since it's only ever used in the program's main function, this is safe.

Note that @main func main() is implicitly main-actor-isolated per SE-0323.

Resolves #7556.

On Linux, Windows, etc. (anywhere that uses swift-corelibs-xctest instead of XCTest.framework), SwiftPM is responsible for generating an entry point function that passes in all tests discovered at compile time. The compiler cannot tell whether the generated code is concurrency-safe. This PR modifies the generated code and makes it main-actor-isolated. Since it's only ever used in the program's main function, this is safe.
@grynspan grynspan added bug concurrency swift test Changes impacting `swift test` tool labels May 15, 2024
@grynspan grynspan self-assigned this May 15, 2024
@grynspan
Copy link
Contributor Author

@swift-ci please test

@grynspan grynspan requested a review from briancroom May 15, 2024 17:29
@grynspan grynspan enabled auto-merge (squash) May 15, 2024 17:57
@grynspan grynspan merged commit 092f80d into main May 15, 2024
@grynspan grynspan deleted the jgrynspan/XCTest-codegen-needs-actor-isolation branch May 15, 2024 19:07
grynspan added a commit that referenced this pull request May 15, 2024
…7566)

On Linux, Windows, etc. (anywhere that uses swift-corelibs-xctest
instead of XCTest.framework), SwiftPM is responsible for generating an
entry point function that passes in all tests discovered at compile
time. The compiler cannot tell whether the generated code is
concurrency-safe. This PR modifies the generated code and makes it
main-actor-isolated. Since it's only ever used in the program's main
function, this is safe.

Resolves #7556.
grynspan added a commit that referenced this pull request May 15, 2024
…ted. (#7569)

Explanation: Ensure that the synthesized entry point for
swift-corelibs-xctest is concurrency-safe by marking it `@MainActor`.
Scope: All XCTest-based tests built/run on non-Darwin platforms.
Original PR: #7566
Risk: Low. The change is necessary to suppress a concurrency diagnostic.
The synthesized `main()` function is implicitly main-actor-isolated.
Testing: Added unit test to check for the diagnostic, verified it did
not occur anymore with the change in place.
Reviewer: @bnbarham, @MaxDesiatov, @stmontgomery, @briancroom
bnbarham added a commit to bnbarham/swift-package-manager that referenced this pull request Jun 2, 2024
…lated. (swiftlang#7566)"

This reverts commit 092f80d.

Amazon Linux 2 has been crashing (see below) in almost every test run
since this change. It appears the crash existed before it, it's just
*much* more consistent now.

Not clear if this is the backtrace every time, it's almost always just
`getrn`, but we have seen this once:
```
 0      0x0000ffffa4e4b948 getrn + 136 in libcrypto.so.1.0.2k
 1 [ra] 0x0000ffffa4e4bddc lh_delete + 55 in libcrypto.so.1.0.2k
 2 [ra] 0x0000ffffa4e4eaac int_thread_del_item + 123 in libcrypto.so.1.0.2k
 3 [ra] 0x0000ffffa4e4f564 ERR_error_string + 151 in libcrypto.so.1.0.2k
 4 [ra] 0x0000ffffa5316d68 Curl_close + 135 in libcurl.so.4.8.0
 5 [ra] 0x0000ffffa52c2374 Curl_conncache_close_all_connections + 371 in libcurl.so.4.8.0
 6 [ra] 0x0000ffffa52f8884 curl_multi_cleanup + 215 in libcurl.so.4.8.0
 7 [ra] 0x0000ffffa7b893b0 URLSession._MultiHandle.deinit + 255 in libFoundationNetworking.so
 8 [ra] 0x0000ffffa7b895ec URLSession._MultiHandle.__deallocating_deinit + 11 in libFoundationNetworking.so
 9 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
10 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
11 [ra] 0x0000ffffa7b7d984 URLSession.deinit + 79 in libFoundationNetworking.so
12 [ra] 0x0000ffffa7b7d9d4 URLSession.__deallocating_deinit + 11 in libFoundationNetworking.so
13 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
14 [ra] 0x0000ffffa8ce9404 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSideTable<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 351 in libswiftCore.so
15 [ra] 0x0000ffffa7b40f9c objectdestroy.11Tm + 23 in libFoundationNetworking.so
16 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
17 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
18 [ra] 0x0000ffffa81c71f0 BlockOperation.__deallocating_deinit + 31 in libFoundation.so
19 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
20 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
21 [ra] 0x0000ffffa7fb5b48 objectdestroy.20Tm + 23 in libFoundation.so
22 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
23 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
24 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
25 [ra] 0x0000ffffa84bedf0 __destroy_helper_block_8_32c35_ZTS29dispatch_block_private_data_s + 91 in libdispatch.so
26 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
27 [ra] 0x0000ffffa84aa96c _dispatch_continuation_pop + 235 in libdispatch.so
28 [ra] 0x0000ffffa84aa79c _dispatch_async_redirect_invoke + 183 in libdispatch.so
29 [ra] 0x0000ffffa84b5c38 _dispatch_worker_thread + 467 in libdispatch.so
30 [ra] 0x0000ffffa78b4230 start_thread + 175 in libpthread-2.26.so
```
bnbarham added a commit to bnbarham/swift-package-manager that referenced this pull request Jun 3, 2024
Reverts unifying `main` to be async.

Amazon Linux 2 has been crashing (see below) in almost every test run since this change. It appears the crash existed before it, it's just *much* more consistent now.

Not clear if this is the backtrace every time, it's almost always just `getrn`, but we have seen this once:
```
 0      0x0000ffffa4e4b948 getrn + 136 in libcrypto.so.1.0.2k
 1 [ra] 0x0000ffffa4e4bddc lh_delete + 55 in libcrypto.so.1.0.2k
 2 [ra] 0x0000ffffa4e4eaac int_thread_del_item + 123 in libcrypto.so.1.0.2k
 3 [ra] 0x0000ffffa4e4f564 ERR_error_string + 151 in libcrypto.so.1.0.2k
 4 [ra] 0x0000ffffa5316d68 Curl_close + 135 in libcurl.so.4.8.0
 5 [ra] 0x0000ffffa52c2374 Curl_conncache_close_all_connections + 371 in libcurl.so.4.8.0
 6 [ra] 0x0000ffffa52f8884 curl_multi_cleanup + 215 in libcurl.so.4.8.0
 7 [ra] 0x0000ffffa7b893b0 URLSession._MultiHandle.deinit + 255 in libFoundationNetworking.so
 8 [ra] 0x0000ffffa7b895ec URLSession._MultiHandle.__deallocating_deinit + 11 in libFoundationNetworking.so
 9 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
10 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
11 [ra] 0x0000ffffa7b7d984 URLSession.deinit + 79 in libFoundationNetworking.so
12 [ra] 0x0000ffffa7b7d9d4 URLSession.__deallocating_deinit + 11 in libFoundationNetworking.so
13 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
14 [ra] 0x0000ffffa8ce9404 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSideTable<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 351 in libswiftCore.so
15 [ra] 0x0000ffffa7b40f9c objectdestroy.11Tm + 23 in libFoundationNetworking.so
16 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
17 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
18 [ra] 0x0000ffffa81c71f0 BlockOperation.__deallocating_deinit + 31 in libFoundation.so
19 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
20 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
21 [ra] 0x0000ffffa7fb5b48 objectdestroy.20Tm + 23 in libFoundation.so
22 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
23 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
24 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
25 [ra] 0x0000ffffa84bedf0 __destroy_helper_block_8_32c35_ZTS29dispatch_block_private_data_s + 91 in libdispatch.so
26 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
27 [ra] 0x0000ffffa84aa96c _dispatch_continuation_pop + 235 in libdispatch.so
28 [ra] 0x0000ffffa84aa79c _dispatch_async_redirect_invoke + 183 in libdispatch.so
29 [ra] 0x0000ffffa84b5c38 _dispatch_worker_thread + 467 in libdispatch.so
30 [ra] 0x0000ffffa78b4230 start_thread + 175 in libpthread-2.26.so
```
bnbarham added a commit to bnbarham/swift-package-manager that referenced this pull request Jun 3, 2024
Reverts unifying `main` to be async.

Amazon Linux 2 has been crashing (see below) in almost every test run since this change. It appears the crash existed before it, it's just *much* more consistent now.

Not clear if this is the backtrace every time, it's almost always just `getrn`, but we have seen this once:
```
 0      0x0000ffffa4e4b948 getrn + 136 in libcrypto.so.1.0.2k
 1 [ra] 0x0000ffffa4e4bddc lh_delete + 55 in libcrypto.so.1.0.2k
 2 [ra] 0x0000ffffa4e4eaac int_thread_del_item + 123 in libcrypto.so.1.0.2k
 3 [ra] 0x0000ffffa4e4f564 ERR_error_string + 151 in libcrypto.so.1.0.2k
 4 [ra] 0x0000ffffa5316d68 Curl_close + 135 in libcurl.so.4.8.0
 5 [ra] 0x0000ffffa52c2374 Curl_conncache_close_all_connections + 371 in libcurl.so.4.8.0
 6 [ra] 0x0000ffffa52f8884 curl_multi_cleanup + 215 in libcurl.so.4.8.0
 7 [ra] 0x0000ffffa7b893b0 URLSession._MultiHandle.deinit + 255 in libFoundationNetworking.so
 8 [ra] 0x0000ffffa7b895ec URLSession._MultiHandle.__deallocating_deinit + 11 in libFoundationNetworking.so
 9 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
10 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
11 [ra] 0x0000ffffa7b7d984 URLSession.deinit + 79 in libFoundationNetworking.so
12 [ra] 0x0000ffffa7b7d9d4 URLSession.__deallocating_deinit + 11 in libFoundationNetworking.so
13 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
14 [ra] 0x0000ffffa8ce9404 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSideTable<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 351 in libswiftCore.so
15 [ra] 0x0000ffffa7b40f9c objectdestroy.11Tm + 23 in libFoundationNetworking.so
16 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
17 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
18 [ra] 0x0000ffffa81c71f0 BlockOperation.__deallocating_deinit + 31 in libFoundation.so
19 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
20 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
21 [ra] 0x0000ffffa7fb5b48 objectdestroy.20Tm + 23 in libFoundation.so
22 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
23 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
24 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
25 [ra] 0x0000ffffa84bedf0 __destroy_helper_block_8_32c35_ZTS29dispatch_block_private_data_s + 91 in libdispatch.so
26 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
27 [ra] 0x0000ffffa84aa96c _dispatch_continuation_pop + 235 in libdispatch.so
28 [ra] 0x0000ffffa84aa79c _dispatch_async_redirect_invoke + 183 in libdispatch.so
29 [ra] 0x0000ffffa84b5c38 _dispatch_worker_thread + 467 in libdispatch.so
30 [ra] 0x0000ffffa78b4230 start_thread + 175 in libpthread-2.26.so
```

(cherry picked from commit e596d28)
shahmishal pushed a commit that referenced this pull request Jun 3, 2024
Reverts unifying `main` to be async.

Amazon Linux 2 has been crashing (see below) in almost every test run
since this change. It appears the crash existed before it, it's just
*much* more consistent now.

Not clear if this is the backtrace every time, it's almost always just
`getrn`, but we have seen this once:
```
 0      0x0000ffffa4e4b948 getrn + 136 in libcrypto.so.1.0.2k
 1 [ra] 0x0000ffffa4e4bddc lh_delete + 55 in libcrypto.so.1.0.2k
 2 [ra] 0x0000ffffa4e4eaac int_thread_del_item + 123 in libcrypto.so.1.0.2k
 3 [ra] 0x0000ffffa4e4f564 ERR_error_string + 151 in libcrypto.so.1.0.2k
 4 [ra] 0x0000ffffa5316d68 Curl_close + 135 in libcurl.so.4.8.0
 5 [ra] 0x0000ffffa52c2374 Curl_conncache_close_all_connections + 371 in libcurl.so.4.8.0
 6 [ra] 0x0000ffffa52f8884 curl_multi_cleanup + 215 in libcurl.so.4.8.0
 7 [ra] 0x0000ffffa7b893b0 URLSession._MultiHandle.deinit + 255 in libFoundationNetworking.so
 8 [ra] 0x0000ffffa7b895ec URLSession._MultiHandle.__deallocating_deinit + 11 in libFoundationNetworking.so
 9 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
10 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
11 [ra] 0x0000ffffa7b7d984 URLSession.deinit + 79 in libFoundationNetworking.so
12 [ra] 0x0000ffffa7b7d9d4 URLSession.__deallocating_deinit + 11 in libFoundationNetworking.so
13 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
14 [ra] 0x0000ffffa8ce9404 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSideTable<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 351 in libswiftCore.so
15 [ra] 0x0000ffffa7b40f9c objectdestroy.11Tm + 23 in libFoundationNetworking.so
16 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
17 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
18 [ra] 0x0000ffffa81c71f0 BlockOperation.__deallocating_deinit + 31 in libFoundation.so
19 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
20 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
21 [ra] 0x0000ffffa7fb5b48 objectdestroy.20Tm + 23 in libFoundation.so
22 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
23 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
24 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
25 [ra] 0x0000ffffa84bedf0 __destroy_helper_block_8_32c35_ZTS29dispatch_block_private_data_s + 91 in libdispatch.so
26 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
27 [ra] 0x0000ffffa84aa96c _dispatch_continuation_pop + 235 in libdispatch.so
28 [ra] 0x0000ffffa84aa79c _dispatch_async_redirect_invoke + 183 in libdispatch.so
29 [ra] 0x0000ffffa84b5c38 _dispatch_worker_thread + 467 in libdispatch.so
30 [ra] 0x0000ffffa78b4230 start_thread + 175 in libpthread-2.26.so
```
shahmishal pushed a commit that referenced this pull request Jun 3, 2024
Reverts unifying `main` to be async.

Amazon Linux 2 has been crashing (see below) in almost every test run
since this change. It appears the crash existed before it, it's just
*much* more consistent now.

Not clear if this is the backtrace every time, it's almost always just
`getrn`, but we have seen this once:
```
 0      0x0000ffffa4e4b948 getrn + 136 in libcrypto.so.1.0.2k
 1 [ra] 0x0000ffffa4e4bddc lh_delete + 55 in libcrypto.so.1.0.2k
 2 [ra] 0x0000ffffa4e4eaac int_thread_del_item + 123 in libcrypto.so.1.0.2k
 3 [ra] 0x0000ffffa4e4f564 ERR_error_string + 151 in libcrypto.so.1.0.2k
 4 [ra] 0x0000ffffa5316d68 Curl_close + 135 in libcurl.so.4.8.0
 5 [ra] 0x0000ffffa52c2374 Curl_conncache_close_all_connections + 371 in libcurl.so.4.8.0
 6 [ra] 0x0000ffffa52f8884 curl_multi_cleanup + 215 in libcurl.so.4.8.0
 7 [ra] 0x0000ffffa7b893b0 URLSession._MultiHandle.deinit + 255 in libFoundationNetworking.so
 8 [ra] 0x0000ffffa7b895ec URLSession._MultiHandle.__deallocating_deinit + 11 in libFoundationNetworking.so
 9 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
10 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
11 [ra] 0x0000ffffa7b7d984 URLSession.deinit + 79 in libFoundationNetworking.so
12 [ra] 0x0000ffffa7b7d9d4 URLSession.__deallocating_deinit + 11 in libFoundationNetworking.so
13 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
14 [ra] 0x0000ffffa8ce9404 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSideTable<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 351 in libswiftCore.so
15 [ra] 0x0000ffffa7b40f9c objectdestroy.11Tm + 23 in libFoundationNetworking.so
16 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
17 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
18 [ra] 0x0000ffffa81c71f0 BlockOperation.__deallocating_deinit + 31 in libFoundation.so
19 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
20 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
21 [ra] 0x0000ffffa7fb5b48 objectdestroy.20Tm + 23 in libFoundation.so
22 [ra] 0x0000ffffa8ce86f8 _swift_release_dealloc + 27 in libswiftCore.so
23 [ra] 0x0000ffffa8ce9290 bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int) + 207 in libswiftCore.so
24 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
25 [ra] 0x0000ffffa84bedf0 __destroy_helper_block_8_32c35_ZTS29dispatch_block_private_data_s + 91 in libdispatch.so
26 [ra] 0x0000ffffa84f4e3c _Block_release + 271 in libBlocksRuntime.so
27 [ra] 0x0000ffffa84aa96c _dispatch_continuation_pop + 235 in libdispatch.so
28 [ra] 0x0000ffffa84aa79c _dispatch_async_redirect_invoke + 183 in libdispatch.so
29 [ra] 0x0000ffffa84b5c38 _dispatch_worker_thread + 467 in libdispatch.so
30 [ra] 0x0000ffffa78b4230 start_thread + 175 in libpthread-2.26.so
```

(cherry picked from commit e596d28)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug concurrency swift test Changes impacting `swift test` tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

allTests generates sendability warnings in Swift 6 snapshots on Linux
3 participants