AIR Crash on iPad

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

AIR Crash on iPad

bilbosax
So, my first AIR app is complete and I am in the process of profiling it
before I submit it to the various App Stores. On Android, I ran it for over
an hour with no crashes or hangups, although looking at Scout, its memory
seems to run awfully high IMO.  When it reaches around 550MB, AIR kicks it
back down to 200MB with garbage collection. It usually hangs out around
200-350MB on Android.

Apple is a different story.  It just crashes randomly, after 10 minutes,
after 20 minutes.  The crashes happen around 370MB, but I am not convinced
that it is a memory issue.  Looking at the various crash reports generated
by the iPad, I have attached five different crashes that I logged.  In my
estimation, Apple is kicking the app out because it is not responding to
something in the appropriate amount of time, but I have not a clue what it
is, how to debug it, or where to look to address it.  Please let me know if
you have any experience with this at all as I really feel lost at this
level.

Thanks!

*
Log 1:
*

Incident Identifier: 473BFE42-EE9B-446E-88C2-FF07573FD341
CrashReporter Key:   4b6e6a5c7a0dd42aa5f46933ea8e9e76f089bbac
Hardware Model:      iPad3,3
Process:             RealDeals [5042]
Path:              
/var/containers/Bundle/Application/CCF0C452-56B6-4562-8B87-559184AC4B56/RealDeals.app/RealDeals
Identifier:          com.RealDeals.tablet
Version:             1.0.0 (1.0.0)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2017-10-10 00:11:14.14 -0400
Launch Time:         2017-10-10 00:10:31.31 -0400
OS Version:          iOS 9.3.5 (13G36)
Report Version:      105

Exception Type:  00000020
Exception Codes: 0x000000008badf00d
Exception Note:  SIMULATED (this is NOT a crash)
Highlighted by Thread:  0

Application Specific Information:
com.RealDeals.tablet failed to exit after 5.00s

Elapsed total CPU time (seconds): 2.250 (user 2.250, system 0.000), 23% CPU
Elapsed application CPU time (seconds): 0.339, 3% CPU

Filtered syslog:
None found

*
Log 2:
*

Incident Identifier: 2C20580A-15A3-4B1B-B84C-8F3E9152A5FA
CrashReporter Key:   4b6e6a5c7a0dd42aa5f46933ea8e9e76f089bbac
Hardware Model:      iPad3,3
Process:             RealDeals [4028]
Path:              
/var/containers/Bundle/Application/572A85B9-4C40-42B7-8E72-44FA0A4955DB/RealDeals.app/RealDeals
Identifier:          com.RealDeals.tablet
Version:             1.0.0 (1.0.0)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2017-10-05 19:40:50.50 -0400
Launch Time:         2017-10-05 19:35:13.13 -0400
OS Version:          iOS 9.3.5 (13G36)
Report Version:      105

Exception Type:  00000020
Exception Codes: 0x000000008badf00d
Exception Note:  SIMULATED (this is NOT a crash)
Highlighted by Thread:  0

Application Specific Information:
<BKNewProcess: 0x15531de0; com.RealDeals.tablet; pid: 4028; hostpid: -1> has
active assertions beyond permitted time:
{(
    <BKProcessAssertion: 0x15634080> id:
47-7C43F87B-C8D2-4041-AE31-1191FF9F89E3 name: Deliver Message process:
<BKNewProcess: 0x15531de0; com.RealDeals.tablet; pid: 4028; hostpid: -1>
permittedBackgroundDuration: 10.000000 reason: suspend owner pid:47
preventSuspend  preventThrottleDownCPU  preventThrottleDownUI
preventSuspendOnSleep ,
    <BKProcessAssertion: 0x15523d10> id:
47-3565E3B3-74C1-48F9-80B0-C942970BFBEB name: Suspending process:
<BKNewProcess: 0x15531de0; com.RealDeals.tablet; pid: 4028; hostpid: -1>
permittedBackgroundDuration: 10.000000 reason: suspend owner pid:47
preventSuspend  preventThrottleDownCPU  preventThrottleDownUI
preventSuspendOnSleep
)}

Elapsed total CPU time (seconds): 20.110 (user 20.110, system 0.000), 6% CPU
Elapsed application CPU time (seconds): 11.832, 3% CPU

Filtered syslog:
None found

*
Log 3:
*

Incident Identifier: A88DE2B8-9241-4C28-AD52-AB02905EB348
CrashReporter Key:   4b6e6a5c7a0dd42aa5f46933ea8e9e76f089bbac
Hardware Model:      iPad3,3
Process:             RealDeals [648]
Path:              
/var/containers/Bundle/Application/29E5AFCC-E342-4FDC-9C66-AD2A64E31BFB/RealDeals.app/RealDeals
Identifier:          com.RealDeals.tablet
Version:             1.0.0 (1.0.0)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2017-09-05 21:31:00.00 -0400
Launch Time:         2017-09-05 21:26:43.43 -0400
OS Version:          iOS 9.3.5 (13G36)
Report Version:      105

Exception Type:  00000020
Exception Codes: 0x000000008badf00d
Exception Note:  SIMULATED (this is NOT a crash)
Highlighted by Thread:  0

Application Specific Information:
com.RealDeals.tablet failed to scene-update after 10.00s

Elapsed total CPU time (seconds): 2.900 (user 2.900, system 0.000), 14% CPU
Elapsed application CPU time (seconds): 0.664, 3% CPU

Filtered syslog:
None found

*
Log 4:
*

