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