{"action":"closed","issue":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4544","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4544/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4544/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4544/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/4544","id":115803929,"number":4544,"title":"iOS - Background Apps May Not Execute Commands on the Graphics Hardware","user":{"login":"danoli3","id":830748,"avatar_url":"https://avatars.githubusercontent.com/u/830748?v=3","gravatar_id":"","url":"https://api.github.com/users/danoli3","html_url":"https://github.com/danoli3","followers_url":"https://api.github.com/users/danoli3/followers","following_url":"https://api.github.com/users/danoli3/following{/other_user}","gists_url":"https://api.github.com/users/danoli3/gists{/gist_id}","starred_url":"https://api.github.com/users/danoli3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danoli3/subscriptions","organizations_url":"https://api.github.com/users/danoli3/orgs","repos_url":"https://api.github.com/users/danoli3/repos","events_url":"https://api.github.com/users/danoli3/events{/privacy}","received_events_url":"https://api.github.com/users/danoli3/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"state":"closed","locked":false,"assignee":{"login":"danoli3","id":830748,"avatar_url":"https://avatars.githubusercontent.com/u/830748?v=3","gravatar_id":"","url":"https://api.github.com/users/danoli3","html_url":"https://github.com/danoli3","followers_url":"https://api.github.com/users/danoli3/followers","following_url":"https://api.github.com/users/danoli3/following{/other_user}","gists_url":"https://api.github.com/users/danoli3/gists{/gist_id}","starred_url":"https://api.github.com/users/danoli3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danoli3/subscriptions","organizations_url":"https://api.github.com/users/danoli3/orgs","repos_url":"https://api.github.com/users/danoli3/repos","events_url":"https://api.github.com/users/danoli3/events{/privacy}","received_events_url":"https://api.github.com/users/danoli3/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/18","html_url":"https://github.com/openframeworks/openFrameworks/milestones/0.9.1","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/18/labels","id":893717,"number":18,"title":"0.9.1","description":"","creator":{"login":"kylemcdonald","id":157106,"avatar_url":"https://avatars.githubusercontent.com/u/157106?v=3","gravatar_id":"","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User","site_admin":false},"open_issues":20,"closed_issues":17,"state":"open","created_at":"2014-12-06T03:28:44Z","updated_at":"2015-11-09T15:22:50Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-11-09T06:05:39Z","updated_at":"2015-11-09T15:22:50Z","closed_at":"2015-11-09T15:22:50Z","body":"Just a small bug, happening every now and then.\r\n\r\n<img width=\"420\" alt=\"screen shot 2015-11-09 at 5 52 25 pm\" src=\"https://cloud.githubusercontent.com/assets/830748/11027567/b98628e2-870a-11e5-92cd-b65f67d0c0e3.png\">\r\n\r\n``` libGPUSupportMercury.dylib: gpus_ReturnNotPermittedKillClient + 12 ```\r\n\r\nBackgrounded App's will be terminated by iOS due to oF app delegate not calling a glFinish command in the following places:\r\n\r\n- In your app delegate’s applicationWillResignActive: method, your app should stop its animation timer (if any), place itself into a known good state, and then call the glFinish function.\r\n- In your app delegate’s applicationDidEnterBackground: method, your app may want to delete some of its OpenGL ES objects to make memory and resources available to the foreground app. Call the glFinish function to ensure that the resources are removed immediately.\r\n\r\nhttps://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/ImplementingaMultitasking-awareOpenGLESApplication/ImplementingaMultitasking-awareOpenGLESApplication.html#//apple_ref/doc/uid/TP40008793-CH5-SW1\r\n\r\nCauses about 1 in 1000 backgrounded app crashes, due to a possible GL command being called after the backgrounding.\r\n\r\nWe are correctly stopping the animation timer. However need to call this glFinish to properly secure it won't happen.\r\n"}}