Search Issue Tracker
By Design
By Design in 2023.1.X
Votes
0
Found in
2023.1.0a4
Issue ID
UUM-9868
Regression
Yes
Getting a null exception when catching awaited Task cancelation
Reproduction steps:
1. Open the user's attached project
2. Open Window > General > Test Runner
3. In the Test Runner window select PlayMode and click "Run All"
Expected result: The "TaskException_IsHandledSynchronously" test fails
Actual result: The "TaskException_IsHandledSynchronously" test is successful
Reproducible with: 2021.2.0a18, 2021.3.6f1, 2022.1.9f1, 2022.2.0b1, 2023.1.0a3
Not reproducible with: 2020.3.37f1, 2021.2.0a17
Reproducible with: Windows 10
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Economy package throws a CS0619 error in the Console when installed together with Deployment package
- “Screen position out of view frustum” errors are thrown when zooming out in the Scene view with Rect Tool selected
- Only one [UnityOneTimeSetUp] method runs when there are 2 of them in different classes
- Crash with multiple stack traces when Sprites with a high resolution get Sliced to a Grid with a small cell size in the Sprite Editor
- The UI Builder's Data Source Object picker cannot be navigated after triggering a circular dependency dialog box
Resolution Note:
This is actually a fix coming from a Mono update to align await behavior with CoreCLR. Any "await" statement that is not already completed have there continuation scheduled using the current execution context, even if the SetResult or SetException call raising completion happens from the same thread.
So in that case, the test check for the exception while the task has not ran to completion
Resolution Note (2023.1.X):
This is actually a fix coming from a Mono update to align await behavior with CoreCLR. Any "await" statement that is not already completed have there continuation scheduled using the current execution context, even if the SetResult or SetException call raising completion happens from the same thread.
So in that case, the test check for the exception while the task has not ran to completion