Skip to content
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

[4.4 dev2] ResourceLoader: load() and load_threaded_request() causes hang when called from a non-main thread in certain cases #97052

Closed
raccoon-path opened this issue Sep 15, 2024 · 3 comments

Comments

@raccoon-path
Copy link

Tested versions

  • Reproducible: v4.4.dev2.official [97ef3c8]
  • Not reproducible: v4.4.dev1 and earlier

System information

Vulkan 1.3.280 - Forward+ INVIDIA GeForce RTX 4070, AMD Ryzen 7 2700 3.20 GHz, Windows 10 Pro 22H2

Issue description

When calling load() or load_threaded_request() methods from a non-main thread, it sometimes hangs without throwing an error in certain cases in version 4.4-dev2, whereas it works fine in 4.4-dev1.

It's possible that a deadlock(?) occurs in certain cases during the resource loading and caching process, depending on the loading sequence and combination of resources in the scene(?)
P.S. Based on my observations, if a scene contains a 3D-GUI (created following the 'GUI in 3D' tutorial), the probability of hanging in 4.4-dev2 is close to 100%. Additionally, if a scene contains complex CSG geometry (with a large number of combiners), hanging also occurs, but rarely and random. In 4.4-dev1, I did not experience a single hang during the entire testing period.

Steps to reproduce

  • Open project in 4.4-dev2. Run Level1, Level2 directly from editor (Always OK). Now, play and try to load levels from the main menu. The Level1 button works, Level2 loading hangs, Level2 (load_threaded_request) works. Transition between Level1 и Level2 - hangs (because loading initiated from non-main thread)
  • Open the attached project in 4.4-dev1. Run the scenes by pressing buttons in main menu. The Level1, Level2, and Level2 (load_threaded_request) buttons work as expected, all loading fine and transitions between locations work correctly.

Minimal reproduction project (MRP)

240915_MRP_loadbug.zip

@AThousandShips
Copy link
Member

This project is very much not minimal, please upload a minimal project with everything unnecessary stripped

@RandomShaper
Copy link
Member

#96904 fixed this.

@raccoon-path
Copy link
Author

raccoon-path commented Sep 16, 2024

I can confirm, problem fixed, v4.4.dev.custom_build #97077.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Unassessed
Development

No branches or pull requests

3 participants