Help! Live app crashing with weird errors for some people

An app I did for a client is crashing on some devices at start up. We managed to get a console log from one of the people crashing and got this set of error messages:

Sep 19 09:17:35 unknown FireRescue[3111] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:17:35 unknown FireRescue[3111] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:17:36 unknown wifid[13] <error>: WiFi:[369753456.316822]: Client itunesstored is background application<br>Sep 19 09:17:39 unknown FireRescue[3111] <warning>: Unbalanced calls to begin/end appearance transitions for <appviewcontroller:>.<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.164 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.302 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.347 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br>Sep 19 09:17:39 unknown mediaserverd[32] <warning>: 09:17:39.417 <systemsoundserver> WARNING translating CMSession error: -12985 <br>Sep 19 09:17:39 unknown FireRescue[3111] <warning>: Error setting audio session active to 1! '!cat'<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.453 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br>Sep 19 09:17:40 unknown kernel[0] <debug>: launchd[3114] Builtin profile: container (sandbox)<br>Sep 19 09:17:40 unknown kernel[0] <debug>: launchd[3114] Container: /private/var/mobile/Applications/852AD258-DC87-4ECD-8CA9-0A8D67B20A7B [69] (sandbox)<br>Sep 19 09:17:40 unknown FireRescue[3114] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:17:40 unknown FireRescue[3114] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:17:43 unknown FireRescue[3114] <warning>: Unbalanced calls to begin/end appearance transitions for <appviewcontroller:>.<br></appviewcontroller:></warning></error></error></debug></debug></error></warning></systemsoundserver></warning></error></error></error></appviewcontroller:></warning></error></error></error>

There appears to be two things going on. One is in the audiio system, the other is with this libMobileGestalt thing.

Here are the audio messages extracted:

Sep 19 09:17:39 unknown FireRescue[3111] <warning>: Unbalanced calls to begin/end appearance transitions for <appviewcontroller:>.<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.164 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.302 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.347 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br>Sep 19 09:17:39 unknown mediaserverd[32] <warning>: 09:17:39.417 <systemsoundserver> WARNING translating CMSession error: -12985 <br>Sep 19 09:17:39 unknown FireRescue[3111] <warning>: Error setting audio session active to 1! '!cat'<br>Sep 19 09:17:39 unknown mediaserverd[32] <error>: 09:17:39.453 &lt;0x3700000&gt; AudioQueue: Error -12985 from AudioSessionSetClientPlayState(3111)<br></error></warning></systemsoundserver></warning></error></error></error></appviewcontroller:></warning>

Any ideas on whats going on there? Doesn’t seem to be a crash in there.

Now for the other issue, here is additional messages later on that don’t appear to be coming from our app, but . . .

Sep 19 09:19:18 unknown lockdownd[26] <notice>: 00381000 store_escrow_record: Creating escrow bag (hash=8380925052c935429314102ec5178c8ee4c170d0) for 4C8D18BF-81C1-423B-B4C5-AE1F33251F84<br>Sep 19 09:19:19 unknown lockdownd[26] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:19:20 unknown lockdownd[26] <error>: libMobileGestalt copyMobileEquipmentIdentifier: No MEID in CT mobile equipment info dictionary - <cfbasichash>{type = mutable dict, count = 5,<br>	entries =&gt;<br> 1 : <cfstring>{contents = "kCTMobileEquipmentInfoCurrentSubscriberId"} = <cfstring>{contents = "310410458423496"}<br> 2 : <cfstring>{contents = "kCTMobileEquipmentInfoCurrentMobileId"} = <cfstring>{contents = "012656001647200"}<br> 4 : <cfstring>{contents = "kCTMobileEquipmentInfoICCID"} = <cfstring>{contents = "89014103254584234961"}<br> 11 : <cfstring>{contents = "kCTMobileEquipmentInfoIMEI"} = <cfstring>{contents = "012656001647200"}<br> 12 : <cfstring>{contents = "kCTMobileEquipmentInfoIMSI"} = <cfstring>{contents = "310410458423496"}<br>	}<br>Sep 19 09:19:20 unknown lockdownd[26] <notice>: 00381000 copy_meid: MobileGestalt failed to provide an MEID but returned no error (?)<br>Sep 19 09:19:20 unknown atc[3124] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:19:21 unknown wifid[13] <error>: WiFi:[369753561.408326]: Client itunesstored is background application<br>Sep 19 09:19:22 unknown lockdownd[26] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:19:26 unknown lockdownd[26] <error>: libMobileGestalt copyMobileEquipmentIdentifier: No MEID in CT mobile equipment info dictionary - <cfbasichash>{type = mutable dict, count = 5,<br>	entries =&gt;<br> 1 : <cfstring>{contents = "kCTMobileEquipmentInfoCurrentSubscriberId"} = <cfstring>{contents = "310410458423496"}<br> 2 : <cfstring>{contents = "kCTMobileEquipmentInfoCurrentMobileId"} = <cfstring>{contents = "012656001647200"}<br> 4 : <cfstring>{contents = "kCTMobileEquipmentInfoICCID"} = <cfstring>{contents = "89014103254584234961"}<br> 11 : <cfstring>{contents = "kCTMobileEquipmentInfoIMEI"} = <cfstring>{contents = "012656001647200"}<br> 12 : <cfstring>{contents = "kCTMobileEquipmentInfoIMSI"} = <cfstring>{contents = "310410458423496"}<br>	}<br>Sep 19 09:19:26 unknown lockdownd[26] <notice>: 00403000 copy_meid: MobileGestalt failed to provide an MEID but returned no error (?)<br>Sep 19 09:19:54 unknown lockdownd[26] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>Sep 19 09:20:05 unknown lockdownd[26] <error>: libMobileGestalt computeUniqueDeviceID: total time for bb to return imei: 0<br>&gt; <br> [import]uid: 19626 topic_id: 31148 reply_id: 331148[/import] </error></error></notice></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfbasichash></error></error></error></error></notice></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfstring></cfbasichash></error></error></notice>

