Search Issue Tracker
In Progress
Fix In Review for 2022.3.X
Votes
0
Found in
2022.3.59f1
Issue ID
UUM-98083
Regression
No
[IL2CPP-GarbageCollector] Changing GCMode might permanently disable GC in a multithreaded context
Reproduction steps:
1. Open the attached “TestGCMode.zip” project
2. Make sure the “Architecture” is set to “Apple silicon“ and “Development Build” checkbox is enabled in the Build Settings (File > Build Settings)
3. Build And Run the project
4. Press the buttons in this order “DONT GC TEST” > “Disabled” > “Enabled”
5. Observe the two text numbers below the buttons (the top is used heap memory and the bottom is the reserved heap memory).
6. Repeat steps 4 and 5 until the repro occurs
Expected result: GCMode will not disable GC permanently, garbage collection works as expected
Actual result: The numbers below the buttons will not go down at all after waiting for a while, GCMode will disable GC permanently because of another thread temporarily configuring the GC state
Reproducible with: 2022.3.59f1 (Custom build)
Reproducible on: M1 Max MacOS 15.1.1
Not reproducible on: No other environment tested
Note:
- Even if you try to click on the button GC.Collect, both numbers will not go down. This means that the GC has been disabled permanently
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Tooltip messages should be presented in human language not in code strings
- [Linux] Editor doesn’t auto reload when an Asset is imported or a Script is changed
- MouseDownEvent is triggered when changing from Scene view to Game view
- "GlobalObjectIdentifierToObjectSlow" returns Null when retrieving "GlobalObjectId" from GameObject inside a Prefab
- Shader is invisible in the Build when using BiRP on Meta Quest 2
Add comment