Search Issue Tracker

Active

Under Consideration 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

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.