Yep. Looks like an audio OS/hardware type error to me. Your app does use audio, yes? Hardcore? (Multiple sounds/data types at once?) Do you have a “Disable” audio feature in your app? Some devs do not initialize the audio system at all if the volume is set to zero, so as to not interfere with ipod music, etc If audio is disabled in your app, do they still get the audio errors/crash?

The other issue looks like some problem getting the device identifier, perhaps some compatibility problem between the OS and your particular corona version (well, the release version they are running)…

Some questions that might help Joshua et al:

  • What precisely causes the crash to happen?
  • What OS version are the problem devices running? What kind of devices are they (all iPods?) What build of Corona SDK was their app compiled with?
  • Are the devices jailbroken? (might have device ID issues in that case, and/or outdated drivers for audio) [import]uid: 79933 topic_id: 31148 reply_id: 124584[/import]

Yes, the game does use sounds. I have a background track on channel 1, voice overs on channel 2, and sound effects either on 3 or 4.

However, only a sfx sound on channel 3 starts playing in the “splash” scene, which I’m not getting too yet apparently. The background music doesn’t start until they hit the play button on the splash screen.

In main.lua I do load two of the SFX sounds (that are used through out the app) and the background track, but I don’t start playing them. All other sounds, like the VO’s and other effects are loaded and unloaded in their appropriate storyboard scene.

I do have audio.pause/resume code around system start/resume, but this app is set to exit on suspend, so I shoudn’t get any resume’s.

I do play a .m4v movie in main.lua as the loading screen.

This has worked on every device we’ve tested it on:

The testing hardware includes an iPad 1, iPad 3, iPhone 3Gs, iPhone4 and I think a 4s. OS’s have ranged from 5.1.1 to iOS6 Beta’s. I’m not sure if my client has a 4.3 based device or not (that’s the minimum in my build.config and we are building with the latest stable, if not a more recent daily build)

I just got an email from the client and it’s failing on an iPad3, so that rules out it being old hardware/software. [import]uid: 19626 topic_id: 31148 reply_id: 124589[/import]

Your client said it fails on the iPad3, but your testing hardware includes an iPad3 and it works fine? That’s weird.

If you can find the differences between your iPad3 and your clients, you may find the problem.

What corona build EXACTLY are they using (the release you made)?
Were there any audio updates to the SDK since that release build?
Is the corona version used for the release build newer than the release date of the iPad3?
They aren’t running iOS6 on that iPad3 are they? I understand you need the very latest daily build to make a good build for iOS 6…

[import]uid: 79933 topic_id: 31148 reply_id: 124590[/import]

What corona build EXACTLY are they using (the release you made)?
I’m not sure. For this client, I deliver them the source and then they build and upload from their account. I try to keep them updated, so I’ll have to find out.

Were there any audio updates to the SDK since that release build?
I’m not sure. Guess I need to research it.

Is the corona version used for the release build newer than the release date of the iPad3?
Most certainly.

They aren’t running iOS6 on that iPad3 are they? I understand you need the very latest daily build to make a good build for iOS 6…

I doubt the people having problems (non-developers) have access to iOS6. I have iOS6 on my devices, but my client most likely does not.
[import]uid: 19626 topic_id: 31148 reply_id: 124594[/import]

