Trailing painter tasks while in background (iOS)
mathieugarcia opened this issue · 3 comments
mathieugarcia commented
On iOS, sending the current app into background will result in an assert/app termination.
Some rendering jobs are still being executed, hence making OpenGL calls, which is prohibited by iOS background app policy.
mathieugarcia commented
Some more information about this issue:
Backtrace (nglRenderThread)
* thread #32: tid = 0x63db7, 0x0000000191c35f08 libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient + 12, stop reason = EXC_BAD_ACCESS (code=1, address=0x1)
frame #0: 0x0000000191c35f08 libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient + 12
frame #1: 0x0000000191c36ec4 libGPUSupportMercury.dylib`gpusSubmitDataBuffers + 172
frame #2: 0x0000000195e5b1e4 GLEngine`gliPresentViewES_Exec + 176
frame #3: 0x0000000195e5b0fc GLEngine`gliPresentViewES + 84
frame #4: 0x00000001857d7c44 OpenGLES`-[EAGLContext presentRenderbuffer:] + 72
frame #5: 0x0000000102a500e0 libglInterpose.dylib`EAGLContext_presentRenderbuffer(EAGLContext*, objc_selector*, unsigned long) + 360
* frame #6: 0x0000000100d640fc BeatMaker 3`nglWindow::EndSession(this=0x00000001410a5d80) + 612 at nglWindow_UIKit.mm:864
frame #7: 0x00000001009e39a4 BeatMaker 3`nuiRenderThread::_StartRendering(this=0x0000000141164c70, x=0, y=0) + 3036 at nuiRenderThread.cpp:254
frame #8: 0x0000000100404c5c BeatMaker 3`nuiFastDelegate2<unsigned int, unsigned int, void>::operator(this=0x00000001410b6d58, p1=0, p2=0)(unsigned int, unsigned int) const + 156 at nuiFastDelegate.h:1102
frame #9: 0x00000001009eb244 BeatMaker 3`nuiTask2<unsigned int, unsigned int, void>::Execute(this=0x00000001410b6d30) const + 64 at nuiTask.h:174
frame #10: 0x0000000100a17204 BeatMaker 3`nuiTask::Run(this=0x00000001410b6d30) const + 64 at nuiTask.h:68
frame #11: 0x00000001009e2c9c BeatMaker 3`nuiRenderThread::OnStart(this=0x0000000141164c70) + 168 at nuiRenderThread.cpp:55
frame #12: 0x0000000100b26548 BeatMaker 3`nglThreadPrivate::Start(pThread=0x0000000141164c70) + 52 at nglThread_posix.cpp:25
frame #13: 0x0000000100b26270 BeatMaker 3`start_thread(arg=0x0000000141164c70) + 120 at nglThread_posix.cpp:66
frame #14: 0x00000001832dfb28 libsystem_pthread.dylib`_pthread_body + 156
frame #15: 0x00000001832dfa8c libsystem_pthread.dylib`_pthread_start + 156
frame #16: 0x00000001832dd028 libsystem_pthread.dylib`thread_start + 4
mathieugarcia commented
It happened while pressing the power button on my iPad, while the app was running.
mathieugarcia commented
Still problematic. One of the top crash from our app.