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.

  1. 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.

  2. 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.

Comments (2)

  1. 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.

  2. 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

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.