Search Issue Tracker

Fixed

Fixed in 2022.2.19f1, 2023.1.0b16, 2023.2.0a13

Votes

1

Found in

2022.2.11f1

2023.1.0b8

2023.2.0a6

Issue ID

UUM-30449

Regression

No

[Android][URP] Android application crashes when SRP batcher is enabled with OpenGLES3

--

-

Steps to reproduce:
1. Open the attached user's project "idle_2.0v1.zip"
2. Ensure the app is not already installed (this seems to give the best results)
3. Install and run it on an Android device
4. App will jump around a very stripped-down scene, and usually crash within 5 minutes
5. If it does not crash within 5 minutes, repeat from Step 2
6. Observe the app crash

Expected results: The application does not crash
Actual Results: Android application crashes when SRP batcher is enabled with OpenGLES3

Reproducible: URP 14.0.6 - 16.0.0 (2022.2.11f1, 2023.1.0b8, 2023.2.0a6)
Could not test on: 2020.3.46f1 and 2021.3.20f1 due to URP and Terrain Tool package errors when downgrading

Reproducible on these devices (OpenGLES 3):
N/A, Samsung Galaxy Note9 (SM-N9600), Android 9, CPU: Snapdragon 845 SDM845, GPU: Adreno (TM) 630
N/A, Google Pixel 3 (Pixel 3), Android 12, CPU: Snapdragon 845, GPU: Adreno (TM) 630
N/A, Samsung - (SM-G991U), Android 12, CPU: Snapdragon 888, GPU: Adreno (TM) 660
Customer devices:
Sony Xperia 10 III, Google Pixel 2 XL, Samsung Galaxy S21 Ultra

Environment: Windows 10 22H2

Notes:
-Crash does not reproduce with Vulkan
-Disabling SRP Batcher via the "URP-Performant" settings object seems to stop the crash
-Usually, the crash happens in the span of 5s - 15mins
-Note that the attached project uses a custom shader, but replacing it with a default URP SimpleLit only delays the crash and makes reproduction more difficult
-Crash is not exclusive to Development Build
-Android Logcat first 5 lines of the stack trace, full log is attached as "crash.txt"
at libunity.GfxDeviceGLES::DrawBuffersBatchMode(GfxBatchHeader const&)(DrawBuffersBatchMode:180)
at libunity.ScriptableBatchRenderer::RenderMultipleMeshes(RenderNodeQueue const&, BatchInstanceDataSRPB const*, int, VertexInputMasks)(RenderMultipleMeshes:4812)
at libunity.ScriptableBatchRenderer::Flush(BatchBreakCause)(Flush:76)
at libunity.ScriptableRenderLoopDrawSRPBatcher(ScriptableLoopObjectData const*, unsigned long, SharedRendererScene const&, DrawRenderersCommand const&, ShaderPassContext&, GfxDevice&, int, BatchRendererGroupMetadataCacheContext const*)(ScriptableRenderLoopDrawSRPBatcher:1536)
at libunity.ScriptableRenderLoopDrawDispatch(ScriptableLoopObjectData const*, unsigned long, SharedRendererScene const&, DrawRenderersCommand const&, ShaderPassContext&, GfxDevice&, int, BatchRendererGroupMetadataCacheContext const*)(ScriptableRenderLoopDrawDispatch:256)

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.