Incident Identifier: 05320FA3-4935-4524-9848-957123C5AB11
CrashReporter Key:   4b6e6a5c7a0dd42aa5f46933ea8e9e76f089bbac
Hardware Model:      iPad3,3
Process:             RealDeals [550]
Path:              
/var/containers/Bundle/Application/BC8FACEE-BC28-4680-A614-781C66BCD98C/RealDeals.app/RealDeals
Identifier:          com.RealDeals.tablet
Version:             1.0.0 (1.0.0)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2017-09-05 14:42:56.56 -0400
Launch Time:         2017-09-05 14:41:41.41 -0400
OS Version:          iOS 9.3.5 (13G36)
Report Version:      105

Exception Type:  00000020
Exception Codes: 0x000000008badf00d
Exception Note:  SIMULATED (this is NOT a crash)
Highlighted by Thread:  0

Application Specific Information:
com.RealDeals.tablet failed to exit after 5.00s

Elapsed total CPU time (seconds): 2.000 (user 2.000, system 0.000), 20% CPU
Elapsed application CPU time (seconds): 0.359, 4% CPU

Filtered syslog:
None found

*
Log 5:
*

Incident Identifier: 99F1A75A-C0F5-4B8C-ABF2-0FB5A82DCFCB
CrashReporter Key:   4b6e6a5c7a0dd42aa5f46933ea8e9e76f089bbac
Hardware Model:      iPad3,3
Process:             RealDeals [511]
Path:              
/var/containers/Bundle/Application/57E26CED-D184-4F41-B056-7B7E39E24011/RealDeals.app/RealDeals
Identifier:          com.RealDeals.tablet
Version:             1.0.0 (1.0.0)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2017-09-05 13:29:56.56 -0400
Launch Time:         2017-09-05 13:28:25.25 -0400
OS Version:          iOS 9.3.5 (13G36)
Report Version:      105

Exception Type:  00000020
Exception Codes: 0x000000008badf00d
Exception Note:  SIMULATED (this is NOT a crash)
Highlighted by Thread:  0

Application Specific Information:
com.RealDeals.tablet failed to exit after 5.00s

Elapsed total CPU time (seconds): 2.160 (user 2.160, system 0.000), 22% CPU
Elapsed application CPU time (seconds): 0.358, 4% CPU

Filtered syslog:
None found





--
Sent from: http://apache-flex-users.2333346.n4.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: AIR Crash on iPad

jmclean
Administrator
Hi,

>  Looking at the various crash reports generated
> by the iPad, I have attached five different crashes that I logged.  In my
> estimation, Apple is kicking the app out because it is not responding to
> something in the appropriate amount of time, but I have not a clue what it
> is, how to debug it, or where to look to address it.

Looks that this is the case - see [1].

Sorry it’s a little hard to suggest how to track this downs other than to play with the application and see if you can reproduce it. I you can reproduce perhaps remove the frequency of calls to the backend and see if that helps? Or perhaps it could be related to calls that return a large amount of information and take a long time to parse the result? Perhaps your server is overloaded? Do you log any information on long requests server side? From a quick look it looks like 10 seconds is the magic value. Also looks like the program is trying to do too much when it is running in the background, try to reduce what it does when it is in this state. It seem 10 seconds is the magic time out from those error messages.

Good luck!
Justin

1. https://stackoverflow.com/questions/36838146/what-does-simulated-this-is-not-a-crash-mean-in-ios-crash-report
Reply | Threaded
Open this post in threaded view
|

Re: AIR Crash on iPad

bilbosax
Thanks for the reply Justin.  I don't think that the problem is calls to my
server, or any overloading of my server, first because I am the only one
using it, two because I purposely limit the amount of data that I request,
and three because I am using AMF so it is fast.  There are only two things
that I feel it could possibly be if it is timing out or something.

1) This is a real estate app, and it uses a webview to display a google map
in it.  I use markers in the map.  I wouldn't have thought that it was the
map because it is not locked up or unresponsive when the app crashes, and I
thought that all the calls were asyncronous.

2) When a user clicks on a property, up to 30 images are downloaded and
cached for display.  I do not supply the images, they come from the local
MLS. Perhaps they are not downloading in a timely fashion or something. I am
not sure what my options are here.  I HAVE to have the images.  Perhaps i
could fashion some sort of timeout on image loading, and if it fails, recall
the load until the image actually finishes???

So the map and the image loader is where I am going to start, because I
really doubt that my AMF backend service calls are the bottleneck.  Those
are my thoughts.

Let me know if you have any other ideas!

Thanks



--
Sent from: http://apache-flex-users.2333346.n4.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: AIR Crash on iPad

bilbosax
So I got a little advice on another board that GPU renderMode, while fast,
can often run out of memory fast when working with a large number of big
photos and a lot of screen changes.  I am running my app in Direct
renderMode and so far, have not experienced any crashes.  But there is a
noticeable performance hit.

I would absolutely love to keep my app running in GPU renderMode. I don't
think my app is failing due to a memory leak or faulty coding yet.  I think
that the GPU is running out of processing memory due to all of the images my
app processes.  So here is a follow-up question.  How effective is forcing
garbage collection, and does it effect the memory in the GPU as well???



--
Sent from: http://apache-flex-users.2333346.n4.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: AIR Crash on iPad

bilbosax
For anybody who may ever run into this problem, I solved it by setting the
rendermode to "direct".  I had it set on "gpu", which improved the
performance of my application tremendously, especially when scrolling lists
that contained images.  It made it very smooth and I wish that I could
continue to keep the rendermode set to "gpu".  Sadly, that is what was
causing my app to lock up or crash.  As soon as I changed this back to
"direct", Adobe's recommended setting for mobile, I ran the app for over an
hour with not a single hangup or crash.

I want my cake and to eat it too LOL!!!



--
Sent from: http://apache-flex-users.2333346.n4.nabble.com/