Search Issue Tracker
By Design
Votes
0
Found in
6000.0.47f1
6000.1.0b15
6000.2.0a9
6000.3.0a1
Issue ID
UUM-103088
Regression
Yes
Mono Memory not being released when instantiating and destroying objects using WebGL
Steps to reproduce:
1. Open the attached “CleanProj_6000.0.zip” project
2. Build the project for WebGL
3. Observe the Mono memory in the build
Expected result: After the assets are removed, the Mono memory decreases
Actual result: After the assets are removed, the Mono memory stays the same
Reproducible in: 6000.0.0b12, 6000.0.47f1, 6000.1.0b15, 6000.2.0a9
Not reproducible in: 2022.3.61f1, 2023.1.0b1
Couldn’t test in: 2023.2.0a1, 6000.0.0b11 (because of build errors)
Reproducible on: Windows 10, Windows 11
Not reproducible on: No other environment tested
Note: After some time it throws an OOM error
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
- Some UXML Template Asset foldouts appear enabled when all fields inside are disabled
- URP Terrain Demo crash on burst_signal_handler after Generating lighting
- Project window button icons are poorly visible and their shades differ in Light theme
- Automatic LOD fails and SRP Batcher incompatibility occurs when using spline-based quad-topology meshes
- Editor crashes on D3D12GetInterface when repeatedly enabling and disabling 256 text components
Resolution Note:
Thank you for reporting a bug to Unity.
After thorough analysis, we have determined that the behavior observed is not a bug but rather a limitation of the Boehm-Demers-Weiser garbage collector that our platform is currently using. This garbage collector operates as a conservative garbage collector, meaning it does not have explicit knowledge of which regions of memory store pointers. As a result, it can occasionally falsely identify certain memory allocations as being referenced, preventing them from being freed.
While this behavior may seem unexpected, it is consistent with the design and functionality of this type of garbage collector. Unfortunately, this limitation is intrinsic to the technology and cannot be modified within the current implementation.
We understand that this may impact certain use cases, and we encourage you to explore alternative approaches or optimizations in your application design to mitigate potential side effects.
Thank you again for taking the time to report this issue, and please let us know if there is anything else that changes the impact or severity of this issue.