Search Issue Tracker

Won't Fix

Votes

0

Found in

2021.3.35f1

2022.3.20f1

2023.2.11f1

2023.3.0b8

Issue ID

UUM-64689

Regression

No

Nested coroutines get stopped when calling StopCoroutine()

--

-

Steps to reproduce:
1. Open the attached "bug-stopcoroutine-2022.3.zip" project
2. Open the "Assets/Scenes/SampleScene" scene
3. Enter the Play Mode
4. Observe the Console

Expected results: StopCoroutine() only stops the specified coroutine and does not affect nested coroutines
Actual results: StopCoroutine() stops nested coroutines

Reproducible with: 2021.3.35f1, 2022.3.20f1, 2023.2.11f1, 2023.3.0b8

Reproducible on: Windows 11 Pro, MacOS 13.6.4 (user's)
Not reproducible on: No other environments tested

Notes:
- Calling StopCoroutine() immediately after StartCoroutine() is synthetic and only used to surface the problem
- Expected log:
UnityWebRequestTest.Start()
ImageAssetBundleLoader.StartLoad()
AssetBundleManager.LoadAssetBundle started...
AssetBundleManager.DownloadOrLoadFromCacheBundle started...
RestHandler.SendWorker started...
AssetBundleRestWorker.Send started...
AssetBundleRestWorker.Send completed!
RestHandler.SendWorker completed!
AssetBundleManager.DownloadOrLoadFromCacheBundle completed!
- Actual log:
UnityWebRequestTest.Start()
ImageAssetBundleLoader.StartLoad()
AssetBundleManager.LoadAssetBundle started...
AssetBundleManager.DownloadOrLoadFromCacheBundle started...
RestHandler.SendWorker started...
AssetBundleRestWorker.Send started...
- The issue can be circumvented using "WORKAROUND_1" in "AssetBundleManager.cs" or "WORKAROUND_2" in "AssetBundleRestWorker.cs"
- The issue does not occur in the 2019.4 stream according to the user

  1. Resolution Note:

    This is by design and changing the behaviour of how stopping coroutines works would be a major breaking change.

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.