Apps can be restarted by system, thus restart GPS Location services

Originator:cgodefroy
Number:rdar://11106944 Date Originated:2012-03-23
Status:Open Resolved:
Product:iOS Product Version:5.0
Classification:Power Reproducible:YES
 
Summary:
Launch an app that uses GPS. Exit it. After several hours or days, realize that your iPhone is using GPS and discover that this app is guilty.

Steps to Reproduce:

Launch an app that uses GPS. 
Exit it (App stops Location Services when sent to background). 
Use other apps that use a lot of RAM and go from app to app
The app is jettisoned (goes from background to killed)
The system relaunches the app

IF gps is started in ApplicationDidFinishLaunching, locationServices are launched with GPS mode despite the user not requesting the app to receive GPS updates.


Expected Results:
A jettisoned app shouldn't be relaunched


Actual Results:
In some cases, with certain background keys, an app can be relaunched by the system, like if there was a watchdog.



Here is the log where you can see the app being restarted:

 
Mar  5 15:15:40 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created
Mar  5 15:15:40 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:fr.ecomposite.Trainer[0xc499]) Exited: Killed: 9
Mar  5 15:15:40 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.tapbots.Tweetbot[0x8adb]) Exited: Killed: 9
Mar  5 15:15:40 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilesafari[0x4d33]) Exited: Killed: 9
Mar  5 15:15:41 unknown SpringBoard[15] <Warning>: Application '321Run' exited abnormally with signal 9: Killed: 9
Mar  5 15:15:41 unknown ReportCrash[11278] <Error>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2012-03-05-151541.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0
Mar  5 15:15:42 unknown SpringBoard[15] <Warning>: Application 'Tweetbot' exited abnormally with signal 9: Killed: 9
Mar  5 15:15:42 unknown SpringBoard[15] <Warning>: Application 'Safari' exited abnormally with signal 9: Killed: 9
Mar  5 15:15:42 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created
Mar  5 15:15:42 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.path.Path[0x19de]) Exited: Killed: 9
Mar  5 15:15:42 unknown kernel[0] <Debug>: launchd[11281] Builtin profile: container (sandbox)
Mar  5 15:15:42 unknown kernel[0] <Debug>: launchd[11281] Container: /private/var/mobile/Applications/38DF67E7-B3E8-465D-A2C3-6BBA8127F76F [69] (sandbox)
Mar  5 15:15:42 unknown SpringBoard[15] <Warning>: Application 'Path' exited abnormally with signal 9: Killed: 9
Mar  5 15:15:43 unknown com.apple.locationd[27] <Notice>: NOTICE,Location icon should now be visible
Mar  5 15:15:43 unknown com.apple.SpringBoard[15] <Notice>: CoreAnimation: timed out fence 4118b
Mar  5 15:15:44 unknown UIKitApplication:com.apple.camera[0x6019][11277] <Notice>: wait_fences: failed to receive reply: 10004003
Mar  5 15:15:44 unknown com.apple.SpringBoard[15] <Notice>: CoreAnimation: timed out fence ffffffff
Mar  5 15:15:44 unknown com.apple.SpringBoard[15] <Notice>: send_reply: failed to send reply to 0x40b77: 10000003
Mar  5 15:15:44 unknown com.apple.SpringBoard[15] <Notice>: send_reply: failed to send reply to 0x40b77: 10000003
Mar  5 15:15:44 unknown Trainer[11281] <Warning>: (00376dd0.0186)-[Trainer application:didFinishLaunchingWithOptions:] DEVICE HAS BTLE SUPPORT
Mar  5 15:15:44 unknown Trainer[11281] <Warning>: [RunalyzerAPI][NFO] Runalyzer API loaded.
Mar  5 15:15:44 unknown Trainer[11281] <Warning>: (00376dd0.1453)-[Trainer hardwareConnector:stateChanged:] HardwareConnector stateChanged
Mar  5 15:15:44 unknown Trainer[11281] <Warning>: (00376dd0.1473)-[Trainer connectAvailableSensors] Connecting all Sensors
Mar  5 15:15:44 unknown Trainer[11281] <Warning>: (00376dd0.1491)-[Trainer connectHeartRateSensor] Connecting a Heart rate sensor
Mar  5 15:15:44 unknown Trainer[11281] <Warning>: (00376dd0.1508)-[Trainer connectFootPodSensor] Connecting a Stride sensor


Here are the background keys used in the app:

<array>
<string>location</string>
<string>external-accessory</string>
<string>audio</string>
<string>bluetooth-central</string>
</array>

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!