Search Issue Tracker
Won't Fix
Votes
2
Found in
2022.3.65f1
6000.0.55f1
6000.2.0f1
6000.3.0a4
6000.4.0a1
Issue ID
UUM-113826
Regression
No
[Android][Vulkan] Application crashes with out of memory when warming up a specific shader on some of the Adreno devices
How to reproduce:
1. Open the “Repro.zip“ project
2. Open the “SampleScene“
3. Build and Run for Android
4. Press the “WarmUp 1000“ button
5. Wait for a few seconds
Expected result: Application does not crash
Actual result: Application crashes due to running out of memory
Reproducible with: 2022.3.13f1, 2022.3.65f1, 6000.0.55f1, 6000.1.15f1, 6000.2.0f1 (eed1c594c913), 6000.3.0a4
Could not test with: 2021.3.55f1, 2022.1.0a15, 2022.2.0a5 ("ShaderVariantCollection.WarmUpProgressively" is not available and is required for reproduction), 2022.3.0f1 (Build fails with error "CommandInvokationFailure: Failed to update Android SDK package list.")
Reproducible environment: macOS 15.4.1 (M4 Max)
Not reproducible environment: No other environment tested
Reproducible with these devices:
VLNQA00344, Note20 Ultra 5G USA (SM-N986W), CPU: Snapdragon 865 SM8250, GPU: Adreno 650, OS: 11
VLNQA00368, Galaxy Z Fold2 5G (SM-F916B), CPU: Snapdragon 865 SM8250, GPU: Adreno 650, OS: 11
VLNQA00375, Galaxy S21 Plus 5G (SM-G996U), CPU: Snapdragon 888, GPU: Adreno 660, OS: 11 (silently crashes)
VLNQA00481, Samsung Galaxy S20 FE 5G (SM-G781B), CPU: Snapdragon 865 SM8250, GPU: Adreno 650, OS: 11 (silently crashes)
VLNQA00319, Google - (Pixel 4), Android 13, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640 (Silently crashes)
Not reproducible with these devices:
VLNQA00335, Samsung Galaxy S20+ 5G (SM-G986B), Android 10, CPU: Exynos 990, GPU: Mali-G77
VLNQA00640, Samsung Galaxy S25 Ultra (SM-S938B), CPU: Snapdragon 9 Elite (SM8750), GPU: Adreno 830, OS: 15
VLNQA00642, Google Pixel 9a (Pixel 9a), CPU: Google Tensor G4 (GS401), GPU: Mali-G715, OS: 15
VLNQA00629, Galaxy S25 (SM-S931B), CPU: Snapdragon 9 Elite (SM8750), GPU: Adreno 830, OS: 15
Notes:
- Reproduces with Vulkan only, does not reproduce with OpenGLES3 Graphic API
- It might require you to repeat steps 4 and 5 a few times to reproduce the issue
- If the issue does not reproduce for the first one/two times, close the app and open it again, it will reproduce
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
- Opening Terrain Prefab in Prefab Editing Mode throws "NullReferenceException" error
- [Search] Dragging query pills put them behind the search text field
- A CustomPropertyDrawer that returns a PropertyField for a property named the same as a child field will not render all child fields
- Graphics Settings shows default values instead of the real values in the Rendering Debugger when Volume.profile is assigned via script
- Deleting multiple Tags throws “NullReferenceException”, and "Retrieving array element that was out of bounds" errors when holding the Enter key
Resolution Note:
The shader used by the user has significant memory requirements to be loaded into GPU memory. With the addition of over 1,000 variants, the application reaches the Android process memory limit, resulting in an out-of-memory error. Adreno devices referenced in the report, such as the Samsung S10 and S20, include a feature to track internal Vulkan object memory. Devices lacking this feature obscure memory usage details, often displaying lower usage figures. Our internal testing indicates that this crash is independent of GPU vendor. Currently, depending on GPU drivers, a shader may request up to 6 MB of memory to be loaded. We recommend rewriting the generic custom shader into multiple, more specific shaders.