Skip to content

Conversation

@kavon
Copy link
Member

@kavon kavon commented Apr 25, 2022

Cherry-pick of #58397

β€’ Explanation: In rare situations, a miscompilation of async ObjC calls can lead to a runtime crash during the resumption of a task.
β€’ Origination: Regression introduced in solving SR-15703 (#41571)
β€’ Risk: Low. The primary risk is this PR reverts the fix for SR-15703, where an async-throws call to an ObjC method would not resume on the correct executor. The trade-off is that this bug is more of a show-stopper than being on an incorrect executor.

Resolves rdar://91502776

kavon added 2 commits April 25, 2022 12:25
…ows call"

This reverts commit afd26d3 to solve
a critical miscompile caused by a hop_to_executor appearing between
a get_continuation and await_continuation instruction in SIL.

A reimplementation of SR-15703 will be forthcoming.

Fixes rdar://91502776
This reverts commit 01d470c.

Just to be safe, I'm reverting this part of swiftlang#41571
as well, until it can be reimplemented in light of issues where a hop
can appear between a get_continuation and an await_continuation

resolves rdar://91502776
@kavon kavon requested a review from a team as a code owner April 25, 2022 19:27
@kavon
Copy link
Member Author

kavon commented Apr 25, 2022

@swift-ci please test

@kavon kavon added concurrency Feature: umbrella label for concurrency language features r5.7 pending approval labels Apr 26, 2022
@shahmishal shahmishal added this to the Swift 5.7 milestone Apr 27, 2022
@kavon
Copy link
Member Author

kavon commented Apr 27, 2022

We decided this is not the right fix for this issue. It is also rare and has a known workaround. For now, closing this and starting work on a proper fix. Stage 1 is to use this instead: #58477

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

concurrency Feature: umbrella label for concurrency language features πŸ’ release cherry pick Flag: Release branch cherry picks swift 5.7

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants