Search Issue Tracker
Fixed in 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.
- Warning says instancing will be disabled when used with static batching but it is still working and breaking result object color
- GL viewport is wrongly scaled when there's a camera which has a partial viewport
- [TestRunner] NUnit tests doesn't time out when [Timeout()] attribute is set
- When "draw instanced" is changed for entire terrain group and then undone, it is only undone for the terrain that was selected
- Custom Inspectors OnDisable still called after Asset has been deleted