How to analyse iPhone crash log with JSON

5.3k views Asked by At

I got a crash log like this:

{"timestamp":"2017-01-05 22:29:03.03 +0800","bug_type":"298","os_version":"iPhone OS 9.3.2 (13F69)"}
{
 "crashReporterKey" : "6e088e6d206ce6025a40eacd5ea68779dc5ac344",
 "kernel" : "Darwin Kernel Version 15.5.0: Mon Apr 18 16:44:06 PDT 2016; root:xnu-3248.50.21~4\/RELEASE_ARM64_T7000",
 "product" : "iPhone7,2",
 "incident" : "C106CE8A-F492-47FF-BEA9-293E6ACFE201",
 "date" : "2017-01-05 22:29:03.03 +0800",
 "build" : "iPhone OS 9.3.2 (13F69)",
 "timeDelta" : 3377,
 "memoryStatus" : {
 "compressorSize" : 30099,
 "pageSize" : 4096,
 "compressions" : 719018,
 "memoryPages" : {
   "active" : 33364,
   "throttled" : 0,
   "fileBacked" : 24001,
   "wired" : 169666,
   "anonymous" : 27027,
   "purgeable" : 6,
   "inactive" : 15716,
   "free" : 2836,
   "speculative" : 1948
 },
 "uncompressed" : 81552,
 "decompressions" : 333878
},
 "largestProcess" : "MYAPP",
 "processes" : [
 {
   "rpages" : 556,
   "states" : [
     "daemon",
     "idle"
   ],
   "name" : "assetsd",
   "pid" : 839,
   "reason" : "vm-pageshortage",
   "fds" : 50,
   "uuid" : "MYUUID",
   "purgeable" : 0,
   "cpuTime" : 0.373819,
   "lifetimeMax" : 970
 },
 {
   "rpages" : 231,
   "states" : [
     "daemon",
     "idle"
   ],
   "name" : "followupd",
   "pid" : 851,
   "reason" : "vm-pageshortage",
   "fds" : 50,
   "uuid" : "MYUUID",
   "purgeable" : 0,
   "cpuTime" : 0.04115,
   "lifetimeMax" : 487
 }, 

and a lot more...

There is no need to symbolize it since there is no call stack shown.

And I was just running my app to play video for like one hour, then this crash came out.

It is not every time but quite often.

How should I read such kind of log?

Can anyone explain me which of all the keys are important and what they mean in the big json?

2

There are 2 answers

0
dahiya_boy On BEST ANSWER

@dstudeba is right, when you playing the video your CPU memory consumption is more then it is expected. Sometimes it is happened

  1. when there is bulk of data coming from the server.
  2. when you does not managed the memory in your app.

For more details : Analyzing Crash Reports and MemoryMgmt

0
dstudeba On

Your App crashed because it ran out of memory. I don't know what your app does, but it either has a memory leak or is not monitoring/releasing memory properly.

Under reason it says [vm-pageshortage] according to the Apple documentation it is "The process was killed due to memory pressure."

You can read Apple's documentation on crash reports here: https://developer.apple.com/library/content/technotes/tn2151/_index.html