Search Issue Tracker
Fixed
Fixed in 2022.3.61f1
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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Add comment