They are building your source… You are a brave man providing support for that :slight_smile: (no wonder “miracle” is in your name, heh)

Best I can guess with limited info (which you have as well, since they are in charge of which random builds/releases are installed on which devices…) that it’s a miracle if you don’t have (practically untraceable by you) compatibility problems as the number of builds across devices multiplies.

I would recommend you put a version # on your splash or title screen so you at least know what version of your source problem devices are running (in case some are older source versions).

Don’t know how to print the builds corona sdk version on the screen though… Worst case you could ask them to type it in to a file that the app prints onscreen with the source version number (so you’d know later, when they call with problems)… [import]uid: 79933 topic_id: 31148 reply_id: 124598[/import]

Yep. Looks like an audio OS/hardware type error to me. Your app does use audio, yes? Hardcore? (Multiple sounds/data types at once?) Do you have a “Disable” audio feature in your app? Some devs do not initialize the audio system at all if the volume is set to zero, so as to not interfere with ipod music, etc If audio is disabled in your app, do they still get the audio errors/crash?

The other issue looks like some problem getting the device identifier, perhaps some compatibility problem between the OS and your particular corona version (well, the release version they are running)…

Some questions that might help Joshua et al:

  • What precisely causes the crash to happen?
  • What OS version are the problem devices running? What kind of devices are they (all iPods?) What build of Corona SDK was their app compiled with?
  • Are the devices jailbroken? (might have device ID issues in that case, and/or outdated drivers for audio) [import]uid: 79933 topic_id: 31148 reply_id: 124584[/import]

Yes, the game does use sounds. I have a background track on channel 1, voice overs on channel 2, and sound effects either on 3 or 4.

However, only a sfx sound on channel 3 starts playing in the “splash” scene, which I’m not getting too yet apparently. The background music doesn’t start until they hit the play button on the splash screen.

In main.lua I do load two of the SFX sounds (that are used through out the app) and the background track, but I don’t start playing them. All other sounds, like the VO’s and other effects are loaded and unloaded in their appropriate storyboard scene.

I do have audio.pause/resume code around system start/resume, but this app is set to exit on suspend, so I shoudn’t get any resume’s.

I do play a .m4v movie in main.lua as the loading screen.

This has worked on every device we’ve tested it on:

The testing hardware includes an iPad 1, iPad 3, iPhone 3Gs, iPhone4 and I think a 4s. OS’s have ranged from 5.1.1 to iOS6 Beta’s. I’m not sure if my client has a 4.3 based device or not (that’s the minimum in my build.config and we are building with the latest stable, if not a more recent daily build)

I just got an email from the client and it’s failing on an iPad3, so that rules out it being old hardware/software. [import]uid: 19626 topic_id: 31148 reply_id: 124589[/import]

Your client said it fails on the iPad3, but your testing hardware includes an iPad3 and it works fine? That’s weird.

If you can find the differences between your iPad3 and your clients, you may find the problem.

What corona build EXACTLY are they using (the release you made)?
Were there any audio updates to the SDK since that release build?
Is the corona version used for the release build newer than the release date of the iPad3?
They aren’t running iOS6 on that iPad3 are they? I understand you need the very latest daily build to make a good build for iOS 6…

[import]uid: 79933 topic_id: 31148 reply_id: 124590[/import]

What corona build EXACTLY are they using (the release you made)?
I’m not sure. For this client, I deliver them the source and then they build and upload from their account. I try to keep them updated, so I’ll have to find out.

Were there any audio updates to the SDK since that release build?
I’m not sure. Guess I need to research it.

Is the corona version used for the release build newer than the release date of the iPad3?
Most certainly.

They aren’t running iOS6 on that iPad3 are they? I understand you need the very latest daily build to make a good build for iOS 6…

I doubt the people having problems (non-developers) have access to iOS6. I have iOS6 on my devices, but my client most likely does not.
[import]uid: 19626 topic_id: 31148 reply_id: 124594[/import]

They are building your source… You are a brave man providing support for that :slight_smile: (no wonder “miracle” is in your name, heh)

Best I can guess with limited info (which you have as well, since they are in charge of which random builds/releases are installed on which devices…) that it’s a miracle if you don’t have (practically untraceable by you) compatibility problems as the number of builds across devices multiplies.

I would recommend you put a version # on your splash or title screen so you at least know what version of your source problem devices are running (in case some are older source versions).

Don’t know how to print the builds corona sdk version on the screen though… Worst case you could ask them to type it in to a file that the app prints onscreen with the source version number (so you’d know later, when they call with problems)… [import]uid: 79933 topic_id: 31148 reply_id: 124598[/import]