Search code examples
iosxcodecoronasdkcrash-reportschartboost

splashboardd SIGABRT crash in IOS -- what could it mean?


I'm running corona SDK with a chartboost plugin, and I'm experiencing crashes about 20% of the time at startup, when I try to initialize the plugin (which I can't edit, I don't have the source).

Here's the symbolicated crash report: http://pastebin.com/id1AsjmN

I've been reading up a little on how to make sense of these crash reports, and from what I understand, these two frames in the main thread:

9   CoreFoundation                      0x295d9008 +[NSException raise:format:arguments:] + 100
10  Foundation                          0x2a2d8bc4 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 88

Are the most critical to understanding my problem. How can I understand what these lines mean? The "object:file:lineNumber:description:" and "raise:format:arguments:" business seems almost cruel, because I feel like those should be filled in with information that would help me -- what class, and line number we're talking about. Am I right? Are these placeholders in the error message? What am I not grokking here? Is there ANY way of knowing where this error came from?


Solution

  • It's not symbolicated crash log. To be more precise, partially symbolicated.

    9   CoreFoundation                      0x295d9008 +[NSException raise:format:arguments:] + 100
    10  Foundation                          0x2a2d8bc4 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 88
    11  UIKit                               0x2d00946e -[UINib initWithNibName:directory:bundle:] + 158
    12  UIKit                               0x2d00955c +[UINib nibWithNibName:bundle:] + 56
    13  splashboardd                        0x000bee8c 0xbc000 + 11916
    

    Somewhere in your splashboard code something is called (0x000bee8c 0xbc000 + 11916 - not symbolicated). This calls +[UINib nibWithName:bundle:], which calls -[UINib initWithNibName:directory:bundle:], which causes your crash.

    Google for How to symbolicate crash log and when you'll succeed, 0xbc000 + 11916 will be replaced with class name, method name, line number, ... That's the place where the problem is. Also that's the reason why you should keep debug symbols for your app as well. To be able to symbolicate it.

    Also sometimes there's useful info in console as well. Additional messages, which can help you with debugging.