Search Issue Tracker
Fixed in 2020.3.38f1
Fixed in 2020.3.X, 2021.3.X, 2022.1.X, 2022.2.X, 2023.1.X, 2023.1.0a1
Votes
0
Found in
2022.1.3f1
2022.2.0a14
2023.1.0a1
Issue ID
UUM-607
Regression
Yes
[IL2CPP] Player hangs for 20 seconds after closing it when running threads
Reproduction steps:
1. Open the user's attached "SlowShutdown.zip" project
2. Go to Edit > Project Settings > Player > Other Settings > Configuration and make sure IL2CPP is set as Scripting Backend
3. Build and Run for PC, Mac & Linux Standalone
4. After the project is built and the Player opens, close it
Expected result: Player closes instantly
Actual result: Player hangs and closes after 20 seconds
Reproducible with: 2021.1.0a8, 2021.3.3f1, 2022.1.1f1, 2022.2.0a14
Not reproducible with: 2019.4.39f1, 2020.3.34f1, 2021.1.0a7
Not reproducible with: Mono Scripting Backend
Tested and reproduced 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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note (fix version 2020.3):
In 2020.3 the player didn't hang for 20 seconds, but has the same underlying issue. The issue is that IL2CPP leaks an internal thread object each time a thread is created. The shutdown code in 2021.2+ caused these leaked thread objects to slow the player close.
So this fix only cleans up that memory leak (which is relatively small).