iOS Question Need a little help understanding a crash log

cwt

Active Member
Licensed User
Longtime User
I finally was able to symbolicate the crash logs from the Apple review of my app - which crashes on load. There are 4 crash logs. I followed the tutorial on this but need some help in understanding the results. Below are the symbolicated Last Exception Backtrace from each of the 4 crash logs. These are in time stamp order. From my understanding of the tutorial, any line with a modulename.m:xxx is an error - is that correct?

I am using KSCrash, so this line "-[ResumableSub_main_SendReportsIfNeeded resume::] (in CommPayPro) (b4i_main.m:139)" refers to that. Is this an actual error? Here is the line from the KSCrash Sub - no = no.Initialize("KSCrash").RunMethod("sharedInstance", Null)

I added KSCrash to the app using the tutorial verbatem.

This line "-[b4i_lead_remove_records _deleteleads:::::::] (in CommPayPro) (b4i_lead_remove_records.m:280)" is very confusing - this code module is not called on app launch. So how could it possibly cause a crash on load?

Thanks for any help on this.

Crash Log #1
Last Exception Backtrace:
(0x19200286c
+[B4ICustomViewWrapper build:::] (in CommPayPro) + 1112
-[B4ISpanMark init:::] (in CommPayPro) + 320
-[ResumableSub_main_SendReportsIfNeeded resume::] (in CommPayPro) (b4i_main.m:139)
-[b4i_lead_remove_records _deleteleads:::::::] (in CommPayPro) (b4i_lead_remove_records.m:280)
-[B4IViewWrapper setUserInteractionEnabled:] (in CommPayPro) + 88
-[B4IViewWrapper SetShadow:::::] (in CommPayPro) + 68
-[B4IMediaPlayer Initialize::::] (in CommPayPro) + 408
-[b4i_animatedcounter _class_globals] (in CommPayPro) (b4i_animatedcounter.m:186)
0x191c376b0)

Crash Log #2
Last Exception Backtrace:
(0x19200286c
+[B4ICustomViewWrapper build:::] (in CommPayPro) + 1112
-[B4ISpanMark init:::] (in CommPayPro) + 320
-[ResumableSub_main_SendReportsIfNeeded resume::] (in CommPayPro) (b4i_main.m:139)
-[b4i_lead_remove_records _deleteleads:::::::] (in CommPayPro) (b4i_lead_remove_records.m:280)
-[B4IViewWrapper setUserInteractionEnabled:] (in CommPayPro) + 88
-[B4IViewWrapper SetShadow:::::] (in CommPayPro) + 68
-[B4IMediaPlayer Initialize::::] (in CommPayPro) + 408
-[b4i_animatedcounter _class_globals] (in CommPayPro) (b4i_animatedcounter.m:186)
0x191c376b0)

Crash Log #3
Last Exception Backtrace:
(0x19e38d86c
-[B4ISQL getLock] (in CommPayPro) + 160
-[B4ISQL ExecQuery2::] (in CommPayPro) + 76
-[b4i_main _createreporter] (in CommPayPro) (b4i_main.m:542)
-[b4i_main _application_start:] (in CommPayPro) (b4i_main.m:274)
+[B4I runDynamicMethod:method:throwErrorIfMissing:args:] (in CommPayPro) + 1608
-[B4I raiseEvent:eventarams:] (in CommPayPro) + 548
-[B4IAppDelegate application:didFinishLaunchingWithOptions:] (in CommPayPro) + 1148
main (in CommPayPro) (main.m:16)
0x19dfc26b0)

Crash Log #4
Last Exception Backtrace:
(0x19e38d86c
-[B4ISQL getLock] (in CommPayPro) + 160
-[B4ISQL ExecQuery2::] (in CommPayPro) + 76
-[b4i_main _createreporter] (in CommPayPro) (b4i_main.m:542)
-[b4i_main _application_start:] (in CommPayPro) (b4i_main.m:274)
+[B4I runDynamicMethod:method:throwErrorIfMissing:args:] (in CommPayPro) + 1608
-[B4I raiseEvent:eventarams:] (in CommPayPro) + 548
-[B4IAppDelegate application:didFinishLaunchingWithOptions:] (in CommPayPro) + 1148
main (in CommPayPro) (main.m:16)
0x19dfc26b0)
 
Last edited:

cwt

Active Member
Licensed User
Longtime User
The logs don't really make sense. As I wrote before, it doesn't look like the IPA matches the crash reports.

The log excerpts above are correct - I made sure to save the archive and source code after submitting to Apple and before making any changes to the app.

I found the problem after much work. The crash is caused by KSCrash - isn't that ironic, the crash reporter is making my app crash. I completely removed KSCrash from the app and then it passed Apple's review immediatley. I had implemented KSCrash verbatim, as shown in your tutorial - I double checked my implementation many times to make sure it was right. I had added KSCrash exactly as you instructed - and the app never crashed for me during testing, in both debug and release modes, with airplane mode both on and off. It only crashed for Apple. And with KSCrash still in the app, I was able to make KSCrash send me crash reports by intentionally adding bugs, such as setting various indexes out of range, so KSCrash was working and doing its job, just not for the Apple review.

As you can see below, the crash log points to this:

This line in the crash log "-[ResumableSub_main_SendReportsIfNeeded resume::] (in CommPayPro) (b4i_main.m:139)"

The above line refers to the line from the KSCrash Sub: no = no.Initialize("KSCrash").RunMethod("sharedInstance", Null)

Well, I learned a lot about crash logs, symbolicating, and analyzing the results. Apple must have thought they were dealing with an idiot as it took me 4 submissions to Apple before the app passed.
 
Upvote 0
Top