Search Issue Tracker
Fixed in Unity 5.3.6
[iOS] Crash on presentRenderbuffer:GL_RENDERBUFFER in PresentGles when loading a scene on A9 devices
1. Build and deploy the project attached to the comment to an iPhone 6S.
2. Press the home button and reopen the app (might be necessary to repeat this several times (up to 5-10)).
The app crashes in PresentGles / [surface->context presentRenderbuffer:GL_RENDERBUFFER];
The scene which is loaded only has a mesh with a standard shader and a script which continuously switches between it and another scene with a canvas and an UI image.
Could only reproduce on an iPhone 6s, so this might be A9 specific, couldn't reproduce on:
iPhone 6+ iOS 9.0
iPhone 6+ iOS 8.0
iPad mini 4 iOS 9.0
iPad mini 2 iOS 9.0
Only reproducible with GLES2, no crash when using Metal
Seems to be an A9 driver issues, we've submitted a bug to apple:
Radar: 23225771 Crash in EAGL presentRenderBuffer when awaking from backgrounded state
and we're waiting for their response.
Apple have fixed this bug in the upcoming iOS 9.3.3.
The bug in the current iOS is related to accessing mips in cubemap textures, so work arounds for supporting devices before this update include not using cubemaps and using legacy cubemap assets (which allow mipmaps to be turned off).
Unfortunately, even with the fix in the new iOS, it is still possible to get crashes on A9/A9x devices when using openGLES. These cases seem to be related to reflection probes and can be avoided by marking reflection probe textures as uncompressed. We are continuing to investigate and talk to Apple about these remaining crashes.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Unity crash in SerializedFile::ReadMetadata<false> when AssetBundle. LoadFromMemory() is called
- ProceduralMaterial.ClearCache() on "Do Nothing" Substance triggers RebuildTextures
- Setting "Default Behavior Mode" to "2D" breaks HDR rendering
- Crash in GdipCreateBitmapFromStream when calling System.Drawing.Bitmap constructor
- DLL files are not excluded during building for standalone platform, even though they are selected to be excluded