Search Issue Tracker

Active

Under Consideration for 6000.0.X

Votes

1

Found in

6000.0.23f1

6000.1.0a7

Issue ID

UUM-84210

Regression

No

"Awaitable.BackgroundThreadAsync()" method prevents exiting a function scope when the function scope produces too few jobs

--

-

How to reproduce:
1. Open the “AwaitableBug.zip“ project
2. Open the “SampleScene“
3. Enter Play Mode
4. Observe the Console

Expected results: 8 messages are logged
Actual results: 3 messages are logged (Gets stuck in the function scope of the “Awaitable Begin()“ method)

Reproducible in: 6000.0.23f1
Could not reproduce in: 2021.3.45f1, 2022.3.50f1 (no Awaitable Class)

Reproduced on: Windows 11 Pro (23H2)
Not reproduced on: No other environment tested

Workaround:
- Create some “Debug.Log()” methods after “Awaitable.BackgroundThreadAsync()“ call (3 should suffice)

Notes:
- Adding more “Debug.Log()“ methods will lessen the chance of reproduction
- I estimate that the “Awaitable.BackgroundThreadAsync()“ keeps waiting until the background ThreadPool receives at least one job
- The more jobs exist, the less likely it is for the issue to occur
- The issue does not reproduce on a build (although it is likely possible, with few enough jobs)
- The issue does not reproduce 100% of the time
- Reproduction can be tried again by exiting the Play Mode and repeating steps 3 and 4

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.