Search Issue Tracker
Fixed
Fixed in 6000.2.3f1, 6000.3.0a6
Votes
3
Found in
6000.0.47f1
6000.1.0b15
6000.2.0a9
6000.3.0a1
Issue ID
UUM-103389
Regression
No
OutOfMemory exception in the console and unreleased memory when baking Adaptive Probe Volumes
How to reproduce:
1. Open the “IN-89082.zip“ project ([https://drive.google.com/drive/folders/1h4A0JN-HU9W2tbhM3GH5aBO688NNjrHu?usp=sharing])
2. Open the “Interlaminar - Observer Web App“ Scene (The scene name is mentioned in the comments)
3. Select the “Adaptive Probe Volume“ GameObject in the Hierarchy
4. In the Inspector, click the “Bake Probe Volumes“
5. Open the Task Manager
6. Wait until the baking seemingly finishes
7. Observe the Task Manager and the Console
Expected results: APVs get baked successfully, memory is released, and nothing is logged in the Console
Actual results: APVs fail to bake, memory is not released, and an “OutOfMemoryException“ is logged in the Console
Reproducible in: 6000.0.47f1, 6000.1.0b15, 6000.2.0a9
Could not test in: 2022.1.0a1, 2022.3.61f1 (No Adaptive Probe Volumes)
Reproduced on: Windows 11 Pro (24H2)
Not reproduced on: No other environment tested
Notes:
- The memory starts building up on the “subdividing cells” portion of the process
- Canceling the baking process during “subdividing cells” does not release the memory either
- Locally tested on a machine with 32GB of RAM
Investigation notes:
* This happens during _placement_ which is part of preparing for baking. When there are 191.983.481 probes in a batch, and thus in a Dictionary<int, int>, adding another entry to the dictionary will cause it to grow beyond 2GB.
* Lifting that restriction will cause {{ApplySubdivisionResults}} to return 212.734.475 positions in a {{NativeList<Vector3>}} with {{Capacity}} = 268.435.456.
* This will then hit an integer overflow bug in {{{}NativeList<T>.NativeArray(){}}}; it should try to {{UnsafeUtility.MemCpy}} 2.552.813.700 bytes, but due to the integer overflow bug it will try to copy -1742153596 bytes.
Comments (2)
-
havokentity
Aug 19, 2025 11:44
Well I have 128 gigs of RAM and a 32 gb 5090 and it still has this issue. Works OK on the Mac.
-
Mashimaro7
May 21, 2025 10:14
Hello, i guess i'm the one who originally reported this. I see it says tested on a machine with 32gb of RAM? I have 40GB and the issue also occurs.
The issue does not occur if the scene is small enough, i'm assuming the bake fails as soon as the memory runs out, so if the scene is small enough for it to finish before it runs out, it bakes just fine(though i think the memory is still never released)
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
- Field is still marked as changed when changed back to its default state in UI Builder
- Crash on UnityEngine.UI.RawImage:OnPopulateMesh when playing Raw Image Texture animation with Sprite keyframes
- 32bit floating point RenderTexture blending feature is not available for WebGPU
- "CommandBuffer: temporary render texture not found while executing" warning is shown when Compatibility Mode is enabled and Camera stacking is used
- NotImplementedException is thrown when using System.String.Replace(String, String, Boolean, CultureInfo)
Resolution Note (fix version 6000.3.0a6):
The limit on the number of probes in Adaptive Probe Volumes has been slightly increased and checks have been introduced so that a descriptive error message will be shown in the console and log when there are too many probes. Generally, in such cases we recommend to reduce density either by adjusting the general Probe Spacing in the Lighting window, or by modifying the Adaptive Probe Volumes in the scene to limit where the denser subdivision levels are used.
Resolution Note (fix version 6000.2.3f1):
The limit on the number of probes in Adaptive Probe Volumes has been slightly increased and checks have been introduced so that a descriptive error message will be shown in the console and log when there are too many probes. Generally, in such cases we recommend to reduce density either by adjusting the general Probe Spacing in the Lighting window, or by modifying the Adaptive Probe Volumes in the scene to limit where the denser subdivision levels are used.